Извлечение закрытых подписей (CC) из файла .mkv, чересстрочного в видеопоток

727
sard

Видео выход:

ffmpeg -i output.mkv

Введите # 0, matroska, webm, из 'output.mkv':

Метаданные:

кодировщик: libebml v1.3.6 + libmatroska v1.4.9

Время создания: 2018-08-31T06: 43: 45.000000Z

Длительность: 00: 42: 51,03, начало: 0,000000, битрейт: 1928 кбит / с

Поток № 0: 0: видео: h264 (основной), yuv420p (прогрессивный), 960x540 [SAR 1: 1 DAR 16: 9], скрытые титры, 23,98 кадров в секунду, 23,98 тбн, 1 тыс. Тбит, 47,95 тбн (по умолчанию)

Используя это:

"ffmpeg" -f lavfi -i "movie = output.mkv [out0 + subcc]" -map s "output_map-s.srt"

Я могу извлечь (CC), но с нечетными временными кодами и тегами.

1 00: 00: 00019 -> 00: 00: 00051 {\ AN7} диалог

2 00: 00: 00052 -> 00: 00: 00134 {\ AN7} диалог

3 00: 00: 00135 -> 00: 00: 00161 {\ AN7} диалог

4 00: 00: 00163 -> 00: 00: 00178 {\ AN7} диалог

5 00: 00: 00179 -> 00: 00: 00194 {\ AN7} диалог

6 00: 00: 00220 -> 00: 00: 00246 {\ AN7} диалог

7 00: 00: 00,272 -> 00: 00: 00,296 {\ an7} -диалог

Какое было бы правильное предложение для извлечения синхронизированных (CC).

Благодарю.

1

1 ответ на вопрос

0
Cesar Moore

Это сработало для меня, N это индекс субтитров, начиная с 0:

ffmpeg -hide_banner -i myfile.mkv -map 0:s:N subtiles_N.srt 
You have to replace N with a number, because the MKV can have multiple subtiles. This will get you the first subtitle: ffmpeg -hide_banner -i myfile.mkv -map 0:s:0 subtiles_zero.srt Cesar Moore 6 лет назад 0
Получите ту же ошибку ... sard 6 лет назад 0
Это не может быть точно такой же ошибкой, если «0: s: 0» не соответствует ни одному из потоков. », Это может быть потому, что MKV не имеет субтитров. Cesar Moore 6 лет назад 0
The second answer here, uses the same approach: https://superuser.com/questions/391892/extract-subtitles-from-movie (it has 3 votes) Cesar Moore 6 лет назад 0
Спасибо, но это работает только с субтитрами с их собственными потоками: Stream # 0: 2: Subtitle: subrip (по умолчанию). Не закройте заголовок, закодированный в видеопотоке. sard 6 лет назад 0

Похожие вопросы