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 mkvtoolnix
pakietó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
MP4Box
do Arch Linux, musisz zainstalować gpac
z 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
ffmpeg
jest 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.srt
wyjściowa nazwa pliku z napisami. Ważne jest, aby określić rozszerzenie pliku wyjściowego, ponieważ ffmpeg
wykrywa ono dokładnie to, co chcesz przez niego wyodrębnić. Oznacza to, że możesz określić .mp3
rozszerzenie pliku, aby wyodrębnić plik audio MP3 z pliku wideo, lub po prostu ustawić inny pojemnik wideo w celu konwersji między formatami.
MP4Box
wgpac
pakiecie dostępnym przez apt-get