Я хочу заменить субтитры, присутствующие в Stream # 0: 6 (eng)
, на внешнюю видеоинформацию subtitle.ass
Input #0, matroska,webm, from 'input.mkv':
Metadata:
creation_time : 2021-03-06T17:59:28.000000Z
ENCODER : Lavf58.29.100
Stream #0:0: Video: hevc (Main), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
Metadata:
BPS-eng : 2464510
DURATION-eng : 00:22:57.001000000
NUMBER_OF_FRAMES-eng: 33015
NUMBER_OF_BYTES-eng: 424204175
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(jpn): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 224 kb/s
Metadata:
BPS-eng : 224000
DURATION-eng : 00:22:57.408000000
NUMBER_OF_FRAMES-eng: 43044
NUMBER_OF_BYTES-eng: 38567424
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(eng): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 224 kb/s (default)
Metadata:
BPS-eng : 224000
DURATION-eng : 00:22:57.408000000
NUMBER_OF_FRAMES-eng: 43044
NUMBER_OF_BYTES-eng: 38567424
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:3(spa): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 224 kb/s
Metadata:
BPS-eng : 224000
DURATION-eng : 00:22:57.408000000
NUMBER_OF_FRAMES-eng: 43044
NUMBER_OF_BYTES-eng: 38567424
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:4(fre): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 224 kb/s
Metadata:
BPS-eng : 224000
DURATION-eng : 00:22:57.408000000
NUMBER_OF_FRAMES-eng: 43044
NUMBER_OF_BYTES-eng: 38567424
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:5(por): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 224 kb/s
Metadata:
BPS-eng : 224000
DURATION-eng : 00:22:57.408000000
NUMBER_OF_FRAMES-eng: 43044
NUMBER_OF_BYTES-eng: 38567424
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:6(eng): Subtitle: hdmv_pgs_subtitle ([255][255][255][255] / 0xFFFFFFFF), 1920x1080 (default)
Metadata:
title : English BD PGS Sub
BPS-eng : 35741
DURATION-eng : 00:22:47.742000000
NUMBER_OF_FRAMES-eng: 692
NUMBER_OF_BYTES-eng: 6110646
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:7(spa): Subtitle: hdmv_pgs_subtitle ([255][255][255][255] / 0xFFFFFFFF), 1920x1080
Metadata:
title : Spanish BD PGS Sub
BPS-eng : 41766
DURATION-eng : 00:22:47.742000000
NUMBER_OF_FRAMES-eng: 764
NUMBER_OF_BYTES-eng: 7140737
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:8(fre): Subtitle: hdmv_pgs_subtitle ([255][255][255][255] / 0xFFFFFFFF)
Metadata:
title : French BD PGS Sub
BPS-eng : 36969
DURATION-eng : 00:20:43.492000000
NUMBER_OF_FRAMES-eng: 586
NUMBER_OF_BYTES-eng: 5746361
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:9(por): Subtitle: hdmv_pgs_subtitle ([255][255][255][255] / 0xFFFFFFFF), 1920x1080
Metadata:
title : Portuguese BD PGS Sub
BPS-eng : 40091
DURATION-eng : 00:22:47.909000000
NUMBER_OF_FRAMES-eng: 590
NUMBER_OF_BYTES-eng: 6855165
_STATISTICS_WRITING_APP-eng: mkvmerge v53.0.0 ('Fool's Gold') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-03-06 17:59:28
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
ffmpeg -i input.mkv -i subtitle.ass -map 0 -map -0:6 -map 1 -c copy -metadata:s:s:4 language=eng output.mkv
-map 0
включает все потоки из input.mkv
. -map -0: 6
является отрицательным отображением и исключает поток № 0: 6
. -map 1
включает все потоки из subtitle.ass
. -c copy
включает режим копирования потока , поэтому все просто мультиплексируется, и перекодирование избегается. Как копия и вставка. -metadata: s: s: 3 language = eng
устанавливает английский язык для новых добавленных субтитров.
-map
. input.mkv
включены 3 субтитра, поэтому субтитры из subtitle.ass
будут четвертыми субтитрами. s: s: 34
относится к stream: subtitles: index # 3
, или «четвертому потоку субтитров на выходе» (он начинает отсчет с 0). Или более гибкий, но более сложный метод с использованием метаданных языка субтитров:
ffmpeg -i input.mkv -i subtitle.ass -map 0 -map -0:s:m:language:eng -map 1 -c copy output.mkv
-map -0: s: m: language: eng
- это отрицательная карта, исключающая любой поток субтитров из input.mkv
с метаданными на английском языке. См. FFmpeg Wiki: Карта .