Übersicht der Eingänge
input_0.mp4
hat den gewünschten Videostream und input_1.mp4
hat den gewünschten Audiostream:
In ffmpeg
den Streams sieht das so aus:
$ ffmpeg -i input_0.mp4 -i input_1.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input_0.mp4':
Duration: 00:01:48.50, start: 0.000000, bitrate: 4144 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 4014 kb/s, SAR 115:87 DAR 1840:783, 23.98 fps, 23.98 tbr, 16k tbn, 47.95 tbc (default)
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 124 kb/s (default)
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'input_1.mp4':
Duration: 00:00:30.05, start: 0.000000, bitrate: 1754 kb/s
Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x480 [SAR 8:9 DAR 4:3], 1687 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc (default)
Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 55 kb/s (default)
ID-Nummern
ffmpeg
bezieht sich auf Eingabedateien und Streams mit Indexnummern. Das Format ist input_file_id:input_stream_id
. Da ffmpeg
die Zählung ab 0 beginnt, 1:1
bezieht sich der Stream auf das Audio von input_1.mp4
.
Stream-Spezifizierer
Dies kann mit Stream-Spezifizierern erweitert werden . Beispielsweise können Sie feststellen, ffmpeg
dass Sie den ersten Videostream vom ersten Eingang ( 0:v:0
) und den ersten Audiostream vom zweiten Eingang ( 1:a:0
) möchten . Ich bevorzuge diese Methode, weil sie effizienter ist. Außerdem ist es weniger anfällig für versehentliches Mapping, da 1:1
es sich auf jeden Stream-Typ beziehen kann, während es sich 2:v:3
nur auf den vierten Videostream der dritten Eingabedatei bezieht.
Beispiele
Die -map
Option gibt an, ffmpeg
welche Streams Sie möchten. So kopieren Sie das Video von input_0.mp4
und Audio von input_1.mp4
:
$ ffmpeg -i input_0.mp4 -i input_1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4
Das nächste Beispiel macht dasselbe:
$ ffmpeg -i input_0.mp4 -i input_1.mp4 -c copy -map 0:v:0 -map 1:a:0 -shortest out.mp4
-map 0:v:0
kann übersetzt werden als: Wählen Sie am ersten Eingang ( 0
) den Videostream-Typ ( v
), den ersten Videostream ( 0
).
-map 1:a:0
kann übersetzt werden als: Wählen Sie am zweiten Eingang ( 1
) den Audio-Stream-Typ ( a
), den ersten Audio-Stream ( 0
).
Zusätzliche Bemerkungen