Я хочу изменить звуковую дорожку по умолчанию с португальского на английский в файле input.mkv.
Видео содержит 4 аудиодорожки: португальский (по умолчанию), испанский, английский и японский. Я также хотел бы сохранить субтитры.
Информация о видео выглядит следующим образом:
Input #0, matroska,webm, from 'input.mkv':
Metadata:
encoder : libebml v1.3.10 + libmatroska v1.5.2
creation_time : 2021-01-24T22:56:10.000000Z
Duration: 00:26:36.85, start: -0.007000, bitrate: 2157 kb/s
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv), 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
Metadata:
BPS-eng : 1880412
DURATION-eng : 00:24:21.134000000
NUMBER_OF_FRAMES-eng: 35032
NUMBER_OF_BYTES-eng: 343441847
_STATISTICS_WRITING_APP-eng: mkvmerge v45.0.0 ('Heaven') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-01-24 22:56:10
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(por): Audio: opus, 48000 Hz, stereo, fltp (default)
Metadata:
ENCODER : Lavc58.97.100 libopus
BPS-eng : 116334
DURATION-eng : 00:24:21.639000000
NUMBER_OF_FRAMES-eng: 73082
NUMBER_OF_BYTES-eng: 21254949
_STATISTICS_WRITING_APP-eng: mkvmerge v45.0.0 ('Heaven') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-01-24 22:56:10
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(spa): Audio: opus, 48000 Hz, stereo, fltp
Metadata:
ENCODER : Lavf55.33.100
BPS-eng : 121447
DURATION-eng : 00:26:36.843000000
NUMBER_OF_FRAMES-eng: 79843
NUMBER_OF_BYTES-eng: 24241492
_STATISTICS_WRITING_APP-eng: mkvmerge v45.0.0 ('Heaven') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-01-24 22:56:10
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:3(eng): Audio: opus, 48000 Hz, stereo, fltp
Metadata:
BPS-eng : 103565
DURATION-eng : 00:24:21.049000000
NUMBER_OF_FRAMES-eng: 73053
NUMBER_OF_BYTES-eng: 18914357
_STATISTICS_WRITING_APP-eng: mkvmerge v45.0.0 ('Heaven') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-01-24 22:56:10
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:4(jpn): Audio: opus, 48000 Hz, stereo, fltp
Metadata:
BPS-eng : 104161
DURATION-eng : 00:24:21.138000000
NUMBER_OF_FRAMES-eng: 73057
NUMBER_OF_BYTES-eng: 19024328
_STATISTICS_WRITING_APP-eng: mkvmerge v45.0.0 ('Heaven') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-01-24 22:56:10
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:5(por): Subtitle: ass
Metadata:
BPS-eng : 79
DURATION-eng : 00:23:59.360000000
NUMBER_OF_FRAMES-eng: 245
NUMBER_OF_BYTES-eng: 14246
_STATISTICS_WRITING_APP-eng: mkvmerge v45.0.0 ('Heaven') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-01-24 22:56:10
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:6(spa): Subtitle: ass
Metadata:
BPS-eng : 83
DURATION-eng : 00:23:59.360000000
NUMBER_OF_FRAMES-eng: 242
NUMBER_OF_BYTES-eng: 15096
_STATISTICS_WRITING_APP-eng: mkvmerge v45.0.0 ('Heaven') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-01-24 22:56:10
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:7(eng): Subtitle: ass
Metadata:
title : (Forced)
BPS-eng : 435
DURATION-eng : 00:23:05.930000000
NUMBER_OF_FRAMES-eng: 523
NUMBER_OF_BYTES-eng: 75467
_STATISTICS_WRITING_APP-eng: mkvmerge v45.0.0 ('Heaven') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-01-24 22:56:10
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:8(eng): Subtitle: ass
Metadata:
BPS-eng : 505
DURATION-eng : 00:23:59.390000000
NUMBER_OF_FRAMES-eng: 775
NUMBER_OF_BYTES-eng: 90904
_STATISTICS_WRITING_APP-eng: mkvmerge v45.0.0 ('Heaven') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-01-24 22:56:10
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Упорядочивание аудиопотоков может быть выполнено с использованием параметров карты
и размещения
FFmpeg. Лучшим синтаксисом для этого является , возможно :
ffmpeg -i input.mkv -map 0:v:0 \
-map 0:a:2 -map 0:a:0 -map 0:a:1 -map 0:a:3 \
-map 0:s -c copy \
-disposition:a:0 default \
reordered.mkv
Чтобы немного распаковать это:
-map 0: v: 0
: выбран первый (и единственный) видеопоток - map 0: a: 1 -map 0: a: 0 -map 0: a: 2 -map 0: a: 3
: Аудиопотоки размещаются индивидуально. Последняя цифра каждого «набора» выбирает из 4 аудиопотоков, где «0» является первым потоком, а «3» - конечным аудиопотоком. Английский язык, конечно, указывается первым и является потоком 2. -map 0: s
: Выбрать все файлы субтитров -c copy
: Копировать потоки видео, аудио и субтитров без повторной записи. -кодирование. -disposition: a: 0 default
: Это устанавливает наш требуемый аудиопоток (английский) как значение по умолчанию . Полезно, если это было установлено на другом входном аудиопотоке. Это хорошо сработало с тестовым файлом, созданным в моей системе, и должно хорошо работать и с вашей ...
Примечания ...
map
размещения
FFmpeg.