IPB

Witaj Gościu ( Zaloguj | Rejestruj )

Ważna wiadomość: Artykuły poświęcone konwersji pomiędzy różnymi formatami video znajdziesz tutaj
 
Reply to this topicStart new topic
> Wszystko co powinieneś wiedzieć o x264
By...
post sob, 28 sty 2006 - 18:26
Post #1


Nowicjusz
**

Grupa: Użytkownik
Postów: 92
Rozpoczętych tematow: 11
Dołączył: nie, 04 gru 05
Nr użytkownika: 633



Co to jest?:
x264 to opensourceowy kodek zgodny z specyfikacją MPEG4 Part 10 znaną też jako AVC. W sumie jest to jeden z lepszych kodeków AVC i w dodatku jest ciągle rozwijany.

Dlaczego jest taki dobry?:
Jego przewaga polega między innymi na bardziej "szczegółowych" algorytmach kompresji, zmiennych wielkościach plastrów, dynamicznie ustalanych wielkościach bloków (mniejsze bloki dla luminacji ze szczegółami i większe dla mniej szczegółowych obszarów), większej ilości wektorów przesunięcia, które mogą być wyznaczone na podstawie nie jednej lecz dowolnej ilości klatek w tym także klatek typu B. Całości dopełniają: filtrowanie wewnątrz kompresji oraz algorytmy CAVLC i CABAC (efektywniejszy) pod koniec kompresujące bezstratnie, otrzymany materiał.

Wszystkie to oraz inne możliwości algorytmów w AVC pozwalają uzyskać jakość taką sama jak XviD przy nawet 40% mniejszym rozmiarze (a czasami nawet jeszcze mniejszym).

Bardzo dobrze opisaną zasadę działania kodeków z rodziny AVC znajdziecie tutaj:


Jakie są wymagania?:
Niestety taka ilość dokładnych wyliczeń wiąże się z większym zapotrzebowaniem na moc obliczeniową. Innymi słowy do odtwarzania filmów skompresowanych kodekami AVC trzeba mieć lepszy procesor (powszechnie mówi się że 1GHz to minimum).

A czym kompresować?:
Najpopularniejsze kodeki to:
- H264 będący składnikiem NeroDigital bądź też Nero7 (lub nowszego)
- x264 będący opensourcową odpowiedzią na H264 (obecnie najbardziej polecany)
- QT AVC będący implementacją AVC wykonaną przez QT
Są także starsze lub mniej popularne (i niepolecane) implementacje jak:
- sex264
- Mainconcept AVC
- Franhoufer AVC
- Elcard AVC
- i wiele innych


Porównania encoderów znajduje się tutaj:



Który build wybrać?:
Jakoże x264 jest opensource'owy to istnieją różne jego buildy (wersje kompilowane wydawane przez różnych ludzi).
Do najpopoularniejszych należą te wykonane przez:

- Shartooth / Cef's (polecam)
- Celtic Druid
- Bob0r

Warto na bieżąco śledzić zmiany w klejnych rev tego kodeka, gdyż jest on stale optymalizowany i usprawniany.

A czym dekodować (odtwarzać)?:
Sytuacja w przypadku kodeków avc, wymaga aby o dekoderach mówić osobno od encoderów. Powodem jest to, iż dekoderów formatu AVC jest wiele i maja one różne osiągi i stabilność.
Do najpopularniejszych należą:
- libavcodec z ffdshow (stabilny, przeciętna szybkość dekompresji, CQM, nie daje sobie rady z kompresją anomoficzną)
- Nero Video Decoder z Nero (bardziej stabilny, wolniejszy, CQM, raczej głównie do h264 z Nero)

- CoreAVC (dość stabilny, duża szybkość dekompresji, CQM, obsługa anomorficznej kompresji)
- Mplayer (stabilny, przeciętna prędkość kompresji)
- Ateme (stabilny, przeciętna prędkość dekompresji)


Z powyższych najbardziej zalecany jest obecnie CoreAVC (zwłaszcza przy komputerach z procesorem poniżej 1Ghz), oraz libavcodec z ffdshow w przypadku problemów z CoreAVC

Porównania dekompresorów znajdziecie tutaj:


