Luate de pe forumurile de conexiune

reddit

x264 este o amantă aspră. În ciuda faptului că este folosit în principal pentru comprimarea filmelor, este dintr-un motiv oarecum extrem de optimizat pentru porno tentacul anime. Mai mult decât atât, nu există nicio funcție integrată pentru începători și documentația disponibilă pare să existe doar astfel încât să poată provoca și umili persoana obișnuită. Ei bine, nu vă temeți! Chiar dacă nu am codificat nimic pentru site de peste un an probabil, sunt aici pentru a vă ghida prin (majoritatea) parametrilor semnificativi ai lui x264, astfel încât să puteți deveni mai buni la codificare. Și ca bonus, scrierea acestui lucru va împiedica personalul să mă retrogradeze într-o clasă de uzină în care locuiți restul porcilor murdari. Deci, fără alte întrebări.

Acesta este un parametru care nu necesită testare, dar este esențial pentru a obține cea mai înaltă calitate posibilă fără a rupe redarea dispozitivului independent (Popcorn Hour, WDTV Live, Roku). Preluat direct din ghidul de codare HD:

După ce ați decupat sursa în AvsPmod sau orice alt editor de scripturi pe care îl utilizați, luați ecuația 8388608/(lățime după decupare x înălțime după decupare), introducând lățimea și înălțimea sursei în ceea ce sper că sunt suficient de evidente. Luați rezultatul și rotunjiți-l în jos la cel mai apropiat număr întreg. Acesta este numărul pe care trebuie să îl utilizați pentru setarea --ref.

Cadrele B au un control echitabil asupra compresibilității (dimensiunii) codificării dvs. Mai multe bframes = timp mai lung de codificare, dar și dimensiuni mai mici de fișiere. Dar nu puteți forța exact mai multe bframe într-o codificare dacă x264 decide că nu are nevoie de ele. Ei bine, nu fără a folosi b-bias și a rupe catastrofal lucrurile. Oricum, numărul ideal de cadre B necesare pentru o codificare poate fi determinat într-o singură codificare de test. Și prin „single” vreau să spun că va trebui să utilizați filtrul avisynth SelectRangeEvery () pentru a lua câteva mii de cadre pentru a testa folosind --bframes 16. x264 va scuipa un fișier jurnal când codul de testare este finalizat. Undeva în acest jurnal va fi o linie care arată astfel:

x264 [informații]: cadre B consecutive: 0,5% 1,1% 3,6% 24,0% 14,4% 43,3% 4,0% 3,4% 1,1% 1,4% 0,5% 0,9% 0,3% 0,3% 0,2% 0,9% 0,1%

Există 17 valori listate. Fiecare reprezintă un număr specific de cadre b, de la 0 la 16. Fiecare valoare arată procentajul de cadre totale care au putut utiliza acel număr de cadre b consecutive. Din aceste numere, de obicei, îl selectez pe cel mai mare ≥ 1,0%, dar am făcut excepții pentru valorile de 0,9%.

Fie că alegeți să codificați CRF sau 2-pass, această setare va avea cel mai semnificativ impact asupra calității generale a codificării. Cu 2-pass, alegeți un bitrate. Cu crf alegeți un nivel de calitate sub forma unui factor de rată numerică. Rata de biți/calitatea va varia de-a lungul extinderii oricărei codificări, dar va ajunge la o valoare medie a valorii introduse pentru această valoare.

CRF și 2-pass folosesc exact același algoritm și, prin urmare, nu există literalmente niciun avantaj în a folosi unul peste altul. Dacă o codificare crf 20 vă oferă o rată de biți medie de 6000 kbps, o codificare cu 2 treceri @ 6000 kbps va produce exact aceeași calitate. În plus, jurnalul de la prima trecere a unui cod cu 2 treceri vă va oferi factorul de rată echivalent pe care l-ați folosi pentru o codificare CRF.

Din nou, NU există niciun avantaj pentru ambele metode. Mulți oameni preferă 2-pass, deoarece nu înțeleg pe deplin cum să folosesc următoarea setare pe care o voi trece. Alții vor face coduri de testare atât cu CRF, cât și cu 2 treceri pentru a obține calitatea ideală. Preferința mea este CRF, dar numai pentru că consider că bitrate-ul/dimensiunea fișierului ar trebui să fie irelevant și calitatea imaginii nu ar trebui să fie niciodată compromisă. Din nou, tot ce am codificat vreodată este de 400 GB.

