ffmpeg将具有多个音频的mkv映射到具有更多音频的mkv

时间:2020-02-01 21:17:00

标签: ffmpeg

我有一个这样的MKV:

Input #0, matroska,webm, from 'MyVideo.mkv':
  Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080, 23.98 fps
  Stream #0:1(fre): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 768 kb/s (default)
  Stream #0:2(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s

我想要一个这样的输出MKV:

Output:
  Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080, 23.98 fps
  Stream #0:1(fre): Audio: E-AC-3, 5.1, 384 kb/s
  Stream #0:2(fre): Audio: E-AC-3, stereo, 384 kb/s
  Stream #0:3(eng): Audio: E-AC-3, 5.1, 384 kb/s
  Stream #0:4(eng): Audio: E-AC-3, stereo, 384 kb/s

在此页面之后:https://trac.ffmpeg.org/wiki/Map(示例1),我正在这样做:

ffmpeg -i MyVideo.mkv \
-map 0:0 -map 0:1 -map 0:1 -map 0:2 -map 0:2 \
-c:v copy
-c:a:0 eac3 -ab 384k -ac 6 \
-c:a:1 eac3 -ab 384k -ac 2 \
-c:a:2 eac3 -ab 384k -ac 6 \
-c:a:3 eac3 -ab 384k -ac 2
output.mkv

但是我得到以下输出:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mkv':
  Stream #0:0(eng): Video: h264 (High) (High), yuv420p(progressive), 1920x1080, 23.98 fps
  Stream #0:1(fre): Audio: eac3 (ec-3), 48000 Hz, stereo, fltp, 384 kb/s
  Stream #0:2(fre): Audio: eac3 (ec-3), 48000 Hz, stereo, fltp, 384 kb/s
  Stream #0:3(eng): Audio: eac3 (ec-3), 48000 Hz, stereo, fltp, 384 kb/s
  Stream #0:4(eng): Audio: aac (LC) (mp4a), 48000 Hz, stereo, fltp, 378 kb/s

您知道我的错误是什么吗?我认为它在我的地图和-c:a:x参数周围

1 个答案:

答案 0 :(得分:0)

发现我的错误,缺少ab:x和ac:x来指定每个输出音频流的比特率和频道

来自:

document.body.addEventListener('contextmenu',function(e){ SomeFunc(); },false);

收件人:

-c:a:0 eac3 -ab 384k -ac 6
-c:a:1 eac3 -ab 384k -ac 2
-c:a:2 eac3 -ab 384k -ac 6
-c:a:3 eac3 -ab 384k -ac 2