FFMpeg - конвертировать все аудио потоки из MKV в MP4 - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть MKV-файл.

Мой входной файл:

Поток № 0: 0 (англ): Видео: h264 (Высокий)

Поток № 0: 1(pol): Аудио: ac3

Stream # 0: 2 (eng): Audio: dts (DTS)

Stream # 0: 3 (pol): Подзаголовок: subrip

Stream # 0: 4 (eng): Subtitle: hdmv_pgs_subtitle

Я хотел бы пропустить субтитры (опция -sn), копировать видео и кодировать аудиопотоки в AAC.Я пробовал несколько различных команд и выходной файл всегда одинаков (2 аудиопотока, но в обоих звуках из первого аудиопотока).Вот моя команда:

ffmpeg -i input.mkv -sn -map 0: a?-карта 0: v -c: v копия -c: a?aac output.mp4

или

ffmpeg -i input.mkv -sn -map 0 -c: v copy -c: aac output.mp4

ffmpeg -iinput.mkv -sn -map 0 :?-c: v copy -c: aac output.mp4

и т. д.

Все почти работает, но в выходном файле у меня есть 2 аудиопотока с именами (pol) и (eng), но воба - это звук из (pol) stream0: 1. Какую команду я должен использовать для преобразования аудиопотоков, чтобы получить два аудиопотока, где будут pol и eng sound (не pol в обоих).Иногда входной файл имеет только 1 аудиопоток, поэтому командная строка должна быть универсальной, я думаю, ffmpeg map с "?"характер.

1 Ответ

0 голосов
/ 13 февраля 2019

Сопоставьте все видео и аудио:

ffmpeg -i input -map 0:v -map 0:a -c copy -c:a aac output.mp4

Или сопоставьте все, кроме субтитров, с использованием негативного сопоставления:

ffmpeg -i input -map 0 -map -0:s -c copy -c:a aac output.mp4

См. Документацию по опциям -map для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...