Forum: PC Hard- und Software smb bzw. ssh-Mount puffern


von M. M. (maik3)


Lesenswert?

Hallo,

ich habe ein NAS, darauf liegen meine ganzen Dateien (oh Wunder ;-) ).

Weiter hab ich einen Raspi samt Fernseher. Ziel ist es, Fotos aus einem 
Ordner vom NAS anzuzeigen. Das Setup auf dem Raspi ist sehr 
minimalistisch: X, ein nacktes Openbox + feh als Bildbetrachter.
Evtl. teste ich mal ob ich ganz ohne X auskomme.
Die Ordner vom NAS sind per smb am Raspi gemountet. Denkbar wäre aber 
auch ein Mount per sshfs falls das Vorteile böte.
Es ist leider keine Option die Fotos direkt am Raspi vorzuhalten.

Grundsätzlich läuft alles. Die technische Umsetzung ist kein Problem.
Allerdings lädt feh die Fotos stark verzögert. Schuld ist wahrscheinlich 
das grottige Wlan über das die Fotos geladen werden. Am Einsatzort steht 
leider kein Netzwerk zur Verfügung. Die Fotos stammen größtenteils vom 
Smartphone und haben ca. 5Mb.
Im Diashow-Modus ist das kein Problem aber es gibt auch die Möglichkeit, 
per Tastatur Fotos vor- und zurückzuschalten. Und da stört es natürlich 
wenn es ein paar Sekunden dauert bis die Anzeige reagiert.

Habt ihr da eine Idee?
Gibt es unter Unixoiden die Möglichkeit, einen Ordner in den RAM oder so 
zu puffern?
Alternativ könnte man beim Starten von feh den anzuzeigenden Ordner 
(oder teile davon) in ein RAM-Verzeichnis kopieren. Der Pi4 hat ja 
gottseidank relativ viel RAM.

Wie würdet ihr das machen?

: Bearbeitet durch User
von Oliver S. (phetty)


Lesenswert?

Das Linuxcaching ist normalerweise ganz gut. Du könntest probieren beim 
Start das entfernte Verzeichnis, also die Dateien einzulesen. Einfach 
for i in . do cat $i > /dev/null; done

Dann müsste erstmal alles im Cache liegen sofern genug RAM zur Verfügung 
steht.
Ausprobieren hilft.

von 🐧 DPA 🐧 (Gast)


Lesenswert?


von Jim M. (turboj)


Lesenswert?

Sicher das es das Netzwerk und nicht die relativ langsame CPU im RPi 
ist?

Kopier mal 1-2 Dateien lokal und schau an wie lange es dauert die 
anzuzeigen.

von San Miguel de Joker (Gast)


Lesenswert?

SMB und SSH sind beide nicht so toll wenn du einzelne Dateien anrufst, 
da hast du relativ viel Overhead.

NFS kann besser sein, probier das Mal, wobei das konzeptuell eher alles 
schlecht ist für einzelne kleine Dateien.

Ich würde den Ansatz von Gallerien im Netz verfolgen: auf einem HTTP 
Server wie nginx den Kram ablegen mit einem passenden Fotoalbum 
Framework. Die sind nämlich bereits für limitierte Bandbreite ausgelegt 
und man kann ggf. die Bilder für eine schnelle Navigation in einem 
schnell darstellbaren Format parallel ablegen.

von Εrnst B. (ernst)


Lesenswert?

feh hat eine Kommandozeilen-Option "-p / --preload"

Vielleicht reicht die schon, um möglichst viel vorab in den Cache zu 
bekommen.
1
-p, --preload
2
Preload images. This doesn't mean hold them in RAM, it means run through them and eliminate unloadable images first. Otherwise they will be removed as you flick through. This also analyses the images to get data for use in sorting, such as pixel size, type etc. A preload run will be automatically performed if you specify one of these sort modes.

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

M. M. schrieb:
> Die Fotos stammen größtenteils vom
> Smartphone und haben ca. 5Mb.

Eventuell zuvor einmalig die Fotos auf die für den Fernseher notwendige 
Größe Skalieren (einmalig von einem "Großen Rechner" aus). Dann den 
Ordner mit diesen und nicht den Originalen verwenden. So hast du dann 
einige wenige 100Kb und der PI bracht da auch nicht mehr drauf 
rumzurechen um die größe anzupassen (das frisst auch einiges an Zeit).

von M. M. (maik3)


Lesenswert?

Es waren ein paar gute Ideen dabei.
Nach etwas Herumprobieren denke ich dass tatsächlich die CPU der 
Flaschenhals ist.
Kopiere ich die Bilder vorher nach /tmp, also in den RAM, geht das 
Weiterschalten auch nicht schneller.

🐧 DPA 🐧 schrieb:
> vmtouch -t .

Das hat mich interessiert, deswegen habe ich es interessehalber mal am 
Desktop-PC ausprobiert wo die CPU definitiv nicht bremst.
Leider hat es keinen Unterschied gemacht, auch nicht mit dem -dl-switch.

von San Miguel de Joker (Gast)


Lesenswert?

M. M. schrieb:
> Kopiere ich die Bilder vorher nach /tmp, also in den RAM, geht das
> Weiterschalten auch nicht schneller.

Dann würde ich zu einer HTTP Gallerie mit verkleinerten Versionen der 
Bilder zurückgreifen (hier gibt es auch wieder unterschiedliche 
Formate).

https://piwigo.org/


Die 5MB Bilder kannst du auf einem kleinen Tablet eh nicht von 1080p/etc 
Versionen unterscheiden.

Ggf. gibt es auch einen Bildbetrachter welcher ein Pre Rendering 
erlaubt.

von San Miguel de Joker (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.