Понимание ошибки FFMPEG при извлечении субтитров

Понимание ошибки FFMPEG при извлечении субтитров

Я пытаюсь извлечь некоторые субтитры в виде srtфайла, поскольку в них есть несколько строк, которые я хотел бы отредактировать перед ремикшированием видео.

К сожалению, я столкнулся с ошибкой, которую я вообще не понимаю. Ошибка гласит: Subtitle encoding currently only possible from text to text or bitmap to bitmap.

Субтитры, которые я пытаюсь извлечь, ffmpeg описывает как hdmv_pgs_subtitle. Я не уверен, связано ли это с проблемой?

Команда, которую я выполняю, — ffmpeg -i "C:\Users\User\Desktop\Movie.mkv" -map 0:s:3 Movie.srt.

Любая информация будет высоко оценена.

решение1

Субтитры HDMV PGS — это растровые субтитры, что по сути означает, что они представляют собой ряд изображений с прозрачностью, которые накладываются на видео при включении, а не текстовые файлы, как субтитры srt. Естественно, ffmpeg не сможет преобразовать один тип в другой, особенно из растрового типа в текстовый, поскольку для этого, вероятно, требуется возможность оптического распознавания символов.

Вы можете извлечь его как есть, указав -c:s copy. (Не уверен, какое имя расширения следует использовать, но это в любом случае не имеет значения, поэтому вы можете использовать что-то вроде .pgsили даже ничего.)

решение2

Вы используете суффикс .srt(текстовый формат), поэтому он пытается преобразовать субтитры изображений в текстовые субтитры. Что он не может сделать в настоящее время.

Пытаться...

ffmpeg -i "C:\Users\User\Desktop\Movie.mkv" -map 0:s:3 -scodec copy Movie.sup

Это должно сработать. .sup— это суффикс, который ffmpeg предпочитает для pgsфайлов.

Примечание: Я также добавил -scodec copyк вашей команде. По какой-то причине ffmpeg иначе путается.

Связанный контент