Некоторые фильмы, которые я скачиваю легально, содержат вложенные субтитры. Я хотел бы, чтобы ego извлекал их в виде текстовых файлов (.srt, .sub и т.д.), Чтобы просматривать фильм на телевизоре Samsung, для которого нужны отдельные файлы как для фильма, так и для субтитров. Я пытался с VLC, но я не нашел способа извлечь их, вы знаете о каком-либо другом способе? Желательно для OSX.
4 ответа
Если у вас установлена командная строка ffmpeg, вы можете использовать:
ffmpeg -hide_banner -i Movie.mkv -map 0:s:0 subs.srt
Отображение зависит от дорожки субтитров, которую вы хотите. если это второй, то используйте:
-map 0:s:1
Работает с mp4 тоже.
Если ваше видео в формате mp4, то, например, MP4Box можно использовать для демультиплексирования (извлечения) из него различных типов потоков (видео, аудио, субтитров). Это работает только в том случае, если субтитры на самом деле не "записаны" на видеоизображении (простой тест - можете ли вы отключить их в плеере? Если да, то все должно быть хорошо).
Для файлов mp4 я использую MyMp4BoxGui с http://www.videohelp.com/tools/My-MP4Box-GUI. Это инструмент Windows, который разделяет различные дорожки в файле MP4, включая дорожки субтитров, если они есть.
- Запустите MyMp4BoxGui.
- Нажмите вкладку Demux.
- Нажмите кнопку "Открыть" и выберите файл mp4.
- Покажет видео, аудио файл и "синхронизированный текст" (субтитры), если они есть.
- Установите флажок для элемента с синхронизированным текстом.
- Нажмите кнопку "Demux".
- Будет обрабатывать файл mp4 в .srt в каталоге файлов mp4.
К сожалению, много видео файлов (особенно DVD-диски) храните субтитры как изображения. Извлечение их в виде текста для файла .srt требует процесса OCR. Google SubRip для одного решения.
Если вы имеете дело с видео, которое является фильмом, возможно, вам лучше не пытаться извлечь субтитры из ваших видеофайлов. Вместо этого перейдите на сайт, такой как http://subscene.com/, и загрузите файл srt на желаемом языке для вашего видео. Если имеется более одного файла субтитров, вам придется пробовать их, пока не найдете тот, который лучше всего синхронизируется с вашим файлом. Или используйте программу типа Subtitle_edit, чтобы настроить подфайл.
С другой стороны, если ваши субтитры (или кто-то еще, кто случайно прочитал ваш вопрос по этому вопросу =) жестко закодированы, то есть встроены в ваш видеофайл, что, например, часто имеет место с файлами AVI. Их также можно извлечь, но вам нужно будет выполнить OCR (оптическое распознавание символов). SubRip например, есть и другие. Извлечение таким способом занимает гораздо больше времени из-за многочисленных вычислений, используемых OCR (для извлечения любой "полезной информации", временных кодов, необходимо применить несколько фильтров ... тогда это просто OCR, поскольку каждый кадр может быть обработан как изображение) и результаты зависят от вашего видео (выделены ли субтитры? насколько читаемый / разборчивый шрифт используется для их отображения? они отображаются прямо на видео или есть какой-то стационарный фон? ...)