Jak przekonwertować webm na MP4 dla MacOSX?

15

Jestem na MacOSX Lion i chciałbym metody konwersji webm na mp4 (lub inny format zgodny z iTunes). ffmpegwydaje się to możliwe, ale dokumentacja jest dla mnie trochę tępa; mile widziane będą wskazówki krok po kroku.

Avery Chan
źródło
Możesz także użyć hamulca ręcznego, jeśli jest już zainstalowany. Jest to piękne, otwarte GUI wokół ffmpeg i robi to bardzo ładnie i łatwo. handbrake.fr
Joshua Pinter

Odpowiedzi:

21

Uzyskaj FFmpeg

Jeśli chcesz użyć ffmpeg, idź i albo

Jeśli pobrałeś go ręcznie (nie z Homebrew), sugerowałbym skopiowanie ffmpegpliku wykonywalnego na PATH, abyś mógł go użyć z terminalu. Załóżmy, że go pobrałeś ~/Downloads/ffmpeg/ffmpeg, a następnie:

sudo mkdir -p /usr/local/bin
sudo cp ~/Downloads/ffmpeg/ffmpeg /usr/local/bin/
sudo chmod +x !$ /usr/local/bin/ffmpeg

Konwertuj na MP4

Teraz, przez „do MP4”, zakładam, że masz na myśli używanie H.264 i AAC odpowiednio jako kodeków wideo i audio. W tym celu podstawowym poleceniem byłoby:

ffmpeg -i input.webm -c:v libx264 -c:a aac -strict experimental -b:a 192k output.mp4

Jeśli chcesz kontrolować jakość, zapoznaj się z przewodnikiem kodowania x264 . Jest ustawiony z -crfopcją, gdzie domyślnie jest 23, a niższy oznacza lepszą jakość (typowe wartości to od 18 do 28). W powyższym przykładzie używa domyślnej jakości 23 dla wideo i 192 kBit / s stałej przepływności dla audio.

Jeśli chodzi o dźwięk, kompilacje statyczne nie obsługują libfdk-aac, ale jeśli masz obsługę, powinieneś użyć tego:

ffmpeg -i input.webm -c:v libx264 -c:a libfdk_aac output.mp4

FDK-AAC zapewnia lepszą jakość niż wewnętrzny koder AAC. Aby kontrolować jakość dźwięku, patrz przewodnik po kodowaniu AAC .

slhck
źródło
Z powodzeniem tworzę pliki MP4 w ten sposób na FreeBSD (z MKV i WEBM) i mogę odtwarzać je na FreeBSD z mplayer, ale Apple odmawia ich otwarcia ...
Mikhail T.
Kim jest „Apple” w twoim przypadku? QuickTime czy podgląd? Czy pojawia się jakiś konkretny komunikat o błędzie? Jakie jest wyjście `ffmpeg -i <twój-plik>?
slhck
Przez „Apple” miałem na myśli ich menedżera plików. Nie wygeneruje obrazu podglądu z pliku. Próba odtworzenia wideo (dwukrotne kliknięcie) również spowodowała wyświetlenie komunikatu o błędzie. Podobnie iMovie odmówił otwarcia pliku.
Michaił T.
Może być coś dziwnego w twoim źródle, co powoduje, że zawodzi. Jak powiedziałem, polecenie, które podałeś poniżej, tworzy mniej więcej „starsze” wideo o złej jakości. Daj mi znać, co dokładnie zawodzi, a my to rozwiążemy.
slhck
Wygląda na to, że parametr FDK-AAC jest teraz libfdk_aac (podkreślenie zamiast myślnika).
dwanaście17
0

Oto, czego z powodzeniem użyłem na FreeBSD do utworzenia plików MP4, które MacOS rozpoznałby jako taki:

ffmpeg -i input_filename -acodec aac -b:a 128k -vcodec mpeg4 -b:v 1200k -flags +aic+mv4 output_filename.mp4

Zacząłem od wiersza polecenia, korzystając z tego samouczka , ale zmieniłem libfaacna, aacponieważ nie znaleziono tego drugiego ...

Musi istnieć jakiś szczególny rodzaj szaleństwa wpływającego na programistów w dziedzinie kodeków multimedialnych, który powoduje, że subtelnie zmieniają opcje wiersza poleceń z jednej wersji do drugiej.

Michaił T.
źródło
Chociaż tworzy to rzeczywiście kontener MP4, twoje polecenie używa (starego) kodeka MPEG-4 część II, który różni się od współczesnego H.264 (patrz tutaj ), co oznacza, że ​​jakość wideo będzie niższa dla dowolnego rozmiaru pliku . Odradzam używanie tego kodeka. MacOS powinien dobrze odczytać wideo H.264. Możesz zadać nowe pytanie, w tym szczegółowe informacje o utworzonym filmie i systemie operacyjnym, a następnie ping do mnie, a zobaczę, dlaczego to nie działa.
slhck