Mam mnóstwo plików MKV, które muszę przekonwertować na MP4, a moim wybranym oprogramowaniem jest Handbrake.
Utknąłem na tym, które ustawienia byłyby najlepsze do konwersji. Chcę zachować pełną jakość. Czy po prostu dokonuję konwersji z oryginalnymi ustawieniami i niczego nie zmieniam, czy jest coś konkretnego, co muszę zmienić?
video-conversion
mp4
matroska
handbrake
Pomarańczowy
źródło
źródło
Odpowiedzi:
W czym problem z hamulcem ręcznym?
Gdy używasz hamulca ręcznego do konwersji z jednego formatu kontenera na inny (np. MKV na MP4 w twoim przypadku), hamulec ręczny ponownie zakoduje wideo. Zobacz także odpowiednie żądanie funkcji , które włączałoby przekazywanie wideo:
Tak więc, za każdym razem, gdy zmieniasz kontenery za pomocą Handbrake, Twój film zostanie ponownie zakodowany, co oznacza, że a) wymaga czasu ib) może spowodować utratę jakości.
Czy muszę ponownie kodować? Czy nie mogłem po prostu zamienić pojemnika?
Ponieważ przekazywanie nie jest możliwe, zadaj sobie pytanie: Czy muszę ponownie kodować? Jeśli chcesz tylko zmienić kontener z MKV na MP4, zwykle nie musisz niczego kodować , wystarczy zmienić „zawijanie” wokół filmu. Nie traci to jakości i będzie to znacznie szybszy proces.
Możesz łatwo zamieniać kontenery za pomocą FFmpeg - wystarczy, że powiesz mu, aby skopiował strumienie wideo i audio:
Istnieją również narzędzia takie jak MP4Box, które mogą również tworzyć kontenery MP4 - to samo dotyczy MKV z MKVtoolnix .
Istnieje jednak duże zastrzeżenie: działa to tylko wtedy, gdy kodeki audio i wideo są obsługiwane w kontenerze docelowym (MP4), co ma miejsce na przykład w przypadku H.264 / H.265 i AAC, ale nie w wielu innych. Ponadto obsługa formatu napisów dla MP4 różni się od MKV i faktycznie jest dość ograniczona, więc to polecenie może się nie powieść.
Jeśli to polecenie nie działa i jeśli dane wejściowe używają niewłaściwych kodeków dla kontenera wyjściowego, prawdopodobnie będziesz musiał ponownie zakodować . W takim przypadku kodeki zostaną dostosowane do pojemnika wyjściowego.
Aby zrozumieć, dlaczego jest to konieczne, należy poznać różnicę między kodekami wideo a kontenerami . Pomoże ci to zrozumieć, dlaczego zmiana kontenerów działa i dlaczego kontenery MP4 i MKV mają tak naprawdę niewiele wspólnego z kodekami wideo.
Dlaczego zresztą kodowanie jest złe?
Nie można (zwykle) zachować pełnej jakości podczas kodowania filmu, który został już zakodowany. Dzieje się tak, ponieważ oryginał został już skompresowany przez wyrzucenie informacji, a poprzez powtórne wprowadzenie wprowadzasz utratę pokolenia .
Często chcesz ponownie kodować wideo, gdy na przykład zmieniają się jego wymiary lub potrzebujesz określonej prędkości bitów, aby wycisnąć strumień wideo lub oryginalny film używa kodeka, którego nie można odtworzyć z jakiegokolwiek powodu.
Tak więc, jeśli załadujesz wideo MKV do hamulca ręcznego i ponownie zakodujesz go za pomocą x264, koder H.264 używa hamulca ręcznego, przechowujesz go w pojemniku MP4, stracisz jakość bez względu na wszystko, chyba że ustawisz bitrate lub współczynnik jakości tak wysoki, że nie zobaczysz (naprawdę) różnicy. Ale wtedy rozmiar pliku również będzie większy.
W idealnym przypadku przekonwertowałbyś wideo na nieskompresowane wideo, które nie straci żadnej jakości, ale da ci pliki o wielkości kilkunastu gigabajtów, nawet na kilka minut materiału wideo.
Okej, ale naprawdę muszę ponownie zakodować!
Jeśli naprawdę musisz ponownie kodować, pamiętaj, aby nie ustawiać średniej szybkości transmisji, ale wybierz współczynnik stałej szybkości , który jest podobny do „stałej jakości”. Podobnie jak „zmienna przepływność” dla MP3: upewni się, że wydasz bity na potrzebne części wideo i poprawi ogólną jakość - przy tym samym rozmiarze pliku.
Zdrowe wartości CRF wynoszą od 19 do 24, gdzie niższy oznacza „lepszy”. Tak więc możesz spróbować z Współczynnikiem szybkości równym 19. Ponadto upewnij się, że ustawiłeś profil „Wysoki”, który umożliwia enkoderowi używanie wszystkich dzwonków i gwizdków oraz optymalizację jakości dla danej przepływności.
źródło
ffmpeg -i input.mp4 -c copy output.mkv
i powinieneś być w porządku.To działa dla mnie bardzo dobrze. Poniżej znajduje się kod do konwersji wszystkich plików .mkv na .mp4 w systemie Windows.
Zapisz w pliku o nazwie convert.bat.
źródło
for %%a in ("*.mkv") do %~dp0ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~na .mp4"