A może sprzętowa akceleracja?:
Już jakiś czas temu rozpoczęto prace nad sterownikami dla nVidii i dla ATI (osobne, niepowiązane ze sobą projekty), pozwalającymi na sprzętową akcelerację (czyli wykorzystanie GPU - procesora karty graficznej) przy AVC. Na odtwarzanie z wykorzystaniem tychże pozwalają firmowe (czytaj od ATI i nVidii) playery, kodery i dekodery, a także PowerDVD i NeroShowTime. Akcelerację sprzętową (za pomocą dowolnych kart graficznych) mają też w planach corecodec, autorzy CoreAVC.

nVidia:
W przypadku nVidii, oprogramowanie nazywa się PureVideo i jest niestety płatne. Drugim problemem jest to, iż obraz nie zawsze jest poprawnie dekodowany (technologia jest ciągle w fazie dopracowywania). Wraz z PureVideo współpracują najnowsze sterowniki ForceWare (dawniej znane jako detonatory). Niestety na sprzętową akcelerację mogą liczyć tylko posiadacze kart z seri 6xxx i nowszych. PureVideo pozwala na akcelerację przy dekodowaniu filmów kompresowanych za pomocą AVC.


ATI:
Aplikacja nazywa się ATI Avivo. Niestety aby móc skorzystać z oficjalnego oprogramowania trzeba posiadać kartę minimum X1000. Na szczęście ze strony Guru3D można pobrać wersję działającą z prawie każdą kartą. Co więcej Avivo w przeciwieństwie do PureVideo, oferuje tekże sprzętową akcelerację podczas kompresji do avc. Już wczesne wersje alpha i beta potrafiły kompresowac materiał wideo nawet do 5 razy szybciej niż obecne najszybsze (w tamtym czasie) procesory na rynku. Pomimo, że od momentu rozpoczęcia prac nad tą technologią minęło już sporo czasu, to podobnie jak PureVideo, nadal wymaga ona dopracowania.



A jak przyspieszyć kompresję?:
Niektórym przyzwyczajonym do dość szybkiej kompresji kodekami z rodziny MPEG4 ASP czy jeszcze lżejszymi, szybkość x264 może wydawać się niewystarczająca. Zwróćcie uwagę na, to że AVC jest kompresją znacznie bardziej złożoną, przez co procesor musi wykonać więcej obliczeń. Co zatem zrobić by kompresował jak najszybciej? Jest na to kilka sposobów. Nie spodziewajcie się po ich zastosowaniu nie wiem jakiego przyrostu, ale przy dłuższych materiałach (oraz o większej rozdzielczości, np HD) powinno wam się udać zaoszczędzić kilka cennych godzin.

Co robić?:
1) ustawienia kompresji: przede wszystkim umiejętnie dobrać ustawienia kompresji do kompresowanego materiału. Ustawianie wszystkiego "na maxa" znacznie wydłuża kompresję, a nie zwiększa aż tak bardzo (jak niższe parametry) współczynnika kompresji. Nie ma potrzeby ustawiania detekcji ruchów (Motion Estimation Alghoritm) od razu na Exhaustive, w większości przypadków wystarczy Multi hex. Parametr Subpixel refinement też nie musi być RDO Level 2, nie tak gorsze rezultaty daje trochę szybszy RDO lub Multi QPel. Wyłączenie detekcji makrobloków 4x4 też przyspieszy kompresję, a nie obniży tak znacznie współczynnika kompresji. Jeśli masz procesor wielordzeniowy, warto ustawić wartość Threads na ilość rdzeni, jakie mają pracować (wartość 0 to automatyczne wykrywanie, ale nei zawsze działa poprawnie). Jeśli nie mierzysz w ściśle określoną wielkośc pliku wynikowego, warto skompresować materiał 1 przebiegiem na quant (odpowiedniki kwantyzatorów XViD dla x264 podano poniżej) lub quality, zamiast 2 przebiegów. Warto używać oprogramowania z gotowymi profilami kompresji, które można wybrać w zależności od stosowanego materiału.

2) akceleracja sprzętowa: tak jak wcześniej pisałem, niektóre aplikacje (nadal ich mało) wykorzystują GPU przy kompresji. Zainteresuj się czy twoja karta i sterowniki i oprogramowanie ma taką możliwość.

