Вопрос или проблема
Обычно я использую команду вроде этой:
ffmpeg -i video.mkv -i audio.mka -i subs.ass -c copy -map 0 -map 1:a -map 2:s out.mkv
Чтобы добавить дополнительное аудио и субтитры к видео, сохраняя при этом потоки из оригинального видео. Однако на этот раз я столкнулся со странной ситуацией: когда я пытаюсь переключить аудиотрек на дополнительный, видео либо останавливается, либо воспроизводится без звука (в зависимости от проигрывателя), но с оригинальным аудио все в порядке на всех устройствах (ноутбук, телевизор, смартфон). Но я выяснил, что если я использую команду:
ffmpeg -i video.mkv -i audio.mka -i subs.ass -c copy -map 0:v -map 0:a -map 1:a -map 2:s out.mkv
То все работает как и ожидалось, однако, если я добавляю аргумент -map 0:s
или -map 0:t
, то снова сталкиваюсь с этой проблемой. Запустив FFprobe, я обнаружил, что в видео было два потока шрифтов и один с субтитрами (а также видеопоток и аудиопоток).
Но почему поток шрифтов/субтитров, скопированный из оригинального видео, приводит к этой проблеме?
Я также использовал графический интерфейс MKVToolNix для этих целей, и там все было в порядке, но я хочу разобраться, что не так с моим скриптом на FFmpeg? И как заставить его работать корректно?
Вот некоторая информация из FFprobe и MKVToolNix.
FFprobe
Оригинальное видео:
Input #0, matroska,webm, from '.\[SubsPlease] Tatoeba Last Dungeon Mae no Mura no Shounen - 01 [720p].mkv':
Metadata:
encoder : no_variable_data
creation_time : 1970-01-01T00:00:00.000000Z
Duration: 00:24:11.14, start: 0.000000, bitrate: 3380 kb/s
Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
Metadata:
BPS-eng : 3120403
DURATION-eng : 00:24:11.075000000
NUMBER_OF_FRAMES-eng: 34791
NUMBER_OF_BYTES-eng: 565992388
_STATISTICS_WRITING_APP-eng: no_variable_data
_STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(jpn): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
BPS-eng : 253375
DURATION-eng : 00:24:11.136000000
NUMBER_OF_FRAMES-eng: 68022
NUMBER_OF_BYTES-eng: 45960199
_STATISTICS_WRITING_APP-eng: no_variable_data
_STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(eng): Subtitle: ass (ssa) (default)
Metadata:
title : English subs
BPS-eng : 108
DURATION-eng : 00:22:59.950000000
NUMBER_OF_FRAMES-eng: 313
NUMBER_OF_BYTES-eng: 18799
_STATISTICS_WRITING_APP-eng: no_variable_data
_STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:3: Attachment: ttf
Metadata:
filename : Roboto-Medium.ttf
mimetype : application/x-truetype-font
Stream #0:4: Attachment: ttf
Metadata:
filename : Roboto-MediumItalic.ttf
mimetype : application/x-truetype-font
Unsupported codec with id 98304 for input stream 3
Unsupported codec with id 98304 for input stream 4
Результирующее видео с проблемой:
Input #0, matroska,webm, from '.\out.mkv':
Metadata:
ENCODER : Lavf61.5.101
Duration: 00:24:11.14, start: 0.000000, bitrate: 3574 kb/s
Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
Metadata:
BPS-eng : 3120403
DURATION-eng : 00:24:11.075000000
NUMBER_OF_FRAMES-eng: 34791
NUMBER_OF_BYTES-eng: 565992388
_STATISTICS_WRITING_APP-eng: no_variable_data
_STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
DURATION : 00:24:11.116000000
Stream #0:1(jpn): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
BPS-eng : 253375
DURATION-eng : 00:24:11.136000000
NUMBER_OF_FRAMES-eng: 68022
NUMBER_OF_BYTES-eng: 45960199
_STATISTICS_WRITING_APP-eng: no_variable_data
_STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
DURATION : 00:24:11.135000000
Stream #0:2(eng): Subtitle: ass (ssa) (default)
Metadata:
title : English subs
BPS-eng : 108
DURATION-eng : 00:22:59.950000000
NUMBER_OF_FRAMES-eng: 313
NUMBER_OF_BYTES-eng: 18799
_STATISTICS_WRITING_APP-eng: no_variable_data
_STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
DURATION : 00:24:04.200000000
Stream #0:3(rus): Audio: aac (LC), 48000 Hz, stereo, fltp
Metadata:
title : MVO [ТО Студийная Банда WAKANIM]
DURATION : 00:24:11.008000000
Stream #0:4: Subtitle: ass (ssa)
Metadata:
DURATION : 00:24:04.200000000
Stream #0:5: Attachment: ttf
Metadata:
filename : Roboto-Medium.ttf
mimetype : application/x-truetype-font
Stream #0:6: Attachment: ttf
Metadata:
filename : Roboto-MediumItalic.ttf
mimetype : application/x-truetype-font
Unsupported codec with id 98304 for input stream 5
Unsupported codec with id 98304 for input stream 6
Результирующее видео без субтитров и вложений (может воспроизводиться корректно):
Input #0, matroska,webm, from '.\out_r.mkv':
Metadata:
ENCODER : Lavf61.5.101
Duration: 00:24:11.14, start: 0.000000, bitrate: 3570 kb/s
Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
Metadata:
BPS-eng : 3120403
DURATION-eng : 00:24:11.075000000
NUMBER_OF_FRAMES-eng: 34791
NUMBER_OF_BYTES-eng: 565992388
_STATISTICS_WRITING_APP-eng: no_variable_data
_STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
DURATION : 00:24:11.116000000
Stream #0:1(jpn): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
BPS-eng : 253375
DURATION-eng : 00:24:11.136000000
NUMBER_OF_FRAMES-eng: 68022
NUMBER_OF_BYTES-eng: 45960199
_STATISTICS_WRITING_APP-eng: no_variable_data
_STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
DURATION : 00:24:11.135000000
Stream #0:2(rus): Audio: aac (LC), 48000 Hz, stereo, fltp
Metadata:
title : MVO [ТО Студийная Банда WAKANIM]
DURATION : 00:24:11.008000000
Stream #0:3: Subtitle: ass (ssa)
Metadata:
DURATION : 00:24:04.200000000
Результирующее видео из GUI MKVToolNix:
Input #0, matroska,webm, from '.\[SubsPlease] Tatoeba Last Dungeon Mae no Mura no Shounen - 01 [720p] mkvpack.mkv':
Metadata:
encoder : libebml v1.4.5 + libmatroska v1.7.1
creation_time : 2024-09-22T22:52:04.000000Z
Duration: 00:24:11.14, start: 0.000000, bitrate: 3570 kb/s
Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
Metadata:
BPS : 3120403
DURATION : 00:24:11.075000000
NUMBER_OF_FRAMES: 34791
NUMBER_OF_BYTES : 565992388
_STATISTICS_WRITING_APP: mkvmerge v82.0 ('I'm The President') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2024-09-22 22:52:04
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(jpn): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
BPS : 253375
DURATION : 00:24:11.135000000
NUMBER_OF_FRAMES: 68022
NUMBER_OF_BYTES : 45960199
_STATISTICS_WRITING_APP: mkvmerge v82.0 ('I'm The President') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2024-09-22 22:52:04
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(rus): Audio: aac (LC), 48000 Hz, stereo, fltp
Metadata:
title : MVO [ТО Студийная Банда WAKANIM]
BPS : 189387
DURATION : 00:24:11.008000000
NUMBER_OF_FRAMES: 68016
NUMBER_OF_BYTES : 34350408
_STATISTICS_WRITING_APP: mkvmerge v82.0 ('I'm The President') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2024-09-22 22:52:04
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:3(eng): Subtitle: ass (ssa) (default)
Metadata:
title : English subs
BPS : 108
DURATION : 00:22:59.950000000
NUMBER_OF_FRAMES: 313
NUMBER_OF_BYTES : 18799
_STATISTICS_WRITING_APP: mkvmerge v82.0 ('I'm The President') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2024-09-22 22:52:04
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:4: Subtitle: ass (ssa) (default)
Metadata:
BPS : 137
DURATION : 00:23:32.530000000
NUMBER_OF_FRAMES: 316
NUMBER_OF_BYTES : 24326
_STATISTICS_WRITING_APP: mkvmerge v82.0 ('I'm The President') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2024-09-22 22:52:04
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:5: Attachment: ttf
Metadata:
filename : Roboto-Medium.ttf
mimetype : application/x-truetype-font
Stream #0:6: Attachment: ttf
Metadata:
filename : Roboto-MediumItalic.ttf
mimetype : application/x-truetype-font
Unsupported codec with id 98304 for input stream 5
Unsupported codec with id 98304 for input stream 6
MKVToolNix
Те же файлы, но информация из инструмента информации MKVToolNix (кажется, там чуть больше информации):
Оригинальное видео:
+ EBML head size 40 data size 35
|+ EBML version: 1 size 4 data size 1
|+ EBML read version: 1 size 4 data size 1
|+ Maximum EBML ID length: 4 size 4 data size 1
|+ Maximum EBML size length: 8 size 4 data size 1
|+ Document type: matroska size 11 data size 8
|+ Document type version: 4 size 4 data size 1
|+ Document type read version: 2 size 4 data size 1
+ Segment: size 613156023 size 613156035 data size 613156023
|+ Seek head (subentries will be skipped) size 84 data size 79
|+ EBML void: size 4012 size 4015 data size 4012
|+ Segment information size 87 data size 82
| + Timestamp scale: 1000000 size 7 data size 3
| + Multiplexing application: no_variable_data size 19 data size 16
| + Writing application: no_variable_data size 19 data size 16
| + Duration: 00:24:11.136000000 size 7 data size 4
| + Date: 1970-01-01 00:00:00 UTC size 11 data size 8
| + Segment UID: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 size 19 data size 16
|+ Tracks size 864 data size 858
| + Track size 119 data size 117
| + Track number: 1 (track ID for mkvmerge & mkvextract: 0) size 3 data size 1
| + Track UID: 1 size 4 data size 1
| + Track type: video size 3 data size 1
| + "Lacing" flag: 0 size 3 data size 1
| + Codec ID: V_MPEG4/ISO/AVC size 17 data size 15
| + Codec's private data: size 38 (H.264 profile: Main @L3.1) size 41 data size 38
| + Default duration: 00:00:00.041708333 (23.976 frames/fields per second for a video track) size 8 data size 4
| + Language: und size 7 data size 3
| + Language (IETF BCP 47): und size 7 data size 3
| + Video track size 24 data size 22
| + Pixel width: 1280 size 4 data size 2
| + Pixel height: 720 size 4 data size 2
| + Display width: 1280 size 7 data size 4
| + Display height: 720 size 7 data size 4
| + Track size 56 data size 54
| + Track number: 2 (track ID for mkvmerge & mkvextract: 1) size 3 data size 1
| + Track UID: 2 size 4 data size 1
| + Track type: audio size 3 data size 1
| + Codec ID: A_AAC size 7 data size 5
| + Codec's private data: size 2 size 5 data size 2
| + Default duration: 00:00:00.021333333 (46.875 frames/fields per second for a video track) size 8 data size 4
| + Language: jpn size 7 data size 3
| + Language (IETF BCP 47): ja size 6 data size 2
| + Audio track size 11 data size 9
| + Sampling frequency: 48000 size 6 data size 4
| + Channels: 2 size 3 data size 1
| + Track size 683 data size 680
| + Track number: 3 (track ID for mkvmerge & mkvextract: 2) size 3 data size 1
| + Track UID: 3 size 4 data size 1
| + Track type: subtitles size 3 data size 1
| + "Lacing" flag: 0 size 3 data size 1
| + Codec ID: S_TEXT/ASS size 12 data size 10
| + Codec's private data: size 630 size 634 data size 630
| + Language (IETF BCP 47): en size 6 data size 2
| + Name: English subs size 15 data size 12
|+ EBML void: size 1140 size 1143 data size 1140
|+ Attachments size 730257 data size 730250
| + Attached size 351768 data size 351763
| + File name: Roboto-Medium.ttf size 20 data size 17
| + MIME type: application/x-truetype-font size 30 data size 27
| + File data: size 351704 size 351709 data size 351704
| + File UID: 1 size 4 data size 1
| + Attached size 378482 data size 378477
| + File name: Roboto-MediumItalic.ttf size 26 data size 23
| + MIME type: application/x-truetype-font size 30 data size 27
| + File data: size 378412 size 378417 data size 378412
| + File UID: 2 size 4 data size 1
|+ Cluster size 912355 data size 912348
Результирующее видео с проблемой:
+ EBML head size 40 data size 35
|+ EBML version: 1 size 4 data size 1
|+ EBML read version: 1 size 4 data size 1
|+ Maximum EBML ID length: 4 size 4 data size 1
|+ Maximum EBML size length: 8 size 4 data size 1
|+ Document type: matroska size 11 data size 8
|+ Document type version: 4 size 4 data size 1
|+ Document type read version: 2 size 4 data size 1
+ Segment: size 648356967 size 648356979 data size 648356967
|+ Seek head (subentries will be skipped) size 87 data size 82
|+ EBML void: size 65 size 74 data size 65
|+ Segment information size 78 data size 73
| + Timestamp scale: 1000000 size 7 data size 3
| + Multiplexing application: Lavf61.5.101 size 15 data size 12
| + Writing application: Lavf61.5.101 size 15 data size 12
| + Segment UID: 0xed 0xbe 0xef 0x1a 0x58 0x0a 0x92 0x4c 0x09 0xc8 0xa7 0xe7 0x18 0xf0 0x7f 0xd5 size 19 data size 16
| + Duration: 00:24:11.135000000 size 11 data size 8
|+ Tracks size 2889 data size 2883
| + Track size 141 data size 132
| + Track number: 1 (track ID for mkvmerge & mkvextract: 0) size 3 data size 1
| + Track UID: 10748114415201534233 size 11 data size 8
| + "Lacing" flag: 0 size 3 data size 1
| + Language: und size 7 data size 3
| + Codec ID: V_MPEG4/ISO/AVC size 17 data size 15
| + Track type: video size 3 data size 1
| + Default duration: 00:00:00.041708333 (23.976 frames/fields per second for a video track) size 8 data size 4
| + Video track size 24 data size 22
| + Pixel width: 1280 size 4 data size 2
| + Pixel height: 720 size 4 data size 2
| + Interlaced: 2 size 3 data size 1
| + Video color information size 11 data size 8
| + Horizontal chroma siting: 1 size 4 data size 1
| + Vertical chroma siting: 2 size 4 data size 1
| + Maximum block additional ID: 0 size 4 data size 1
| + EBML void: size 2 size 11 data size 2
| + Codec's private data: size 38 (H.264 profile: Main @L3.1) size 41 data size 38
| + Track size 71 data size 62
| + Track number: 2 (track ID for mkvmerge & mkvextract: 1) size 3 data size 1
| + Track UID: 17723056064840974244 size 11 data size 8
| + "Lacing" flag: 0 size 3 data size 1
| + Language: jpn size 7 data size 3
| + Codec ID: A_AAC size 7 data size 5
| + Track type: audio size 3 data size 1
| + Audio track size 19 data size 17
| + Channels: 2 size 3 data size 1
| + Sampling frequency: 48000 size 10 data size 8
| + Maximum block additional ID: 0 size 4 data size 1
| + Codec's private data: size 2 size 5 data size 2
| + Track size 701 data size 692
| + Track number: 3 (track ID for mkvmerge & mkvextract: 2) size 3 data size 1
| + Track UID: 5447737411014560861 size 11 data size 8
| + "Lacing" flag: 0 size 3 data size 1
| + Name: English subs size 15 data size 12
| + Language: eng size 7 data size 3
| + Codec ID: S_TEXT/ASS size 12 data size 10
| + Track type: subtitles size 3 data size 1
| + Maximum block additional ID: 0 size 4 data size 1
| + Codec's private data: size 630 size 634 data size 630
| + Track size 125 data size 116
| + Track number: 4 (track ID for mkvmerge & mkvextract: 3) size 3 data size 1
| + Track UID: 7560444784501076719 size 11 data size 8
| + "Lacing" flag: 0 size 3 data size 1
| + Name: MVO [ТО Студийная Банда WAKANIM] size 51 data size 48
| + Language: rus size 7 data size 3
| + "Default track" flag: 0 size 3 data size 1
| + Codec ID: A_AAC size 7 data size 5
| + Track type: audio size 3 data size 1
| + Audio track size 19 data size 17
| + Channels: 2 size 3 data size 1
| + Sampling frequency: 48000 size 10 data size 8
| + Bit depth: 32 size 4 data size 1
| + Maximum block additional ID: 0 size 4 data size 1
| + Codec's private data: size 2 size 5 data size 2
| + Track size 1839 data size 1830
| + Track number: 5 (track ID for mkvmerge & mkvextract: 4) size 3 data size 1
| + Track UID: 14546133701863992724 size 11 data size 8
| + "Lacing" flag: 0 size 3 data size 1
| + Language: und size 7 data size 3
| + "Default track" flag: 0 size 3 data size 1
| + Codec ID: S_TEXT/ASS size 12 data size 10
| + Track type: subtitles size 3 data size 1
| + Maximum block additional ID: 0 size 4 data size 1
| + Codec's private data: size 1780 size 1784 data size 1780
|+ Attachments size 730277 data size 730270
| + Attached size 351775 data size 351770
| + File name: Roboto-Medium.ttf size 20 data size 17
| + MIME type: application/x-truetype-font size 30 data size 27
| + File data: size 351704 size 351709 data size 351704
| + File UID: 8395937593469827450 size 11 data size 8
| + Attached size 378489 data size 378484
| + File name: Roboto-MediumItalic.ttf size 26 data size 23
| + MIME type: application/x-truetype-font size 30 data size 27
| + File data: size 378412 size 378417 data size 378412
| + File UID: 5475549112660141962 size 11 data size 8
|+ Tags size 1301 data size 1295
| + Tag size 34 data size 31
| + Targets size 3 data size 0
| + Simple size 28 data size 25
| + Name: ENCODER size 10 data size 7
| + String: Lavf61.5.101 size 15 data size 12
| + Tag size 387 data size 383
| + Targets size 14 data size 11
| + Track UID: 10748114415201534233 size 11 data size 8
| + Simple size 25 data size 22
| + Name: BPS size 6 data size 3
| + Tag language: eng size 6 data size 3
| + String: 3120403 size 10 data size 7
| + Simple size 41 data size 38
| + Name: DURATION size 11 data size 8
| + Tag language: eng size 6 data size 3
| + String: 00:24:11.075000000 size 21 data size 18
| + Simple size 36 data size 33
| + Name: NUMBER_OF_FRAMES size 19 data size 16
| + Tag language: eng size 6 data size 3
| + String: 34791 size 8 data size 5
| + Simple size 39 data size 36
| + Name: NUMBER_OF_BYTES size 18 data size 15
| + Tag language: eng size 6 data size 3
| + String: 565992388 size 12 data size 9
| + Simple size 54 data size 51
| + Name: _STATISTICS_WRITING_APP size 26 data size 23
| + Tag language: eng size 6 data size 3
| + String: no_variable_data size 19 data size 16
| + Simple size 62 data size 59
| + Name: _STATISTICS_WRITING_DATE_UTC size 31 data size 28
| + Tag language: eng size 6 data size 3
| + String: 1970-01-01 00:00:00 size 22 data size 19
| + Simple size 76 data size 73
| + Name: _STATISTICS_TAGS size 19 data size 16
| + Tag language: eng size 6 data size 3
| + String: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES size 48 data size 45
| + Simple size 36 data size 33
| + Name: DURATION size 11 data size 8
| + String: 00:24:11.116000000 size 22 data size 19
| + Tag size 385 data size 381
| + Targets size 14 data size 11
| + Track UID: 17723056064840974244 size 11 data size 8
| + Simple size 24 data size 21
| + Name: BPS size 6 data size 3
| + Tag language: eng size 6 data size 3
| + String: 253375 size 9 data size 6
| + Simple size 41 data size 38
| + Name: DURATION size 11 data size 8
| + Tag language: eng size 6 data size 3
| + String: 00:24:11.136000000 size 21 data size 18
| + Simple size 36 data size 33
| + Name: NUMBER_OF_FRAMES size 19 data size 16
| + Tag language: eng size 6 data size 3
| + String: 68022 size 8 data size 5
| + Simple size 38 data size 35
| + Name: NUMBER_OF_BYTES size 18 data size 15
| + Tag language: eng size 6 data size 3
| + String: 45960199 size 11 data size 8
| + Simple size 54 data size 51
| + Name: _STATISTICS_WRITING_APP size 26 data size 23
| + Tag language: eng size 6 data size 3
| + String: no_variable_data size 19 data size 16
| + Simple size 62 data size 59
| + Name: _STATISTICS_WRITING_DATE_UTC size 31 data size 28
| + Tag language: eng size 6 data size 3
| + String: 1970-01-01 00:00:00 size 22 data size 19
| + Simple size 76 data size 73
| + Name: _STATISTICS_TAGS size 19 data size 16
| + Tag language: eng size 6 data size 3
| + String: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES size 48 data size 45
| + Simple size 36 data size 33
| + Name: DURATION size 11 data size 8
| + String: 00:24:11.135000000 size 22 data size 19
| + Tag size 53 data size 50
| + Targets size 14 data size 11
| + Track UID: 7560444784501076719 size 11 data size 8
| + Simple size 36 data size 33
| + Name: DURATION size 11 data size 8
| + String: 00:24:11.008000000 size 22 data size 19
| + Tag size 53 data size 50
| + Targets size 14 data size 11
| + Track UID: 14546133701863992724 size 11 data size 8
| + Simple size 36 data size 33
| + Name: DURATION size 11 data size 8
| + String: 00:24:04.200000000 size 22 data size 19
|+ Cluster size 909454 data size 909447
Результирующее видео без субтитров и вложений: https://pastecode.io/s/6d8cfr7w
Результирующее видео из графического интерфейса MKVToolNix: https://pastecode.io/s/9bzhfoan
У вас есть ошибки с файлами .ttf
, которые я бы просто удалил.
ffmpeg -i inputfile.mkv -c copy -map 0:0 -map 0:1 -map 0:2 outputfile.mkv
Это создаст оригинальный файл без потоков, которые вызывают ошибку.
После этого вы сможете добавить другие потоки без проблем.
Ответ или решение
Ваша проблема связана с тем, что при добавлении дополнительных потоков (аудио и субтитров) к видео, кодек шрифтов в формате TTF, который вы пытаетесь включить в выходной файл, вызывает ошибки совместимости. Это может быть причиной того, что некоторые аудиотреки не воспроизводятся должным образом, что приводит к прекращению воспроизведения видео или отсутствию звука при переключении аудиотреков.
Возможные решения
-
Удаление шрифтов из выходного файла:
Если вы не нуждаетесь в TTF-файлах (шрифтах), которые включены в оригинальный файл, самым быстрым решением будет просто их исключить. Используйте команду:ffmpeg -i video.mkv -i audio.mka -i subs.ass -c copy -map 0:v -map 0:a -map 1:a -map 2:s out.mkv
Убедитесь, что вы не добавляете дополнительные потоки TTF в команду, и проверьте, работает ли выходной файл корректно.
-
Проверка и исправление кодека шрифтов:
Если вам нужно хранить шрифты, и они важны для отображения субтитров, постарайтесь использовать инструменты, такие как MKVToolNix, для корректного добавления шрифтов в файл. Возможно, стоит попробовать использовать этот инструмент для конвертации или объединения данных, так как он может обрабатывать вставку шрифтов более корректно. -
Альтернативное использование FFmpeg:
Попробуйте использовать параметры-map
для выбора конкретных потоков более детально, чтобы определить, какой поток вызывает проблемы:ffmpeg -i video.mkv -i audio.mka -i subs.ass -c copy -map 0:v -map 0:a -map 0:2 -map 1:a out.mkv
Такой подход может помочь вам выявить, есть ли конкретные потоки (шрифты или субтитры), которые вызывают проблемы.
-
Обновление FFmpeg:
Убедитесь, что вы используете последнюю версию FFmpeg, так как многие проблемные ситуации могут быть устранены в новых версиях. Обновление до самой последней версии может включать исправления, которые повлияют на поддержку форматов. -
Обработка ошибок с помощью FFprobe:
ИспользуйтеFFprobe
для детального анализа потоков вашего файла. Проверьте, нет ли несоответствия в форматах или кодеках, которые можно было бы исправить, прежде чем попробовать снова создать выходной файл.
Заключение
Ваша проблема вызвана несовместимостью потоков, когда вы добавляете дополнительные шрифты или используете неподдерживаемые форматы. Проверьте вашу команду и убедитесь, что все спорные потоки (TTF) были удалены или корректно обработаны. Если возникнут дополнительные вопросы или действия не решат проблему, обратитесь за помощью с детальным выводом ошибок, которые вы получаете.