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?
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?
Odpowiedzi:
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
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
MP4Boxdo Arch Linux, musisz zainstalować gpacz repozytorium społeczności.
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.
MP4Boxwgpacpakiecie dostępnym przez apt-get