Поєднання файлів відео та субтитрів як одне відео?


14

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

Це можливо? Як?


1
М’які вбудовані абонементи, які можна вимкнути, - це дорога (можливо, AVI не можливо); жорсткі підрозділи дійсно дратують, і не тільки їх додавання спричинює втрату якості, але видалення їх неможливе без подальших значних втрат.
Каран

Відповіді:


8

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

Я бачу, що user1301428 згадав Handbrake, що також є дуже поширеним / популярним інструментом. Я не так знайомий з цим, але якщо він не перекодує ваш вихідний AVI, то це повинно бути чудово.


22

Безкоштовне крос-платформене рішення з 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, Частина 17 .

  • MKV: Використовуйте srt, subrip, ssaабо ass. MKV не підтримує mov_text.

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

Дивіться у Вікіпедії список контейнерів та їх підтримувані формати субтитрів .

Використання виділених програм кодування відео, таких як Handbrake, повторно кодує ваше відео, що знижує його якість та може зайняти у вас години, щоб кодувати - саме тому ви повинні перевірити, чи підтримують інструменти копіювання бітових потоків відео та аудіо.


1
Я часом вважаю це -f srtнеобхідним, інакше чудово!
Стівен Пенні

1
У випадку, якщо файл субтитрів має *.vttформат, скористайтеся -c:s webvttтаким ffmpeg -i input.webm -i input.vtt -c:s webvtt -c:v copy -c:a copy output.webm
способом

0

Ви можете використовувати Handbrake . На вкладці "Субтитри" вам просто потрібно вибрати файл субтитрів, а потім запустити кодування.


2
Це перекодує відео, що а) потребує багато часу та б) погіршує якість.
slhck

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.