Странице

четвртак, 2. август 2012.

H.264 - profile i level

Profile

Profil je propisan zvaničnim H.264 standardom. On ograničava korišćenje pojedinih opcija. Postoje 3 osnovna profila koja x264 enkoder koristi:
  • baseline (--no-8x8dct --bframes 0 --no-cabac --cqm flat --weightp 0, no lossless mod)
  • main (--no-8x8dct --cqm flat, no lossless mod)
  • high (no lossless mod)
Ako ručno ne unesete neki od ova tri profila enkoder će označiti profil na osnovu odabranih podešavanja. Vrlo je bitno da ne postavite profil ručno ako želite da koristite lossless mod (--qp 0 ili --crf 0).
Ukratko, lossless mod u potpunosti čuva kvalitet izvornog fajla ali, kao i svaka lossless kompresija, daje višestruko veći fajl od ulaznog. Koristi se samo za privremeno čuvanje video fajla u toku obrade ali nikako za finalnu kompresiju.
Pored navedenih profila tu su i High10 profil (Hi10P), 10-bitni profil koji se uglavnom koristi za animirane filmove jer sprečava pojavu pod nazivom Color Banding. Ostali profili nisu u široj upotrebi a ima ih ukupno 21 za sada.

Level

Level (nivo) je, kao i profil definisan H.264 standardom a sadrži ograničenja koja se tiču broja referentnih frejmova (--ref), maksimalnog bitrejta, maksimalne veličine bafera, rezolucije slike i frejmrejta. Enkoder sam postavlja Level u skladu sa odabranim vrednostima pojedinih opcija pa ga nije potrebno ručno postavljati. Izuzetak je kompresija za Blu-Ray kada je potrebno postaviti --level 4.1.
Korišćenje profila i nivoa je bitno kako bi se obezbedila kompatibilnost videa sa različitim hardverskim i softverskim dekoderima. Ovo je naročito bitno kod slabijih uređaja. Dok PC može da dekodira gotovo sve mobilni telefoni, PDA i hardverski plejeri nisu ni dovoljno jaki ni dovoljno prilagodljivi da bi dekodirali sve što im poturite.
Stoga, ako kreirate video koji će se reprodukovati na računaru ne morate da vodite računa koji ćete profile i level postaviti. Ali za sve druge uređaje prvo proverite šta mogu da dekodiraju da biste znali kako da podesite enkoder i ograničite vrednosti pojedinih opcija ili same opcije.
Nemojte silom da forsirate viši profil ili nivo jer time nećete dobiti bolji kvalitet ili veći stepen kompresije. Kao što sam već napomenuo, Profile i Level zavise od odabranih opcija i njihovih vrednosti.
Listu ograničenja različitih nivoa možete videti na sledećoj slici:
H.264 Levels

Maksimalni bitrejt za  High Profile je 1.25x veći od limita za Base/Extended/Main profil, 3x puta veći za Hi10P, i 4x puta veći za Hi422P/Hi444PP.

I profil i nivo (level) predstavljaju ograničenja koja omogućavaju kompatibilnost sa hardverskim dekoderima ugrađenim u brojne uređaje kao što su mobilni telefoni, multimedijalnim i Blu-Ray plejerima. Ako ne reprodukujete video na nekom od ovih uređaja nema potrebe da ručno podešavate profil i nivo. Dozvolite slobodu enkoderu i dobićete maksimalan kvalitet za izabrana podešavanja.

субота, 21. јул 2012.

x264 - najbolji besplatni H.264 enkoder

Pre-H.264 era

Do pre par godina zvanični, i jedini u široj upotrebi, video standard za distribuciju video materijala na optičkim diskovima (DVD Video) je bio MPEG2, sa svim svojim prednostima i manama. Situacija se, međutim, promenila. Sa pojavom Blu-Ray diskova i HD (High Definition) videa zaživeo je i novi video format, daleko bolji i efikasniji od vremešnog MPEG2 formata – H.264/AVC, takođe poznat i kao MPEG4 Part 10.

Danas postoje brojni enkoderi koji podržavaju ovaj standard. Razlika u kvalitetu videa koji ovi enkoderi daju je poprilična, isto kao i razlika u ceni samih. Međutim, talentovana grupa programera je uspela da kreira enkoder koji ne košta ništa a čiji kvalitet je u rangu najskupljih komercijalnih enkodera – x264 enkoder.

x264_fire

O x264 enkoderu…

x264 je open-source CLI (Command Line Interface) enkoder kreiran tako da u potpunosti bude kompatibilan sa zvaničnim H.264 video standardom. Reč je o izvršnom fajlu veličine oko 10 megabajta koji se pokreće iz komandne linije. Najnoviju verziju uvek možete skinuti sa sajta http://x264.nl.

Mada se enkoder može koristiti i iz komandne linije za one kojima je to nezgodno i nepraktično postoje brojni besplatni programi za video kompresiju koji koriste x264 enkoder da bi odradili taj posao. Među poznatijim i kvalitetnijim programima su svakako MeGUI, StaxRip, Ripbot264, Avidemux i Xmedia Recode dok je kod Handbrake programski kod x264 enkodera direkno integrisan u sam kod programa.

Da li je x264 enkoder zaista kvalitetan?

Na razvoju ovog enkodera već skoro 10 godina neprestano rade brojni programeri a brojni entuzijasti i korisnici stalno testiraju nove verzije i sugerišu šta je dobro a šta treba popraviti. Zbog takve filozofije razvoja ne postoji ono što mnogi nazivaju stabilnom verzijom a uočeni problemi se najčešće otklanjaju za manje od 24 sata.

Jedna od potvrda kvaliteta ovog enkodera su ostvareni rezultati na testu enkodera koje sprovodi MSU Graphics & Media Lab (Video Group) već nekoliko godina unazad. Na ovim testovima x264 je zauzeo prvo mesto 5 od 6 puta u konkurenciji enkodera koji se plaćaju.

Ko koristi x264 enkoder?

Ako imate kompjuter i internet nema šanse da niste pogledali nijedan video kompresovan ovim enkoderom. Najpoznatiji korisnik ovog enkodera je svakako Youtube. Skoro svi video fajlovi koje hostuje ovaj servis su kompresovani upravo x264 enkoderom. Tu je naravno i facebook kao i brojni drugi video hosting servisi koji koriste mogućnost x264 enkodera da kreira video sa prihvatljivim kvalitetom pri izuzetno malom fajlu (bitrejtu).

Drugi veliki korisnik su video encoding grupe koje postavljaju filmove i serije na file hosting sajtovima i torentu. Sav HD video sadržaj i popriličan broj SD video materijala je u H.264 formatu a kompresovan je x264 enkoderom.

Takođe, brojni kućni korisnici koji žele da bekapuju svoje DVD/Blu-Ray filmove i serije su ukazali poverenje upravom ovom programu. Kvalitet videa je takav da je skoro nemoguće razlikovati ga od originala a veličina dobijenog fajla je 30-70% manja od originala.

Da li je teško koristiti x264 enkoder?

Nije. Odnosno, nije ništa teže od korišćenja bilo kog drugog programa iste ili slične namene. Za one koji vole da rade u Command Promt-u dovoljno je da kopiraju x264.exe u isti folder u kom se nalazi video koji žele da kompresuju i izvrše sledeću komandu:

x264.exe --output video.mp4 ulaznivideo

Ovo je samo osnovna i najjednostavnija komanda koja će kompresovati video koristeći x264 default podešavanja. To ne znači da enkoder uskraćuje korisniku detaljnija podešavanja. Naprotiv, postoji toliko mnogo parametara da je izuzetno teško objasniti ih sve a naročito objasniti kako utiču na kvalitet izlaznog videa. Ipak, neke bitnije parametre ću objasniti u tekstovima koji će uslediti.

Naravno, ko nije voljan da kuca naredbe u CMD-u može da koristi bilo koji od gore navedenih programa koji će pripremiti i video i audio a zatim ih kompresovati u željeni format.

Podržani ulazni i izlazni formati

Verzija sa http://x264.nl sajta je kompajlirana sa FFMS podrškom tako da program može da otvori skoro sve ulazne formate i kodeke na koje možete naići. To su AVI, MP4, MKV, FLV, MOV, MPG, MPEG, Divx/Xvid, H.264, H.264, WMV, VC-1 i mnoge druge. Tu je i neizbežna podrška za Avisynth skripte. Pošto je u pitanju video enkoder program ne podržava konverziju nijednog audio formata.

Izlazni video je uvek u H.264 video formatu upakovan u MKV, MP4, FLV ili kao elementary stream (.264).

Od aprila 2010. godine x264 enkoder može da kreira Blu-Ray kompatibilan video pa se može koristiti i za izradu Blu-Ray video diskova koji će raditi na bilo kom Blu-Ray plejeru.