3) kompresja równoległa: czyli kodowanie tego samego materiału na kilku komputerach jednocześnie, połączonych w sieć. W przypadku x264 umożliwiają to 2 projekty: ELDER oraz obecnie bardziej dopracowany x264farm. O obu poczytasz tutaj:





A co z kwantyzatorami?:
W x264 zwiększono zakres kwantyzatorów w stosunku do XviD. Teraz zamiast 1-31, które znamy z XviD, mamy przedział 0-51. Oczywiście nadal im mniejsza wartość tym lepsza jakośc, ale i większy plik. Wartości kwantyzatorów są ustalane na bazie innego algorytmu niz w przypadku XviD, dlatego kwantyzator 2 w x264 nie da takich samych rezultatów jak 2 w XviD. By przeliczyć jaki kwantyzator z XviD odpowiada kwantyzatorowy x264 należy posłużyć się wzorem:
KOD
AVC = (log ASP / log 2) * 6 +12

W drugą stronę zrobimy to za pomocą wzoru (wystarczy troszke podstaw matematyki biggrin.gif ):
KOD
ASP = 10^[(AVC-12)/6 * log 2]

gdzie:
ASP - kwantyzator dla XviD
AVC - kwantyzator dla x264
log 2 - logarytm z 2 (wynosi ok. 0.30103)

I tak np odpowiednikiem kwantyzatora 2 z XviD, dla x264 jest kwantyzator o wartości 18.
A dla XviDowego 3, mamy 21,5 w x264.
Jak widać daje nam to większe pole manewru (przedziałowi XviD od 2-3, dla x264 odpowiada szerszy przedział 18-21,5) przy dokładnym ustawianiu kwantyzatora. Optymalną wartością kwantyzatora dla x264 jeśli chodzi o stosunek wielkość/jakość jest przedział 18-22 (w zależności od typu kompresowanego materiału).



A jakimi programami kompresować?:
Było już, jakich kodeków użyć, to teraz jakich programów używać. Do wyboru jest sporo. Obecnie większość szanujących sie programów umożliwia kompresję kodekami avc. Z najpopularniejszych mamy:
- edytory zgodne z VfW (np: VirtualDub)
- nakładki na CLI (MeGUI, Lemings GUI, x264)
- edytory korzystające z włąsnych enkoderów (NeroVision/NeroRecode)

Ponieważ rozwój x264 dla VfW zatrzymał się już dość dawno (głównie, aby nie kompresowano tym kodekiem do kontenera AVI) nie polecamy używania aplikacji korzystających do kompresji AVC z enkoderów VfW (czyli VirtualDub, AVIMux, itp). Wiele aplikacji posiadających własny enkoder ogranicza nam filtrowanie i obróbkę materiału do możliwości tych aplikacji, nie dając nam możliwoścu użycia skryptu AviSynth. Dlatego ich używanie polecamy jako alternatywę. Ponieważ, x264 jest obecnie najlepiej rozwijającą się (i darmową) impelemntacją AVC, jest łatwo dostępny i często usprawniany (kolejne wersje rev) polecamy kompresję za pomocą tego kodeka, co wymusza też użycie do tego programów będących nakładkami na enkoder CLI (Command Line Interface). Obecnie najlepszą nakładką na x264 CLI jest MeGUI. Zawiera zestaw gotowych profili, umożliwia zapis do najpowszechniejszych kontenerów, a także filtrowanie i obróbkę w oparciu o AviSynth. Do tego posiada moduł automatycznei aktualizujący program o potrzebne bilbioteki, filtry i wersje enkoderów.

_________________________________________________________________


Linki

x264-Shartooth
VirtualDubMod 1.5.10.2
meGUI
Tablice kwantyzacji
.NET Framework ver2.0
AviSynth 2.5
RealAnime
MKVToolnix 2.1.0
CoreAVC
ffdshow

_________________________________________________________________

Brak możliwości dyskusji został podyktowany informacyjnym charakterem "przyklejonego". Wszystkich chcących zamieścić informacje związane z x264 proszę o powiadomienie na PM
_________________________________________________________________

Szczególny wkład wnieśli:

Suchy - opis działania, koderów i dekoderów, akceleracja sprzętowa, linki do zestawień, opis przyspieszenia kompresji, programy do kompresji, kwantyzacja, etc.
Były użytkowik forum - linki oprogramowania, pozostałe opisy, sprawna organizacja całości, etc.



