MP4 HEVC versus AV1 met hardware-codering aan/uit

Ik probeer de nieuwe AV1-profielen uit en vraag me af of er misschien iets aan te tunen valt of dat het gewoon komt doordat hardwareversnelling bij mij niet goed werkt.

Even wat achtergrond, misschien verklaart dat mijn verwarring — normaal gebruik ik het MP4 HEVC-profiel en een paar maanden geleden kreeg ik een nieuwe pc met een Intel Arc-videokaart, dus ik ben hardware-encodering gaan testen. Wat ik merkte was dat het uiteindelijke mp4-bestand (van een TS-bron) met hardwareversnelling aan misschien 10-20% groter was (de uitvoer-mp4’s zijn ongeveer 1/5 tot 1/10 van de oorspronkelijke TS), dus op het eerste gezicht zette ik hardware-encodering uit. De tegenhanger is echter de snelheid: de converssietijd was met hardwareversnelling ongeveer 1/10.

Kortom: met hardwareversnelling iets grotere bestanden, maar veel kortere verwerkingstijd.

Nu zie ik bij AV1 een ander gedrag.
Een 5,5 GB TS-bestand converteert:
met H/A naar 88 MB in iets onder 7 minuten.
zonder H/A naar 158 MB in ongeveer 48 minuten.

Voor AV1 is mijn verwerking met H/A dus sneller én kleiner (terwijl bij HEVC het sneller is maar iets groter); het addertje is dat bij HEVC de beeldkwaliteit tussen beide converssies vergelijkbaar is, terwijl bij AV1 de versie met H/A er veel slechter uitziet.

De bestandsgroottes van AV1 zijn zeker beter. Ik heb alleen de H/A HEVC-cijfers, maar dezelfde invoer levert daar 650 MB op in 7 minuten verwerkingstijd; die is qua beeldkwaliteit vergelijkbaar met AV1 zonder H/A. Ik wil alleen die langere verwerkingstijden niet echt.

Ik post dit vooral om te horen hoe andere mensen het ervaren. Ik heb ook nog een machine met een Nvidia-kaart die H/A kan, dus ik ga het komend weekend eens testen hoe AV1 daar presteert.

Kun je je conversielogs toevoegen voor met en zonder hardwareversnelling voor de AV1-bestanden? Er is hier een algoritme aan het werk dat het verschil kan veroorzaken en de logs zullen laten zien wat er gebeurt.

logs.zip (1,8 MB)
Ik heb de 2 AV1-conversielogs bijgevoegd en ik had net ook een HEVC gedaan, dus die heb ik er ook bij gedaan. Ik heb ze hernoemd zoals je zult zien, gewoon om het voor mezelf makkelijker te onthouden welke wat was.

Oke, ik heb enkele aanpassingen gedaan. Probeer het opnieuw (bij voorkeur met dezelfde video en instellingen) met de huidige 2.6.3 bètaversie (je hoeft 2.6.2 niet te verwijderen, je kunt rechtstreeks upgraden naar 2.6.3 bèta) en deel de logs.

Ter info: AV1 valt niet echt te vergelijken met HEVC, want HEVC zit op ongeveer 350 kbps tegen 1,3 Mbps voor HEVC. Dus als de visuele kwaliteit gelijk is, dan zie je daar de kracht van AV1-compressie.

Als je even tijd hebt, kun je ook één wijziging aanbrengen in het MP4 AV1-profiel dat je gebruikt en:
order=handbrake,ffmpeg veranderen in order=ffmpeg
Vervolgens dezelfde file opnieuw draaien met en zonder HA en die logs ook meesturen. Zo kunnen we de kwaliteit/prestaties tussen verschillende encoders vergelijken en optimaliseren voor een consistenter resultaat.

v263_conversionLogs.zip (2,4 MB)
De 4 logs bijgevoegd. De runs met hardwareversnelling zijn visueel beide aanzienlijk slechter dan zonder hardwareversnelling.
Ik wilde ook een conversie op Nvidia proberen, maar het is een oudere kaart en ondersteunt geen AV1, dus denk ik dat deze terugvalt op een van de andere profielen, dus kreeg alleen een softwareconversie.

Bedankt voor de logs, zeer nuttig. Ik heb enkele aanpassingen gedaan (en een bugfix) aan het AV1-algoritme. Probeer de bètaversie 2.6.3 van vandaag. Je zou een verbetering in visuele kwaliteit moeten zien, evenals een consistenter kwaliteitsniveau tussen de HA- en niet-HA-profielen.

Kun je je tests opnieuw uitvoeren en de 4 logs zoals eerder toevoegen voor de handbrake- en ffmpeg-profielen, zodat ik de resultaten van jouw machine kan zien?

beta3_20240108_Logs.zip (2,4 MB)
bijgevoegd. Ik zal er later nog eens goed naar kijken, maar de videokwaliteit is zeker beter.

Bedankt. Heb een kleine aanpassing gedaan in de huidige 2.6.3-beta waardoor alle 4 qua kwaliteit/bitrate gelijk zouden moeten liggen en mogelijk een lichte verbetering in de software-encoding-snelheid.

Ok, ik zal het proberen, maar het wordt waarschijnlijk pas later deze week.