Portál AbcLinuxu, 3. května 2025 20:28
Na blogu Martina Fiedlera vyšlo srovnání kvality videa enkódovaného pomocí x264, Theora, XviD, FFmpeg MPEG-2 a Dirac. Pro srovnání kvality byl použit SSIM index. Theora v testu dopadla podobně jako XviD (lepší v nižších bitratech, horší ve vyšších). Dirac naprosto pohořel. V diskuzi však bylo upozorněno na několik problémů - např. Theora byla použita s konstantním bitrate (pro variabilní bitrate musí být použito nastavení kvality) a na enkódování Diracu byl použit referenční libdirac, nikoliv podstatně lepší Schroedinger.
Tiskni
Sdílej:
Docela by me zajimalo, kdy nekdo udela takove srovnani pro normalni lidi a pro normalni nasazeni.
Vubec by me nevadilo, kdyby soubor s Theora byl o 50MB vetsi nez treba x264 a mela by stejnou kvalitu. Je vice mene jedno jak se k tomu dojde. Seste aby asi ta komprimace trvala stejnou dobu. Nejake takove srovnani me dava smysl.
Dobra. Z toho testu teda asi vypliva, ze clovek by potreboval asi dvakrat tak velke video v Theore aby dosahnul kvality v x264. Mozna vice. Teda jestli jsem to spravne pochopil.
Docela by me zajimalo, kdy nekdo udela takove srovnani pro normalni lidi a pro normalni nasazeni.Normální nasazení a normální lidi má být zas jako co?
Nejake takove srovnani me dava smysl.Smysl v čem? Smysl v tom mít také svůj názor?
Theora v testu dopadla podobně jako XviDTak to se divím. Buď neumí autor nastavit pořádně kodér XviDu(a co tak zkusit MPEG4 ASP z dílen ffmpegu?) a nebo jsem lama já a neumím nastavit Theoru.
Dirac naprosto pohořelDirac naprosto nepohořel, ale zkoušet Dirac na 500 a 1000kbps je směšné. Ten formát je určen na úplně něco jiného. Chvástaly se, že u 9Mbps se vyrovná v subjektivním srovnání MPEGu-2 o 15Mbps. A jinak ho BBC používá při 250Mbps(!!!) kde už ocení výhody Vlnkové transformace oproti blokově založeným formátům. Je to podobné jako testovat Musepack při 64kbps.
V diskuzi však bylo upozorněno na několik problémů - např. Theora byla použita s konstantním bitrate (pro variabilní bitrate musí být použito nastavení kvality) a na enkódování Diracu byl použit referenční libdirac, nikoliv podstatně lepší Schroedinger.Nepřebral David nějak? Není to dávno co (dokonce mě osobně) doporučoval pro kódování použít Dirac-research s tím, že Schroedinger je sice rychlejší, ale vrací bůh ví jaké výsledky (což jsem si také osobně potvrdil).
Tak to se divím. Buď neumí autor nastavit pořádně kodér XviDu(a co tak zkusit MPEG4 ASP z dílen ffmpegu?) a nebo jsem lama já a neumím nastavit Theoru.Parametry jsou tam uvedené:
mencoder -ovc xvid -xvidencopts me_quality=6:qpel:trellis:nogmc:chroma_me:hq_ac:vhq=4:lumi_mask:max_bframes=2:bitrate=<bitrate>:pass=X
To je podle mě nastavení dobře optimalizované pro kvalitní výstup. Theora byla oproti tomu použita prakticky s výchozím nastavením (ffmpeg2theora --optimize --two-pass -V <bitrate>
), což ovšem podle té diskkuze pod článkem znamená, že byla de facto znevýhodněna, viz:
for theora, you shouldn’t try to use bitrate number at all, use quality number instead and check the quality. setting a bitrate using ffmpeg2theora will only produce CBR files, soft-target does not help. Only quality number (1-10) seems to be able to do VBR in theora.Navíc současná větev Theory je údajně podle diskuze na tom ještě lépe:
It’s unfortunate that you didn’t use the most current Theora encoder… The 1.1 release is known to perform poorly on SSIM, the current encoder work results in an across the board SSIM improvement of about 2dB. A marked improvement, certainly, though x264 is still a more advanced encoder (and one extensively tuned against SSIM).Co se týče Diracu / Schroedingeru, tak k tomu se vyjádřit nemůžu, sám jsem ho nikdy nějak víc nezkoušel. Jen jsem tlumočil co bylo uvedeno v té diskuzi.
nebo udělam pořádné blind testy...A ty je zaplatíš?
nebo udělam pořádné blind testy...A ty je zaplatíš?
A proč bych to měl dělat? Já se nesnažím za každou cenu dokázat, že určitý kodek je nah*vno. Když už to ale někdo dělá, měl by používat relevatntí argumenty a ne jen vytvářet FUDy...
Theora vypadá rozhodně líp než MPEG-2Se mi válí na disku, tak ať to můžu smazat:MPEG-2/Theora.(Na E-disku to také moc dlouho nepobude)
MPEG-2: frame= 5016 fps= 19 q=3.4 LPSNR=Y:40.85 U:44.83 V:46.05 *:41.91 size= 94760kB time=209.17 bitrate=3711.3kbits/s video:89410kB audio:4903kB global headers:0kB muxing overhead 0.473551% Theora: 22.4342 (Y': 20.8903 Cb: 31.1065 Cr: 30.4835)I když se mi teda ten výsledek moc nezdá. Na první pohled po sobě míň MPEG-2
maže, ale rozlišení je tak vysoké, že bloky vnímám podobně jako záchvěvy spíše jako zkreslení než jako nějaký rušivý efekt. Omezením asi bude u tak vysokého rozlišení velikost DCT bloků. Pokud je mi známo, tak Theora má 8x8 a MPEG-2 má 16x16 a prostě se tak malým blokům při tak obrovském rozlišení nedostává dat, tak jsou rády, že obsahují aspoň nějakou DC složku.
tedy alespoň z mého pohledu, díky tobě jsem zjistil, že zjevně existují i lidé kterým se kostičky líbíJsem neřekl, že se mi líbí, ale radši kostičky než deblockované fleky. U kostiček aspoň vím, že tam nepatří, ale u těch fleků si nikdo nemůže být ničím jistý. A navíc jsou víc vidět, protože dodržují jakýsi tvar a jak už jsem řekl, tak na nízké frekvence je oko háklivé a tak celkově i když se to vyhladí a obsahuje méně rušivých artefaktů(zkreslení má menší výšku, ale zase se rozprostře po ploše) to v mém případě snižuje subjektivní dojem.
deblocking a deringingJinak na ty dvě mrchy bacha. Oni sice spojují navazující bloky, ale také ovlivňují data uvnitř bloků. Také jeden z důvodů proč ty post-procesní filtry zrovna 2× nemusím.Btw. deblocking a deringing filtry zásadně zapínám i u XviDu.
BTW: Chceš 720p nebo 1080p?
Using Schroedinger encoder for video Option --full-search currently not supported in Schro encoder Option --full-search currently not supported in Schro encoder 0:00:05.58 audio: 46kbps video: 6593kbps, time remaining: 00:20:37 SCHRO: ERROR: schroencoder.c(2335): schro_encoder_mode_decision: DC block ratio too high for frame 140, inserting an intra picture 0:00:08.92 audio: 54kbps video: 6550kbps, time remaining: 00:20:32 SCHRO: ERROR: schroencoder.c(2335): schro_encoder_mode_decision: DC block ratio too high for frame 220, inserting an intra picture 0:00:17.68 audio: 61kbps video: 6510kbps, time remaining: 00:20:00 SCHRO: ERROR: schroencoder.c(2335): schro_encoder_mode_decision: DC block ratio too high for frame 430, inserting an intra picture 0:00:17.85 audio: 61kbps video: 6510kbps, time remaining: 00:19:59 SCHRO: ERROR: schroencoder.c(2335): schro_encoder_mode_decision: DC block ratio too high for frame 434, inserting an intra picture …A to jsem si ještě schválně stáhnul GIT/SVN verzi.
Using Schroedinger encoder for video Option --numL1 currently not supported in Schro encoder Option --sepL1 currently not supported in Schro encoder Option --mc-block-overlap currently not supported in Schro encoder Option --full-search currently not supported in Schro encoder Option --numL1 currently not supported in Schro encoder Option --sepL1 currently not supported in Schro encoder Option --mc-block-overlap currently not supported in Schro encoder Option --full-search currently not supported in Schro encoderDost pochybuju, že má vůbec cenu to zkoušet, jestli ty hodnoty nejsou rozumně nastavené.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.