Podesavanje H264 Kodeka

Programi, Alati, Formati, Podešavanja, Konvertovanje, Enkodiranje, Mux, Demux, Remux, DVD authoring, Blu-ray Disc authoring, Rad sa subtitlovima, Zvukom (audiom)...

Moderatori: Video Majstor, djyova, prijateljv, Ilidan

Opis foruma
- Programi, Alati, Plejeri...
- Kodeci, Filtri, Podešavanja, Analiza...
- DVD authoring, Blu-ray Disc authoring...
- Rad sa subtitlovima, Ustimavanje subtitlova, Prevodjenje...
- Video kompresija, Formati, Konvertovanje, Enkodiranje, Mux, Demux, Remux...
- Obrada zvuka (audio), Muzički programi...
...itd.

Podesavanje H264 Kodeka

Postod prijateljv » 08.04.2012 14:29

Konvertovanje MKV(x264)radim sa XMedia Recode (v3085)koji za moje potrebe radi odlicno.Koristio sam razna uputstva i savete sa ovog i slicnih foruma i kreirao neki svoj preset(podesavanje H264 kodeka)
Konvertovanje radim u dva prolaza sa zadatim bitrate.Rezultati su odlicni,film lepo "klizi" i nema onih "ukocenih skokova" po frejmovima,kao sa nekim zategnutim podesavanjem-(presetom).Problem je jedino sto ceo proces dugo traje(8-12sati)...?...
Znam da ovde glavnu ulogu ima jacina samog kompa(cpu),ali...
Primer podesavanja H264 kodeka za recimo: AVI(700MB)-MKV(320-350MB)film:
--------------------------------------------------------------------------------------------
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Muxing mode : Header stripping
Codec ID : V_MPEG4/ISO/AVC
Duration : 1h 48mn
Nominal bit rate : 400 Kbps
Width : 720 pixels
Height : 392 pixels
Display aspect ratio : 1.855
Original display aspect ratio : 1.857
Frame rate mode : Variable
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.057
Writing library : x264 core 122 r2184
Encoding settings : cabac=1 / ref=4 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.10 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=2 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / weightb=0 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=400 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=24000 / vbv_bufsize=24000 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00
Default : Yes
Forced : No
--------------------------------------------------------------------------------------------
1.Da li sem promene Profile Level(High@L4.1)i Reference Frames(4)mogu jos neke izmene u podesavanju kodeka uticati na proces(vreme) konvertovanja kako bi se zadrzao kvalitet i karakteristike koje sam pomenuo?
2.Koja je razlika:b-frames(2),b-adapt(2)-koje ja koristim,u odnosu na:b-frames(16),b-adapt(1)?
3.Sto sam vise citao,to mi je manje jasnije odredjivanje H264 bitrate:Obicno odsecem parce filma pa "nabadam" bitrate:(350-500),kako ne bih pokvario kvalitet a dobio otprilike(320-350MB)zeljenu velicinu filma,pozz
prijateljv
Član foruma
 
Postova:  192
Pridružio se:  25.01.2011 18:56

Re: Podesavanje H264 Kodeka

Postod Ilidan » 08.04.2012 20:11

Koji CPU imaš? Vidim da x264 koristi samo jedan thread. To je samo ako ti procesor ima jedno jezgro. Za više jezagra broj thread-ova se određuje kao broj jezaga*1,5.

Podešavanje kodeka? Pa, ovako:
- Level (4.1) je samo flag (oznaka) i ne utiče ni na kvalitet ni na brzinu kompresije. Tvoja podešavanja rezolucije odgovaraju Level 3.1 dok VBV odgovara Level 4.0. Tvoja podešavanja su Level 4.0 a ne 4.1 bez obzira što si ti izabrao 4.1.
- Profil utiče na brzinu kompresije. Main ne dozvoljava dct-decimate a Baseline ne dozvoljava CABAC i B-frejmove što ubrzava kompresiju ali i negativno utiče na kvalitet.
- Mogao bi da uključiš mixed refferences. Neznatno utiče na brzinu a može da da doprinos kvalitetu.
- Uključi B-pyramid. Vrlo mali uticaj na brzinu a ima uticaja na kvalitet, naročito kod većeg broja B-frejmova.
- Uključi weighedb. Bolje procenjuje raspored B-frejmova. Mali uticaj na brzinu u odnosu na dobitak u kvalitetu.
- Broj referentnih frejmova (4) je OK.
-
Koja je razlika:b-frames(2),b-adapt(2)-koje ja koristim,u odnosu na:b-frames(16),b-adapt(1)?
Tu su negde po brzini. Samo je tvoja varijanta kompatibilnija sa hardverskim plejerima. Mogao bi da povećaš B-frame na 3 pa probaj tako.
-
Sto sam vise citao,to mi je manje jasnije odredjivanje H264 bitrate:Obicno odsecem parce filma pa "nabadam" bitrate:(350-500),kako ne bih pokvario kvalitet a dobio otprilike(320-350MB)zeljenu velicinu filma
Ne postoji drugi način. Potreban bitrejt za očuvanje određenog nivoa kvaliteta zavisi od kompleksnosti svakog pojedinačnog frejma ali i korelacije između samih frejmova. A to se razlikuje od filma do filma.
Ako ti je baš stalo da ti fajlovi budu 320-350MB to što radiš sada je jedini način.
Ilidan
Član foruma
 
Postova:  81
Pridružio se:  07.01.2011 19:50

Re: Podesavanje H264 Kodeka

Postod prijateljv » 09.04.2012 3:52

Zahvaljujem na konkretnim-preciznim savetima...
Procesor(cpu)je sa jednim jezgrom tako da je thread ok.Kreirao sam jedan novi,izmenjen preset:
Mixed Reference Frames-cekiran-(1),B-Frames(3), Adaptive B-Frames:optimal-(2),B-Pyramid:normal(2), Weighted B:cekiran-(1).
Ako sam dobro razumeo,za ovakvu(720x...) rezoluciju treba da ide nizi profil-level.Kako ja ne radim vecu izlaznu rezoluciju od-(720x...),da stavim Format profile:(High@L3.1)?
Sve to bi izgledalo otprilike ovako:
-----------------------------------------------------------------------------------------------
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Muxing mode : Header stripping
Codec ID : V_MPEG4/ISO/AVC
Duration : 30s 163ms
Nominal bit rate : 435 Kbps
Width : 720 pixels
Height : 408 pixels
Display aspect ratio : 16:9
Original display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.049
Writing library : x264 core 122 r2184
Encoding settings : cabac=1 / ref=4 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.10 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=290 / keyint_min=29 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=435 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=17500 / vbv_bufsize=17500 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00
--------------------------------------------------------------------------------------------
Jos nesto me zanima-sa ovim podesavanjem,Preset i Tune je kao na slici:

Slika

Da li je redu Preset:Medium-(staviti neki drugi),kao i Tune:Film(Disable,neki drugi)ili je to dobro za ovakvo podesavanje,pozz
prijateljv
Član foruma
 
Postova:  192
Pridružio se:  25.01.2011 18:56

Re: Podesavanje H264 Kodeka

Postod Ilidan » 09.04.2012 11:45

Preset Medium je sadrži default podešavanja x264 enkodera. Ako ne ubaciš nijedan parametar osim naziva ulaznog i izlaznog fajla x264 će koristiti preset Medium. Ostali preseti su konfigurisani tako da izvuku maksimalni kvalitet za datu brzinu kompresije.
Recimo, preset Slow se razlikuje od Medium u sledećem:
--b-adapt 2 --direct auto --me umh --rc-lookahead 50 --ref 5 --subme 8
Preset Slow je sporiji od Medium i za dodatno utrošeno vreme, od svih parametara, ova kombinacija će dati optimalan kvalitet. Ako ručno podešavaš pojedine parametre najbolje je da kreneš od preseta koji najmanje zatheva izmene. U tvom slučaju, to je upravo Medium.
Tune je namenjen za dodatno finije, prilagođavanje preseta sadržaju koji se kompresuje. Film je namenjen za klasične filmove, sport i bilo koji materijal koji se odnosi na realne snimke. Animation je za klasične animirane filmove tipa The Simpsons, Bugs Bunny, Tom i Jerry itd. ali ne i za, recimo, Final Fantasy. Tu bi išao Film. Grain je za namenjen za materijal koji sadrži više film grain-a koji treba očuvati.
Mada, ako je bitrejt dosta nizak, najbolje je ne koristiti Tune Film i svakako ne Tune Grain jer, u slučaju CRF kompresije uvek povećavaju potreban bitrejt.
Level možeš da staviš na Unrestriced i program će sam, na osnovu podešavanja i rezolucije/framerate upisati odgovarajući level.
Primer mojih podešavanja (za x264CLI): --preset medium --tune film --me umh --b-adapt 2 --direct auto. Ovo mi daje brzninu i kvalitet između preseta Medium i Slow. A razlika u kvalitetu između ova dva preseta može biti i do 30% za isti bitrejt. Pogledaj test x264 enkodera http://alexxandar.wordpress.com/2011/11/06/mali-test-preset-a-kod-x264-enkodera/ koji sam radio, naročito klip Diablo.
Ilidan
Član foruma
 
Postova:  81
Pridružio se:  07.01.2011 19:50

Re: Podesavanje H264 Kodeka

Postod prijateljv » 09.04.2012 13:39

Zahvaljujem na detaljnom objasnjenju...
Sada imam sa cime da se zanimam pa cu detaljno testirati-probati podesavanja na koja si mi ukazao i preporucio.
Stavljanje-Level-na:"Unrestricted" mi je veoma korisna informacija(uvek sam bio u dilemi oko ovog odredjivanja).
Upoznat sam sa-"Alexxandar's Blog"-(cak sam ostavio i komentar).Eto,nisam znao da ti to uredjujes...pozz...
prijateljv
Član foruma
 
Postova:  192
Pridružio se:  25.01.2011 18:56

Re: Podesavanje H264 Kodeka

Postod Video Majstor » 09.04.2012 19:02

Stavljanje-Level-na:"Unrestricted" mi je veoma korisna informacija(uvek sam bio u dilemi oko ovog odredjivanja).
Ipak je najbolje znati koji level je za šta. Programi obično nude "Auto" podešavanje i onda u tom slučaju samo odrede level. Međutim svrha te funkcija je da program smanji level ukoliko je nepotrebno visok. A ako ti je cilj da level ne bude previsok (na primer da ne bude više od 4.0 da ne bi izašao iz okvira DivX Plus Hd) onda se mora više paziti.

Takođe postoji mogunost testiranja tako da se ispita da li pojedini video izlazi iz okvira pojedinog levela. ...to rade neki profesionalni alati. Duga priča... ali u svakom slučaju to služi da bi se ostalo u okvirima nekih standarda i da se ne gubi kompatibilnost ako ne mora.

Grain je za namenjen za materijal koji sadrži više film grain-a koji treba očuvati.
Na primer, stare domaće filmove sa original DVD-ja.
Korisnikov avatar
Video Majstor
Član foruma
 
Postova:  1799
Pridružio se:  24.08.2010 21:20

Re: Podesavanje H264 Kodeka

Postod Ilidan » 09.04.2012 20:39

Kod samog x264 CLI enkodera Level flag ne ograničava ništa. Dobro, ograničiće broj referentnih frejmova ako oni nisu ručno uneti u komandnu liniji. U suprotnom, samo će u konzoli ispisati upozorenje i nastaviće kompresiju.
Pogledaj ovde: http://forum.doom9.org/showthread.php?t=164644

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L2.0
Format settings, CABAC : Yes
Format settings, ReFrames : 12 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 8s 333ms
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 2.35:1
Frame rate : 60.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Writing library : x264 core 120 r2146+650 183470d
Encoding settings : cabac=1 / ref=12 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=6 / psy=1 / fade_compensate=0.00 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / fgo=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
Default : Yes
Forced : No
Pravi Level je 5.0.
Jedino rešenje za sada je da program koji koristi x264 enkoder sam ograniči podešavanja kada korisnik odabere Level. Da li XMedia Recode to radi, ne bih znao jer nisam koristio taj program više od godinu dana. MeGUI će, na primer, ograničiti broj referentnih frejmova ali rezolucija i framerate mogu da izađu iz okvira samog Level-a a da ipak stoji Level koji je korisnik uneo.
Ilidan
Član foruma
 
Postova:  81
Pridružio se:  07.01.2011 19:50

Vrati se na Video softver i Video kompresija

Ko je online

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 26 gostiju

cron