У мене є відеофайл (у форматі .mp4, .mkv, .avi чи будь-який інший) та файл субтитрів (.srt). Я хочу вставити файл субтитрів у відео-файл, щоб у мене був лише один файл - відеофайл на відміну від відео та файл підзаголовків.
Це можливо? Як?
У мене є відеофайл (у форматі .mp4, .mkv, .avi чи будь-який інший) та файл субтитрів (.srt). Я хочу вставити файл субтитрів у відео-файл, щоб у мене був лише один файл - відеофайл на відміну від відео та файл підзаголовків.
Це можливо? Як?
Відповіді:
MKVtoolnix - ще один простий у використанні варіант, оскільки у вас вже є потрібні файли. Ви можете комбінувати їх у контейнер MKV, ні в якому разі не змінюючи оригінали. Він має приємний графічний інтерфейс, щоб провести вас і через процес комбінування.
Я бачу, що user1301428 згадав Handbrake, що також є дуже поширеним / популярним інструментом. Я не так знайомий з цим, але якщо він не перекодує ваш вихідний AVI, то це повинно бути чудово.
Безкоштовне крос-платформене рішення з 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, повторно кодує ваше відео, що знижує його якість та може зайняти у вас години, щоб кодувати - саме тому ви повинні перевірити, чи підтримують інструменти копіювання бітових потоків відео та аудіо.
-f srt
необхідним, інакше чудово!
*.vtt
формат, скористайтеся -c:s webvtt
таким ffmpeg -i input.webm -i input.vtt -c:s webvtt -c:v copy -c:a copy output.webm