_________________________________________________________________


--- Temat w budowie ---
Ostatnia aktualizacja: 23.12.2007 (Suchy)


--------------------

Go to the top of the page
 
+Quote Post
Diamond
post pon, 02 paź 2006 - 20:02
Post #2


Taki sobie nikt
Ikona grupy

Grupa: Administrator
Postów: 4,415
Rozpoczętych tematow: 462
Dołączył: wto, 22 lis 05
Skąd: 53°36'21,3 N 16°47'53,3 E
Nr użytkownika: 1



Troszkę czasu minelo od ostatniej edycji. Otworzylem temat bo byc moze ktos ma cos nowego waznego do dodania. Bedziemy wspolnie kontynuowac dzieło Henia, który odwalił z kolegami świetną robotę.


Go to the top of the page
 
+Quote Post
migrena
post wto, 03 paź 2006 - 22:35
Post #3


®Profesjonalista
*****

Grupa: Przyjaciel serwisu
Postów: 1,828
Rozpoczętych tematow: 32
Dołączył: śro, 23 lis 05
Skąd: Łódź
Nr użytkownika: 91



no to ja dodam troche:

M$ wydalo swoja wersje kodeka avc (zwany bodajze VC1) ktora ma byc uzyta do kodowania filmow na plytach hd
kodowac w tym mozna za pomoca narzedzie ktore wypuscil takze M$ - WindowsMediaEncoder ale chyba da sie tez w innych programach, vc1 instaluje sie z wmp11, wme i aktualizacja kodekow wmv, niestety nie jestem w stanie sprawdzic dzialania bo M$ zalal uzytkownikow starszych systemow i instalacja jest mozliwa tylko na xp lub nowszym
z opinii na doom9 wynika ze komplikacja kodeka jest mniejsza niz x264 a wiec i jakosc daje gorsza wiec nic straconego tongue.gif

druga rzecz to modyfikacja MeGui - dodano funkcje update ktora pobiera najnowsza wersje x264, profile i cala reszte potrzebnych programow, tak wiec jest to teraz w pelni samodzielna aplikacja


--------------------
Go to the top of the page
 
+Quote Post
Suchy
post śro, 04 paź 2006 - 18:06
Post #4


Już coś wiem
***

Grupa: Przyjaciel serwisu
Postów: 264
Rozpoczętych tematow: 12
Dołączył: pon, 28 lis 05
Skąd: Łódź (GTW)
Nr użytkownika: 394



czy vc1 to aby na pewno implementacja avc?

Pozdrawiam i przepraszam za offtop


--------------------
Go to the top of the page
 
+Quote Post
Diamond
post śro, 04 paź 2006 - 21:43
Post #5


Taki sobie nikt
Ikona grupy

Grupa: Administrator
Postów: 4,415
Rozpoczętych tematow: 462
Dołączył: wto, 22 lis 05
Skąd: 53°36'21,3 N 16°47'53,3 E
Nr użytkownika: 1



Offtopa nie ma. Najwazniejsze rzeczy bedziemy sukcesywnie dopisywac.
Go to the top of the page
 
+Quote Post
migrena
post śro, 04 paź 2006 - 23:50
Post #6


®Profesjonalista
*****

Grupa: Przyjaciel serwisu
Postów: 1,828
Rozpoczętych tematow: 32
Dołączył: śro, 23 lis 05
Skąd: Łódź
Nr użytkownika: 91



vc1 to jak najbardziej avc, no w kazdym razie m$ upiera sie przy tym stwierdzeniu wink.gif

[edit] jak sie za duzo syfu zrobi to sie skompiluje to co wazne a reszte wytnie


--------------------
Go to the top of the page
 
+Quote Post
Diamond
post czw, 05 paź 2006 - 07:21
Post #7


Taki sobie nikt
Ikona grupy

Grupa: Administrator
Postów: 4,415
Rozpoczętych tematow: 462
Dołączył: wto, 22 lis 05
Skąd: 53°36'21,3 N 16°47'53,3 E
Nr użytkownika: 1



Dokładnie tak. Najwazniejsze sie powycina a reszte wio. Doda sie kto byl autorem wypowiedzi i bedzie ok ;]
Go to the top of the page
 
