首页 文章

FFMPEG:向视频文件添加其他音频轨道

提问于
浏览
2

我有两个视频文件,包含以下流:

档案1:

Stream #0:0(deu): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s (default)
Stream #0:1(deu): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:2(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4971 kb/s, 23.98 fps, 23.98 tbr, 2997 tbn, 5994 tbc (default)
Stream #0:3: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 480x480 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc

文件2:

Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s (default)
Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:2(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4925 kb/s, 23.98 fps, 23.98 tbr, 23976 tbn, 47952 tbc (default)
Stream #0:3(eng): Subtitle: eia_608 (c608 / 0x38303663), 1920x1080, 0 kb/s
Stream #0:4: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 480x480 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc

两个文件具有完全相同的视频内容,但第一个视频具有德语音轨,第二个视频具有英语音轨 .

How can I extract the audio track from the german video file and add it to the english one, without losing the english subtitles and being able to choose between these audio tracks in a media player?

我搜索了这个,我找到了类似问题的多个答案,但没有一个有效:一些只包括一个音轨,一些同时播放它们 .

我不确定是否应该在超级用户上询问这个问题,但由于在Stack Overflow上有很多关于ffmpeg的问题,我在这里问了一下 .

1 回答

  • 0

    重要的是要注意FFmpeg无法添加到文件中,它必须一次性创建包含流,设置和元数据的新文件 . 这使得它成为解决问题的好方案是创建新文件不是问题 .

    ffmpeg -i FILE1 \
         -i FILE2 \
         -map 1:2 -map 1:0 -map 1:1 -map 0:0 -map 0:1 -map 1:3 -map 1:4 \
         -c copy \
         -disposition:a -default -disposition:a:0 default \
         -disposition:v -default -disposition:v:0 default \
         OUTPUT
    

    有关上述命令的信息,请访问FFmpeg Documentation 5.4 Main Options5.11 Advanced options .

    生成的OUTPUT文件将按如下方式映射流:

    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4925 kb/s, 23.98 fps, 23.98 tbr, 23976 tbn, 47952 tbc (default)
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s (default)
    Stream #0:2(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:3(deu): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s
    Stream #0:4(deu): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:5(eng): Subtitle: eia_608 (c608 / 0x38303663), 1920x1080, 0 kb/s (default)
    Stream #0:6: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 480x480 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    

相关问题