温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - ffmpeg map mkv with multiple audio to mkv with more audio
ffmpeg

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

发布于 2020-04-11 13:17:46

我有一个这样的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

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

查看更多

提问者
locobastos
被浏览
67
locobastos 2020-02-02 06:13

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

从:

-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

至:

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