2012-09-10 17:23:32 +0000 2012-09-10 17:23:32 +0000
44
44

Handbrake instellingen om MKV om te zetten naar MP4 met behoud van de originele kwaliteit

Ik heb een ton aan MKV bestanden die ik moet omzetten naar MP4 en mijn gekozen software is Handbrake.

Ik zit vast over welke instellingen het beste zouden zijn voor de conversie. Ik wil de volledige kwaliteit behouden. Moet ik gewoon converteren met de originele instellingen en niets veranderen of is er iets specifieks dat ik moet veranderen?

Antwoorden (2)

87
87
87
2012-09-10 17:58:20 +0000

Wat is het probleem met Handbrake?

Wanneer u Handbrake gebruikt om van het ene containerformaat naar het andere te converteren (in uw geval dus MKV naar MP4), zal Handbrake de video opnieuw encoderen. Zie ook de respectieve feature request die video passthrough mogelijk zou hebben gemaakt:

Sorry, het toevoegen van video passthrough is niet gepland. HandBrake is ontworpen om een video transcoder te zijn. Het is niet ontworpen om passthrough toe te staan.

Dus, elke keer als je van container wisselt met Handbrake, wordt je video opnieuw geëncodeerd, wat betekent dat het a) tijd kost en b) kwaliteitsverlies kan veroorzaken.

Moet ik opnieuw encoderen? Kan ik niet gewoon de container omwisselen?

Aangezien passthrough niet mogelijk is, vraag jezelf af: Moet ik opnieuw encoderen? *Als u alleen de container van MKV naar MP4 wilt veranderen, *hoeft u meestal niets te encoderen , u verandert alleen de “wikkel” om de video. Dit verliest geen kwaliteit, en het zal een veel sneller proces zijn.

Je kunt containers gemakkelijk verwisselen met FFmpeg - je hoeft het alleen maar te vertellen dat het de video en audio streams moet kopiëren:

ffmpeg -i input.mkv -c copy -map 0 output.mp4

Er zijn ook tools zoals MP4Box die ook MP4 containers kunnen maken - hetzelfde bestaat voor MKV met MKVtoolnix .

Er is echter een groot voorbehoud: dit werkt alleen als de audio en video codecs worden ondersteund in de doel (MP4) container, wat het geval is voor H.264/H.265 en AAC, bijvoorbeeld, maar niet voor vele anderen. Ook is de ondersteuning van het ondertitelformaat voor MP4 anders dan voor MKV, en zelfs vrij beperkt, zodat dit commando kan mislukken.

Als dit commando niet werkt, en als uw invoer de verkeerde codecs gebruikt voor de uitvoercontainer, zult u waarschijnlijk opnieuw moeten coderen. In dit geval zullen de codecs worden aangepast aan de uitvoercontainer.

Om te begrijpen waarom dit nodig is, is het belangrijk om het verschil tussen video codecs en containers te leren. Dit zal u helpen te begrijpen waarom het veranderen van containers werkt en waarom de containers MP4 en MKV eigenlijk weinig te maken hebben met video codecs.

Waarom is hercodering eigenlijk slecht?

Je kunt (meestal) niet de volledige kwaliteit behouden bij het encoden van een video die al geëncodeerd was. Dat komt omdat het origineel al gecomprimeerd is door informatie weg te gooien, en door het opnieuw te doen introduceer je generatieverlies .

Vaak wil je video opnieuw encoderen als bijvoorbeeld de afmetingen veranderen, of als je een specifieke bitsnelheid nodig hebt om je videostream in te persen, of als je originele video een codec gebruikt die je om wat voor reden dan ook niet kunt afspelen.

Dus, als je je MKV video in Handbrake laadt, en opnieuw codeert met x264, de H.264 codeur die Handbrake gebruikt, en opslaat in een MP4 container, ga je hoe dan ook kwaliteit verliezen, tenzij je de bitrate of kwaliteitsfactor zo hoog zet dat je het verschil niet (echt) ziet. Maar dan zal de bestandsgrootte ook groter zijn.

In het ideale geval zou je de video omzetten naar een ongecomprimeerde video, waarmee je geen kwaliteit verliest, maar wel bestanden krijgt van een tiental Gigabytes groot, zelfs voor een paar minuten videomateriaal.

Okay, maar ik moet echt hercoderen!

Als u echt moet hercoderen, zorg er dan voor dat u geen gemiddelde bitrate instelt, maar kies een Constant Rate Factor , dat is zoiets als “constante kwaliteit”. Net zoals “variable bit rate” voor MP3: Het zal ervoor zorgen dat de bits besteed worden aan de video delen die ze nodig hebben en het zal de algemene kwaliteit beter maken - bij dezelfde bestandsgrootte.

Sane CRF waarden liggen tussen 19 en 24, waarbij lager “beter” betekent. U zou het dus kunnen proberen met een Rate Factor van 19. Zorg er ook voor dat je het “High” profiel instelt, waarmee de encoder alle toeters en bellen kan gebruiken en de kwaliteit kan optimaliseren voor een gegeven bit rate.

4
4
4
2014-11-15 12:52:09 +0000

Dit werkt erg goed voor mij. Hieronder staat de code om alle .mkv naar .mp4 bestanden om te zetten in windows.

  • Het kan zijn dat je ffmpeg aan je pad moet toevoegen. je kunt ook gewoon het volledige pad naar de ffmpeg executable zetten, D:apps\ffmpegbin\ffmpeg.exe
  • Download ffmpeg voor windows hier.
  • Gebruik: Zet er een .mkv bestand op. Het zal de hele directory doen.

Opslaan in een bestand genaamd convert.bat.

for %%a in ("*.mkv") do ffmpeg.exe -i "%%a" -vcodec copy -acodec copy "%%~na .mp4"
pause