Mein Problem ist das. Ich habe Zugriff auf einen Server, auf dem viele Videodateien gehostet werden. Die meisten davon sind sehr groß und nicht gut komprimiert. Ich beabsichtige, auf meinem lokalen Computer eine Kopie in kleinerer Größe mit reduzierter Qualität zu erstellen, um einen besseren Zugriff zu erhalten.
Das Problem ist, dass der Server keinen FTP-Zugriff hat. Ich kann die Dateien auf meinen Computer scp und dann mit ffmpeg die Größe reduzieren, aber mir geht der Speicherplatz aus, wenn ich alle Dateien lokal kopiere.
Ich suche nach einer Möglichkeit, eine Netzwerkdatei direkt in ffmpeg einzugeben. Auf diese Weise kann ich ein Skript schreiben, mit dem ich über Nacht alle Videos in reduzierter Größe erhalten kann.
Antworten:
Sie können verwenden
sshfs
, um die Remote-Dateien in einem Verzeichnis auf dem lokalen Computer anzuzeigen.Sie sagen nicht, welche Distribution Sie auf Ihrem Client verwenden, aber dies ist aus der Ubuntu sshfs-Dokumentation entnommen :
sshfs
Paket (aptitude install sshfs
)fuse
Gruppe hinzu (sudo gpasswd -a username fuse
)sshfs
Befehl einErstellen Sie sich zur Verwendung
sshfs
ein Verzeichnis (wir nennen dies/mountpoint
) und tun Sie diesDie Remote-Dateien werden jetzt in angezeigt
/mountpoint
, befinden sich jedoch noch auf dem Remote-Server. Alle Änderungen, die Sie vornehmen, werden remote und nicht lokal vorgenommen.Gehen Sie wie folgt vor, um die Bereitstellung des Verzeichnisses aufzuheben
quelle
Wenn Sie SSH-Zugriff auf das Remote-System haben, können Sie so etwas tun
ssh server cat path/to/video | ffmpeg -i - [...]
Die
-
Ursachen ffmpeg von stdin anstelle einer Datei zu lesen.Vorsichtsmaßnahme, jedoch unterstützen nicht alle Formate Pipes. Siehe /programming/12999674/ffmpeg-which-file-formats-support-stdin-usage
quelle