Łączenie plików wideo i plików z napisami w jeden film?

14

Mam plik wideo (w formacie .mp4, .mkv, .avi lub cokolwiek innego) i plik z napisami (.srt). Chcę osadzić plik z napisami w pliku wideo, aby mieć tylko jeden plik - plik wideo w przeciwieństwie do wideo i pliku z napisami.

Czy to możliwe? W jaki sposób?


źródło
1
Najlepszym rozwiązaniem są miękkie wbudowane subwoofery, które można wyłączyć (może to jednak nie być możliwe w przypadku AVI); twarde subwoofery są naprawdę irytujące i nie tylko ich dodanie powoduje utratę jakości, ale ich usunięcie nie jest możliwe bez dalszych znaczących strat.
Karan

Odpowiedzi:

8

MKVtoolnix to kolejna łatwa w użyciu opcja, ponieważ masz już potrzebne pliki. Możesz połączyć je w pojemnik MKV bez zmiany oryginałów. Ma ładny interfejs GUI, który poprowadzi Cię również przez proces łączenia.

Widzę, że user1301428 wspomniał o hamulcu ręcznym, który jest również bardzo popularnym / popularnym narzędziem. Nie znam go tak dobrze, ale jeśli nie przekoduje on źródłowego AVI, powinno być świetnie.

Melikoth
źródło
22

Darmowe, wieloplatformowe rozwiązanie z FFmpeg , które kopiuje strumień bitów, a zatem nie zajmuje więcej niż kilka sekund, nawet w przypadku dużych plików:

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

Działa to dla MP4. Pamiętaj, że niektóre formaty napisów mogą nie być automatycznie zgodne z wybranymi formatami wyjściowymi, dlatego musisz zmienić kodek po -c:s:

  • MP4: Użyj mov_textkodeka napisów (jak w powyższym przykładzie), który implementuje MPEG-4 część 17 .

  • MKV: Użyj srt, subrip, ssalub ass. MKV nie obsługuje mov_text.

  • AVI: Bardzo problematyczne z osadzonymi napisami. Teoretycznie obsługują napisy SubRip i SSA / ASS, ale tylko za pośrednictwem oprogramowania innych firm.

Zobacz Wikipedię, aby uzyskać listę kontenerów i obsługiwanych formatów napisów .

Korzystanie z dedykowanych programów do kodowania wideo, takich jak Handbrake, ponownie koduje wideo, co obniża jego jakość i może zająć wiele godzin kodowania - dlatego należy sprawdzić, czy narzędzia obsługują kopiowanie strumieni wideo i strumieni bitowych.

slhck
źródło
1
-f srtCzasami okazało się to konieczne, w przeciwnym razie świetne!
Steven Penny,
1
Jeśli Twój plik napisów ma *.vttformat, użyj -c:s webvttopcji w następujący sposób:ffmpeg -i input.webm -i input.vtt -c:s webvtt -c:v copy -c:a copy output.webm
user3405291
0

Możesz użyć hamulca ręcznego . W zakładce „Napisy” wystarczy wybrać plik z napisami, a następnie uruchomić kodowanie.

użytkownik1301428
źródło
2
Spowoduje to ponowne zakodowanie wideo, co: a) zajmuje dużo czasu i b) pogarsza jakość.
slhck,
-1
ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi
SivaPhani
źródło