10

У меня есть видео файл (в формате .mp4, .mkv, .avi или что-то еще) и файл субтитров (.srt). Я хочу встроить файл субтитров в видеофайл, чтобы у меня был только один файл - видеофайл в отличие от видео и файла субтитров.

Является ли это возможным? Как?

4 ответа4

17

Бесплатное кроссплатформенное решение с FFmpeg, которое выполняет потоковое копирование и поэтому занимает не более нескольких секунд, даже для больших файлов:

ffmpeg -i input.mp4 -i subtitles.srt -c:s mov_text -c:v copy -c:a copy output.mp4

Это работает для MP4. Помните, что некоторые форматы субтитров могут не быть автоматически совместимы с выбранными выходными форматами, поэтому вы должны изменить кодек после -c:s:

  • MP4: Используйте кодек субтитров mov_text (как в примере выше), который реализует MPEG-4 Part 17.

  • MKV: используйте srt , subrip , ssa или ass . MKV не поддерживает mov_text .

  • AVI: очень проблематично со встроенными субтитрами. Теоретически они поддерживают субтитры SubRip и SSA/ASS, но только через стороннее программное обеспечение.

Посмотрите Википедию для списка контейнеров и их поддерживаемых форматов субтитров.

Использование специализированных программ кодирования видео, таких как Handbrake, перекодирует ваше видео, что снижает его качество и может занять несколько часов для кодирования - вот почему вы должны проверить, поддерживают ли инструменты копирование видео и аудио битовых потоков.

8

MKVtoolnix - еще одна простая в использовании опция, поскольку у вас уже есть нужные файлы. Вы можете объединить их в контейнер MKV без изменения оригиналов в любом случае. Он имеет приятный графический интерфейс, чтобы помочь вам в процессе комбинирования.

Я вижу, что user1301428 упомянул Handbrake, который также является очень распространенным / популярным инструментом. Я не настолько знаком с этим, но если он не перекодирует ваш исходный AVI, то это должно быть здорово.

0

Вы можете использовать Ручной тормоз. На вкладке "Субтитры" вам просто нужно выбрать файл субтитров и затем запустить кодировку.

-1
ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .