2015-12-04 72 views
1

我有以下流兩個視頻文件:FFMPEG:添加其他音軌視頻文件


文件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 


兩個文件具有完全相同的視頻內容,但第一個視頻具有德語音頻軌道,第二個視頻具有英語a音頻軌道。

如何從德國視頻文件中提取音軌並將其添加到英文版中,而不會丟失英文字幕並且能夠在媒體播放器中的這些音軌之間進行選擇?

我搜索了這個,我找到了類似問題的多個答案,但沒有一個能夠奏效:有些只包含一個音軌,有些則同時播放了兩個音軌。

我不確定這個問題是否應該詢問Super User,但由於在Stack Overflow上有關於ffmpeg的許多問題,我在這裏提問。

回答

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找到。

生成的輸出文件將具有流映射爲這樣:

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