![So geben Sie eine Netzwerkdatei in ffmpeg ein](https://rvso.com/image/52089/So%20geben%20Sie%20eine%20Netzwerkdatei%20in%20ffmpeg%20ein.png)
Mein Problem ist folgendes. Ich habe Zugriff auf einen Server, auf dem viele Videodateien gehostet werden. Die meisten davon sind sehr groß und nicht gut komprimiert. Ich beabsichtige, eine Kopie dieser Dateien in reduzierter Qualität und kleinerer Größe auf meinem lokalen Computer zu erstellen, um einen besseren Zugriff zu ermöglichen.
Das Problem ist, dass der Server keinen FTP-Zugriff hat. Ich kann die Dateien per SCP auf meinen Rechner übertragen und dann mit ffmpeg die Größe reduzieren, aber wenn ich alle Dateien lokal kopiere, geht mir der Speicherplatz aus.
Ich suche nach einer Möglichkeit, eine Netzwerkdatei direkt in ffmpeg einzugeben, damit ich ein Skript schreiben kann, mit dem ich über Nacht alle Videos in reduzierter Größe erhalte.
Antwort1
Sie können verwenden, sshfs
um die Remotedateien in einem Verzeichnis auf dem lokalen Computer anzuzeigen.
Sie sagen nicht, welche Distribution Sie auf Ihrem Client verwenden, aber dies ist abgekupfert vondie Ubuntu sshfs Dokumentation:
- Installieren Sie das
sshfs
Paket (aptitude install sshfs
) - Fügen Sie Ihren Benutzer zur
fuse
Gruppe hinzu (sudo gpasswd -a username fuse
) - Mounten Sie das Dateisystem mit dem
sshfs
Befehl
Um zu verwenden sshfs
, erstellen Sie ein Verzeichnis (wir nennen es /mountpoint
) und führen Sie folgende Schritte aus
sshfs -o idmap=user remote_user@remote_server:/remote/directory /mountpoint
Die Remotedateien werden nun in angezeigt /mountpoint
, befinden sich aber noch immer auf dem Remoteserver. Alle Änderungen, die Sie vornehmen, werden remote und nicht lokal vorgenommen.
Um das Verzeichnis auszuhängen, führen Sie Folgendes aus:
fusermount -u /mountpoint
Antwort2
Wenn Sie SSH-Zugriff auf das Remote-System haben, können Sie Folgendes tun:
ssh server cat path/to/video | ffmpeg -i - [...]
Dies -
führt dazu, dass ffmpeg von stdin statt von einer Datei liest.
Achtung: Nicht alle Formate unterstützen Pipes. Siehehttps://stackoverflow.com/questions/12999674/ffmpeg-which-file-formats-support-stdin-usage