Это сработало для меня, N это индекс субтитров, начиная с 0:
ffmpeg -hide_banner -i myfile.mkv -map 0:s:N subtiles_N.srt
Видео выход:
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).
Благодарю.
Это сработало для меня, N это индекс субтитров, начиная с 0:
ffmpeg -hide_banner -i myfile.mkv -map 0:s:N subtiles_N.srt