+Quote Post
Reklamy (bot)
post
Post #


REKLAMY










Go to the top of the page
 
Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

Collapse

> Podobne tematy

  Temat Odpowiedzi Autor tematu: Wyświetleń Ostatnia akcja
No New Posts x264 a x265 ?
15 Misiuh264 29,134 niedziela, 24 sierpień 2014 - 12:54
Ostatni post: bzik
No New Posts x264, mkv, rozdziały - MPCHC - problem z odtwarzaniem
2 kowande 13,332 sobota, 02 sierpień 2014 - 10:23
Ostatni post: reese
No New Posts x264vfw znikł z listy dostępnych kodeków - Win7 VirtualDub
1 kowande 10,499 poniedziałek, 17 październik 2011 - 16:44
Ostatni post: Jawor
No New Posts x264 i dokładny rozmiar pliku
6 Slam 8,715 poniedziałek, 11 październik 2010 - 23:53
Ostatni post: roberttz
No New Posts x264 problem
x264 problem
1 kkkk 8,325 czwartek, 24 czerwiec 2010 - 23:10
Ostatni post: Jawor
No New Posts x264 a authoring płyty Blu-ray
8 Sad Lisa 12,356 wtorek, 26 styczeń 2010 - 23:38
Ostatni post: Amaroc
No New Posts Topic has attachmentsx264 CLI parametry w konsoli analizując programem MediaInfo
20 kenpachi 17,034 środa, 25 listopad 2009 - 15:12
Ostatni post: bzik
No New Posts Topic has attachmentsx264 kilka pytań
16 darekk 9,974 niedziela, 14 czerwiec 2009 - 21:56
Ostatni post: Jawor
No New Posts Topic has attachmentsx264 w VD ustalenie wielkości pliku
5 Tomek.S 5,848 niedziela, 05 kwiecień 2009 - 14:10
Ostatni post: Placio74
No New Posts x264 w linuksie x64
7 viru 6,931 wtorek, 02 grudzień 2008 - 23:30
Ostatni post: bzik
No new Topic has attachmentsx264 vs Xvid - do 40% różnicy rozmiaru pliku wynikowego przy zachowaniu tej samej jakości?
Czy to jest realne?
25 Placio74 28,454 środa, 16 kwiecień 2008 - 18:18
Ostatni post: Suchy
No New Posts Topic has attachmentsx264 VfW vs x264 CLI - czym się różnią pliki wynikowe?
Czy i co tracimy korzystając z x264 VfW?
14 Placio74 19,081 czwartek, 27 grudzień 2007 - 01:56
Ostatni post: Placio74
No New Posts Wszystko pięknie, ale napisy...
Ucina dolny wers tekstu
1 count_martin3z 3,566 wtorek, 25 grudzień 2007 - 20:47
Ostatni post: Kruszon
No New Posts x264 Deblocking jak go uzyskać w AVIsynth ?
4 DVD_amator 9,080 piątek, 31 sierpień 2007 - 15:39
Ostatni post: zegarek84
No New Posts X264 jak to odpalić?
3 stasik 19,889 wtorek, 31 październik 2006 - 21:48
Ostatni post: migrena
No New Posts Topic has attachmentsX264 Rev 577 Cli
Opis standartu CLI
12 Sarmatian1 8,752 wtorek, 10 październik 2006 - 00:34
Ostatni post: migrena
Closed Przyklejony: X264 Vs H.264
7 Diamond 27,052 środa, 04 październik 2006 - 23:47
Ostatni post: migrena
No New Posts x264 - odszumianie
Noise Reduction - względne wartości
0 zegarek84 6,931 czwartek, 20 lipiec 2006 - 17:27
Ostatni post: zegarek84
No new Wszystko do Yakumo
64 kskc 35,413 poniedziałek, 13 marzec 2006 - 15:05
Ostatni post: emhabe


 



- Wersja Lo-Fi Aktualny czas: wtorek, 23 kwiecień 2019 - 23:01
Zabronione jest bez zgody właściciela wyrażonej na piśmie; kopiowanie, powielanie lub jakiekolwiek inne wykorzystywanie w całości lub we fragmentach informacji, danych lub innych treści Serwisu.