ffmpeg отобразить MKV с несколькими аудио в MKV с большим количеством аудио - PullRequest
0 голосов
/ 02 февраля 2020

У меня 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 голосов
/ 02 февраля 2020

Обнаружил мою ошибку, пропустив ab: x и a c: 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...