RECENZE: ASUS PRIME X870-P WIFI a retest Ryzenu 9 9950X
Kapitoly článků
ffmpeg 7.0.1 - AVX512
Starý dobrý ffmpeg používám nadále, ale s menší změnou a to sice takovou, že využívám nový release 7.0.1, ten má v sobě značně novější libstvtav1 knihovnu a konečně opravdu funguje použití AVX-512 instrukcí.
Konkrétně všechny Zen4, Zen5 a Rocket Lake procesory používají AVX-512, ostatní procesory pak použijí AVX2 instrukce a ty co AVX2 neumí použijí AVX, ještě starší procesory pak budou používat SSE4.2 instrukce a starší.
Originální video má 517 MB. Po konverzi má výsledné video v AV1 formátu asi 58 MB. Záleží ale na parametru -preset, ten má rozpětí hodnot 0 až 13, přičemž, čím nižší číslo tím je menší výsledný soubor. Testuji tak s dvěma presety, rychlejší(8) a pomalý(4). Tento proces bez problémů využije všechna dostupná CPU vlákna, ale ne vždy všechna na 100%, záleží na dané scéně, která se konvertuje.
V grafech uvádím jak dlouho konverze trvá a jaké byly FPS v reálném čase. ffmpeg používám ve verzi 7.0.1, je to binárka se zapečenou libsvtav1 knihovnou.
Testovací medúzy je možno stahovat zde: https://www.larmoire.info/jellyfish/
Příkaz pro spuštění vypadá takto:
ffmpeg -i jellyfish-140-mbps-4k-uhd-h264.mkv -c:v libsvtav1 -benchmark -preset 4 -pix_fmt yuv420p -crf 30 -an jelly_out.mkv
ffmpeg dobře škáluje s mnoha jádry, Ryzen 9 9950X s novým mikrokódem je zde značně rychlejší, než předtím, je možné, že se zde pozitivně projevuje snížení latencí mezi CCX.
V rychlejším presetu se AMD Ryzen 9 9950X sune na první příčku.
ffmpeg N-108782-gff3c708686
Nakonec testuji opět ffmpegem, ale v novější verzi, která má v sobě zapečenou libsvtav1 knihovnu, díky které mohu dělat konverzi za pomoci moderního AV1 kodeku. Aby byla nějaká sranda, změnil jsem zdrojové medúzy, video, které se konvertuje je pro změnu v UHD rozlišení, má délku okolo půl minuty, datový tok 140 Mbps a 30 FPS.
Originální video má 517 MB. Po konverzi má výsledné video v AV1 formátu asi 68 MB. Záleží ale na parametru -preset, ten má rozpětí hodnot 0 až 13, přičemž, čím nižší číslo tím je menší výsledný soubor. Testuji tak s dvěma presety, rychlejší(8) a pomalý(4). Tento proces bez problémů využije všechna dostupná CPU vlákna, ale ne vždy všechna na 100%, záleží na dané scéně, která se konvertuje.
V grafech uvádím jak dlouho konverze trvá a jaké byly FPS v reálném čase. ffmpeg používám ve verzi N-108782-gff3c708686-20221022, je to binárka se zapečenou libsvtav1 knihovnou.
Testovací medúzy je možno stahovat zde: https://www.larmoire.info/jellyfish/
Příkaz pro spuštění vypadá takto:
ffmpeg -i jellyfish-140-mbps-4k-uhd-h264.mkv -c:v libsvtav1 -benchmark -preset 4 -pix_fmt yuv420p -crf 30 -an jelly_out.mkv
Nejprve se podíváme na výkon v náročnějším presetu 4. AMD Ryzen 9 9950X se zde opět celkem značně posouvá na první místo, odskok od úvodního stavu je poměrně značný.
V rychlejším presetu je Ryzen 9 9950X nadále rychlejší, než 7950X.
ffmpeg N-90810-g153e920892
Jak jsem psal dříve, starší ffmpeg se starší x265 knihovnou zatím házet do koše nechci. Budu ho tedy využívat nadále, zároveň jsem se rozhodl test opepřit tím, že budu zkoušet více instancí najednou. Tím se zajistí větší zátěž CPU a pokud je procesor opravdu dobrý, budou dvě konverze najednou trvat každá stejnou dobu jako jedna samotná. Toto zatím u běžných desktopových procesorů nehrozí, technicky vzato to chce minimálně procesor s 32 jádry. Nicméně ffmpeg těží i z frekvence CPU, L3 cache, propustnosti RAM, takže i mnohojádrové ThreadRippery budou mít problém.
Jedná se o konverzi videa za pomoci x265 knihovny. Na test používám nightly build, konkrétně jsem použil verzi N-90810-g153e920892, kde jsou vylepšení, která konverzi zrychlují a také je přidána podpora pro AVX512 instrukce. ffmpeg v tomto nastavení umí použít maximálně 16 CPU vláken, benefituje samozřejmě z co nejvyššího počtu fyzických jader, velké a rychlé L2/L3 cache, rychlá RAM také konverzi urychluje. Nejdůležitější jsou ale použité instrukce na konverzi, s AVX512 je samozřejmě výkon nejlepší.
Pokud si chcete konverzi vyzkoušet, můžete si ffmpeg s testovacím videem stáhnout zde.
V odkazu ke stažení je verze N-90810-g153e920892.
Stačí rozbalit zip a spustit batku runme.cmd, batka obsahuje následující:
@echo off
echo Simple bench -> look for resulting FPS...
ffmpeg -i in.mkv -c:v libx265 -preset veryslow -pix_fmt yuv420p -crf 26 -an jelly_out_265_26veryslow.mp4
pause
Výsledky uvádím v sekundách, čím kratší dobu konverze trvá, tím lépe.
Výkon ve starší verzi ffmpegu je překvapivě nejvyšší a drtí všechny ostatní procesory.
Dále zkouším spustit ffmpeg dvakrát najednou, výsledek je opět ve formě času.