Split video-Datei in separate video-und audio-Dateien mit einem einzigen ffmpeg-Aufruf?
Hintergrund: ich möchte mit MLT melt
so Rendern Sie ein Projekt, aber ich möchte, dass die render-Ergebnis mit separaten audio-und video-Dateien. Ich würde verwenden wollen melt
's "Verbraucher" avformat
verwendet ffmpeg
's Bibliotheken, so bin ich der Formulierung dieser Frage für ffmpeg
.
Laut Nützlich FFmpeg-Befehle Für die Konvertierung von Audio & Video-Dateien (labnol.org), das folgende ist möglich:
ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4
... die Scheiben der "verschmolzen" audio+video-Dateien in zwei separate "chunk" - Dateien, die auch audio - +video-Dateien in einem einzigen Aufruf; das ist nicht das, was ich brauche.
Dann, ffmpeg-Dokumentation (ffmpeg.org), dies erwähnt:
ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1
... teilt die gesamte Dauer der Inhalt der beiden Kanäle des stereo - audio - Datei in zwei mono-Dateien; das ist mehr wie das, was ich brauche, außer, dass ich teilen möchten, auf eine A+V-Datei in eine stereo-audio-Datei und eine video Datei.
So, ich habe versucht, diese mit elephantsdream_teaser.ogv:
ffmpeg -i /tmp/elephantsdream_teaser.ogv \
-map 0.0 -vcodec copy ele.ogv -map 0.1 -acodec copy ele.ogg
... aber das schlägt fehl mit "Anzahl von stream-Karten müssen übereinstimmen, Anzahl der output-streams" (auch wenn null-Größe ele.ogv
und ele.ogg
erstellt werden).
Also meine Frage ist - ist so etwas möglich mit ffmpeg
, und wenn es ist, wie kann ich es tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein Befehl funktioniert, aber Sie müssen angeben, mapping mit Spalten statt der Punkte etwa so:
Möchten Sie vielleicht zu prüfen, mit einem neueren build von ffmpeg. Mir gab Fehler zu korrigieren für den Befehl:
0:v
statt0:0
, und0:a
statt0:1
ist effizienter und weniger anfällig für fehlerhafte Zuordnung (es sei denn, die Eingabe hat mehrere Datenströme pro stream-Typ, dann0:v:0
können verwendet werden, um anzugeben).