Ratele de biți rezonabile pentru 2-pass/crf vor varia în funcție de sursa dvs. și de alte câteva setări. Nu pot spune multe despre bitrate, dar crf ar trebui să fie aproape întotdeauna între 16 și 23.

În timp ce crf și 2-pass afectează calitatea generală a codificării, qcomp afectează modul în care se aplică crf și 2-pass. Lângă crf/2-pass este cel mai important parametru x264 pentru afectarea calității codificării finale. qcomp va fi întotdeauna un număr între 0,0 și 1,0. La 0.0, numărul CRF sau rata de biți în 2 treceri va produce un bitrate constant pe întregul cod. La 1.0, varianța ratei de biți a codificării este complet neacoperită și așa va zbura ca un preșcolar dependent de crack.

Valoarea implicită este 0,6, dar pentru acțiunea activă ar trebui să fie ridicată la 0,7 sau 0,75 pentru sursele cu mult cereale/zgomot. Pentru surse de calitate mai scăzută cu cereale puține sau deloc, animație de calitate scăzută sau filme întunecate fără cereale prea mari, puteți încerca în jur de 0,55 sau 0,5. În esență, gama qcomp viabilă pentru orice sursă va fi (aproximativ) 0,45 - 0,75.

Aceasta este o setare în care testarea valorilor multiple merită cu siguranță.

Distribuiți linkul

ME (estimarea mișcării) și MERange (intervalul de estimare a mișcării) ajută x264 să prevadă mișcarea pe cadre și să comprime la un nivel mai înalt de calitate pe baza informațiilor pe care acești doi parametri îi permit să adune. Cu cât este mai mare calitatea algoritmului de estimare a mișcării și cu cât este mai mare intervalul de estimare a mișcării, cu atât este mai mare calitatea obținută. DAR acest lucru înseamnă, de asemenea, un timp de codare crescut. De asemenea, așa cum era de așteptat, veți începe să vedeți randamente diminuate în ceea ce privește calitatea pe măsură ce creșteți acești doi parametri.

Cu toate acestea, în scopul nostru, acești doi parametri sunt simpli. Dacă computerul dvs. are un procesor mai vechi/mai lent, utilizați --me umh --merange 24. Acestea au fost considerate a fi cel mai bun compromis între calitate și timp de codare, iar umh este extrem de capabil să obțină tipul de calitate pentru care ar trebui să vă străduiți . Cu toate acestea, pentru cei dintre voi cu hardware mai rapid care doresc ceva mai multă calitate: --me tesa --merange 16 este cuvântul final aici.

aq-mode afectează modul în care se aplică următoarea setare pe care o vom discuta, aq-strength. Există trei opțiuni disponibile pentru dvs. --aq-mode 2 trebuia să înlocuiască modul 1, dar este unul dintre acele lucruri care pare să fi fost optimizat cel puțin ușor pentru porno tentacul anime. Modul 2 ar trebui să funcționeze mai bine pe surse de calitate inferioară sau pe cele care au foarte puține cereale. Pentru orice altceva, veți dori să utilizați --aq-mode 1. Nu este perfect, dar deocamdată nu există o alternativă mai bună. Funcționează suficient de bine. Vă rugăm să rețineți că --aq-mode 0 dezactivează în totalitate aq-strength și nu trebuie folosit niciodată.

În orice cadru dat, x264 acordă prioritate (mai mult bitrate) macroblocurilor de calitate superioară. aq-strength determină magnitudinea acelei priorități. 1.00 este valoarea implicită. Tot ce depășește 1,00 va acorda din ce în ce mai multă prioritate macroblocurilor de calitate inferioară. Mai puțin de 1,00 va acorda mai multă prioritate macroblocurilor de calitate superioară. În general, tot ceea ce codificați ar trebui să aibă o forță aq între 0,50 și 1,30.

În timp ce cea mai mare parte din ceea ce face x264 gestionează compresia într-un cadru dat, mbtree pare să comprime informații între cadre. Încă un alt parametru x264 visat să îmbunătățească compresia porno tentaculă anime, mbtree este o idee solidă care de fapt are performanțe destul de slabe pe majoritatea surselor de acțiune live de calitate superioară.

