Jak wyodrębnić napisy z filmów MP4 i MKV

27

Próbuję wyodrębnić napisy z filmów MP4 i MKV. Używam mp4box (na OS X), ale nie mogę zrozumieć, jak to działa.

Jakieś wskazówki?

Otwórz drogę
źródło

Odpowiedzi:

47

Pliki MP4 i 3GP

Bezpłatny i wieloplatformowy MP4Box działa tylko z kontenerami MP4 lub 3GP. Możesz zainstalować go ze strony głównej. Najpierw spójrz na różne utwory i sprawdź, który identyfikator należy do utworu z napisami.

MP4Box -info input.mp4

Spójrz na identyfikator obok ścieżki napisów. Następnie, w oparciu o identyfikator ścieżki, <trackId>którą chcesz wyodrębnić, wywołaj następujące polecenie:

MP4Box -raw <trackID> input.mp4

Lub, aby wyeksportować do powszechnie używanego formatu SRT:

MP4Box -srt <trackID> input.mp4

Pliki MKV

Aby wyodrębnić napisy z plików Matroska (MKV), potrzebujesz darmowych i otwartych mkvtoolnixpakietów. Pochodzą one dla systemów Windows i Linux, a na komputerze Mac można zainstalować je poprzez Homebrew z brew install mkvtoolnix.

Następnie sprawdź plik:

mkvmerge -i input.mkv

Spowoduje to wyświetlenie listy utworów, na przykład:

File 'input.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AAC)
Track ID 3: subtitles (S_TEXT/UTF8)

Na podstawie identyfikatora ścieżki wywołaj następującą komendę, gdzie <trackID>jest ta, którą zidentyfikowałeś powyżej. <output>to tylko fikcyjne imię, możesz użyć dowolnego z nich.

mkvextract tracks input.mkv <trackID>:<output>.srt

W naszym przypadku byłoby to:

mkvextract tracks input.mkv 3:subs.srt
slhck
źródło
1
To wszystko działa również na Linuksie. Znalazłem MP4Boxw gpacpakiecie dostępnym przez apt-get
aidan
1
Aby dostać się MP4Boxdo Arch Linux, musisz zainstalować gpacz repozytorium społeczności.
Alfredo Hernández,
11

Oto rozwiązanie dla praktycznie każdego formatu plików obsługiwanego przez ffmpeg( obsługiwane są nawet pliki zdalne):

ffmpeg -i video.mp4 subtitle.srt

ffmpegjest domyślnie obecny w nowszych wersjach Ubuntu, w systemach Mac OS X i Windows należy go zainstalować ( pobierając go z oficjalnej strony internetowej lub przez homebrew).

Oto video.mp4źródłowa nazwa lokalnego lub zdalnego pliku wideo oraz subtitle.srtwyjściowa nazwa pliku z napisami. Ważne jest, aby określić rozszerzenie pliku wyjściowego, ponieważ ffmpegwykrywa ono dokładnie to, co chcesz przez niego wyodrębnić. Oznacza to, że możesz określić .mp3rozszerzenie pliku, aby wyodrębnić plik audio MP3 z pliku wideo, lub po prostu ustawić inny pojemnik wideo w celu konwersji między formatami.

TiGR
źródło