Acest parametru este activat implicit, dar poate fi dezactivat cu --no-mbtree. MBTree ar trebui să fie oprit pentru orice sursă, chiar și cu o cantitate modestă de cereale/zgomot. Va ajuta pe surse de calitate mai scăzută, multe DVD-uri, orice filmat pe o cameră digitală (rețeaua socială, districtul 9, etc), dar datorită naturii oarecum aleatorii a cerealelor video, va crește semnificativ bitrate-ul unui cod dacă sursa a fost granulat/zgomotos.

RC-Lookahead este o altă setare x264 care afectează în mod direct câte cadre ia în considerare mbtree în timpul unei codificări. Acest lucru este important deoarece mbtree este cunoscut pentru performanțe slabe în decolorările scenei (decolorarea către sau de la negru). Pentru a atenua acest lucru, vă recomand să utilizați --rc-lookahead 250 pe literalmente fiecare codificare pe care o faceți și care utilizează mbtree. Singurul dezavantaj este că, dacă computerul dvs. are 2 GB de memorie sau mai puțin, acesta va fi oarecum inutilizabil în timpul procesului de codificare.

Trebuie remarcat faptul că qcomp afectează modul în care se aplică mbtree, dar nu într-un mod în care utilizarea mbtree ar trebui să vă afecteze deciziile cu qcomp în niciun fel.

Psy-RDO și Psy-Trellis

Aceste două setări sunt controlate de un singur parametru, în format --psy-rd x.xx: aaaa. Psy-RDO este x.xx și Psy-Trellis este y.yy Psy-RDO ar trebui să fie utilizat pe orice sursă care nu este complet lipsită de cereale. Psy-Trellis este un nemernic greu care poate economisi o cantitate rezonabilă de bitrate sau poate distruge calitatea imaginii.

Din punct de vedere tehnic, psy-rdo scade calitatea imaginii la nivel matematic. Dar aplică și un strat de zgomot pentru codificare într-un mod care crește complexitatea percepută a videoclipului. Având în vedere că zgomotul/cerealele dintr-o anumită sursă este oarecum aleatoriu pentru început, acesta este de fapt un lucru bun. Crește nivelul de calitate perceput vizual, permițând în același timp scăderea ratei de biți/dimensiunea fișierului.

Psy-rdo presupune, de asemenea, că cerealele au fost aplicate uniform în fiecare cadru din sursă. Psy-spellis nu este și este util dacă aveți o sursă în care părțile unui cadru sunt mai granuloase decât altele. Dacă puteți să căutați într-o sursă și să vedeți că bobul este acoperit în mod uniform în fiecare cadru, este probabil mai bine să păstrați psi-spaliul dezactivat. În caz contrar, ar trebui să testați psi-spalier.

Psy-RDO se referă în principal la potrivirea cerealelor. Pentru majoritatea acțiunilor live, în general, o valoare între 0,90 și 1,30 va fi suficientă. Pentru majoritatea animațiilor, 0,50 - 0,90 este o gamă bună de testare. După ce ați găsit valoarea psy-rdo ideală a sursei dvs., puteți testa psi-spalier. Vă recomand să rulați 6 coduri de test cu spalier psy: 0,05, 0,10, 0,15, 0,20, 0,25 și 0,30. Cele 6 coduri de testare ar trebui să aibă o lungime de câteva mii de cadre, din nou folosind SelectRangeEvery () și ar trebui comparate cu o codificare de testare cu psi-spaliere dezactivată. Dacă unul dintre codurile cu psy-spellis activat arată cel mai bine, lăsați acea valoare psy-spellis, dar faceți câteva teste cu modificări ușoare la psy-rdo.

Deblocarea netezește blocarea care poate apărea într-o sursă de calitate inferioară sau ocazional într-o codare x264 de calitate inferioară. Deblocarea constă din două numere. Primul număr este puterea filtrului de deblocare, iar al doilea este pragul la care filtrul decide dacă ceva este un bloc sau un detaliu care trebuie păstrat. În general, ar trebui să utilizați --deblock -3, -3 pentru tot ceea ce nu este o sursă de calitate teribilă. Puteți merge sub -3, -3 (cât mai puțin ca -6, -6) dacă doriți, dar nu aș recomanda asta decât dacă sunteți un mare fan al placebo-urilor sau televiziunea dvs. este de departe cel mai scump lucru pe care îl aveți proprii.

Adăugarea --ssim la parametrii dvs. x264 poate fi utilă pentru codurile de test. Vă va oferi date despre ssim/db, care vă vor oferi o reprezentare numerică destul de exactă a fidelității față de sursa dvs. Acest număr devine mai util atunci când se compară mai multe coduri de test și mult mai puțin util dacă codul (codurile) a folosit psy-rdo în vreun fel. Vă rugăm să rețineți că atunci când încercați să atingeți transparența vizuală, db este o alegere mai bună față de ssim pur și simplu pentru faptul că urmează o scară liniară, deoarece se apropie de transparență 100%, în timp ce ssim urmează o scară logaritmică care, prin proiect, devalorizează îmbunătățirea vizuală din ce în ce mai mult pe măsură ce vă apropiați de transparență.

--vf aka filtru video, este o încercare timpurie de a înlocui filtrele de bază avisynth cu filtre încorporate în x264. Avisynth este o parte critică a codificării video, dar și un blocaj semnificativ în ceea ce privește timpul de codare și este singurul obstacol real care împiedică codificarea x264 să fie viabilă pe platformele care nu sunt Windows. În scopuri practice, voi discuta doar despre modul în care utilizarea --vf va îmbunătăți timpul de codare:

. vă va permite să decupați și/sau să redimensionați videoclipul sursă fără a fi nevoie să utilizați un script AviSynth. Nu utilizați acest parametru în codurile de testare, doar pentru codificarea completă. Pentru codarea filmului complet, veți copia orice număr de decupare și redimensionare din scriptul de testare .avs în acest parametru. Decuparea trebuie să fie întotdeauna înainte de redimensionare. Orice lucru în afara parantezelor trebuie lăsat la fel./Este pentru separarea recoltelor și a redimensionării filtrelor. Dacă nu este nevoie să redimensionați videoclipul sursă, omiteți/și tot ce se află după acesta.

Următoarele setări, deocamdată, probabil nu merită o explicație aprofundată, deoarece acestea ar trebui să rămână aceleași pentru tot ceea ce codificați:

--analizează toate/--partition all Acești doi parametri sunt interschimbabili. Multe site-uri/ghiduri fac încă referire la acest parametru atunci când menționează compatibilitatea L4.1 (dispozitiv autonom). Și, deși face parte din punct de vedere tehnic al standardului L4.1, niciun dispozitiv autonom nu aderă de fapt la această porțiune a acestuia. Cu alte cuvinte, puteți utiliza în siguranță --analize/partiții pe toate codurile și totuși nu întrerupeți redarea dispozitivului independent în niciun fel.

--fără greutate Poate ajuta la păstrarea calității materialului CGI. În caz contrar, nu utilizați acest parametru.

Vă rugăm să considerați că acesta este un proiect (foarte) dur. Dacă am greșit sau am lăsat ceva afară, anunțați-mă.

Există mulți parametri pe care este posibil să-i fi văzut folosiți în alte coduri. Mai mult decât probabil, acestea au fost încercări de a limita rata de biți totală și de a contribui cu nimic la valoare pentru codificarea generală, în afară de a împiedica plângerile de jos să se plângă de dimensiunea fișierului.

Unele dintre intervalele de testare sugerate ale parametrilor sunt destul de mari. În cele mai multe dintre acestea am specificat unde puteți reduce codurile de testare dacă știți suficient despre tipul de sursă pe care îl aveți. În altele le-am lăsat intenționat „deschise” deocamdată. Eu și mai mulți alții lucrează la un proiect gândit de a fi mort pentru a automatiza codarea testului x264 și o mare parte din ceea ce vom face în viitorul apropiat va fi orientat spre reducerea gamei de testare și, de fapt, eliminarea unui număr mare de coduri de test necesare pentru a atinge transparența vizuală. Cu alte cuvinte, acesta este un PROIECT, așa că nu vă încurcați încă despre intervalele de testare.