Home Dźwięk i obraz Akceleracaja wideo przy użyciu VDPAU
Akceleracaja wideo przy użyciu VDPAU PDF Drukuj
Wpisany przez mausel   
wtorek, 16 lutego 2010 19:03

W chwili obecnej coraz częściej oglądamy filmy o dużej rozdzielczości. Pobierane z internetu materiały są naprawdę
coraz wyższej jakości i pochłaniają więcej zasobów. Filmy takie to nie tylko dużo mega na dysku, ale odtworzenie ich kosztuje
wiele z mocy naszego procesora. Ale tak być nie musi. Możemy przecież zwalić brudną robotę na procesor karty graficznej.
Użytkowników kart NVidia chciałbym zainteresować czymś co jest odpowiednikiem DxVA (DirectX Video Acceleration) API dla Windows.

 

VDPAU czyli (Video Decode and Presentation API for Unix) to bibloteki umożliwiające przeniesienie na kartę graficzną dekodowania i post-processingu wideo (w części lub całości). Nie chcę rozpisywać się zbytnio na temat samego VDPAU. Przejdźmy do informacji praktycznych. Z dobrodziejstwa tej technologi skorzystać mogą posiadacze kart graficznych NVidia od seri 8. (z wyjątkiem 8800 Ultra, 8800 GTX, 8800 GTS) z zainstalowanymi sterownikami (zamkniętymi niestety) Nvidi w wersji co najmniej 180.06. No i  oczywiście program który to umożliwi jej wykorzystanie. Ja oprę się chyba na najbardziej popularnym odtwarzaczu Mplayer który już od ponad roku wspiera wyjście VDPAU. By ponownie nie wynajdywać koła posiadaczy kart NVidia odsyłam do http://en.wikipedia.org/wiki/VDPAU by zweryfikowali czy ich karta wspiera tą technologię i w jakim stopniu. Osobiście posiadam pasywnego staruszka 8500 GT i go wykorzystuję do tych celów. Jeśli posiadacie kartę wspierającą w pełni VDPAU (patrz zamieszczony link do Wikipedii) możecie wykorzystać ją do dekodowania przy użyciu kartu graficznej większości formatów, ale szczególny zysk daje ona przy oglądaniu filmów HD wysokiej jakości 720 lub 1080. Przy zwykłych filmach obciążenie procesora jest niewielkie, tak przy materiale dużej jakości przy użyciu kodeka H.264 może być bardzo duże a już pierwsze karty wspierające VDPAU świetnie sobie z nim poradzą.

By Mplayer wykorzystał do dekodowania materiału wideo naszą kartę graficzną precyzujemy wyjście VDPAU:

 mplayer -vo vdpau


Możemy zrobić to również na stałe (polecam) w pliku ~/.mplayer/config dopisując linię:

vo=vdpau

Jest już dobrze, ale to jeszcze nie koniec. Uruchamiając film w poniższy sposób:

 mpalyer -vo vdpau film.mkv 


materiał zostanie przekazany na wyjście vdpau ale nadal będzie dekodowany przez procesor. By procesem dekodowania zajęła się karta graficzna należy jeszcze wskazać kodek. Dala filmu w kontenerze matroska (mkv) h.264 będzie to kodek ffh264vdpau:

 mplayer -vo vdpau -vc ffh264vdpau film.mkv


Teraz procesor nie będzie obciążony dekodowaniem waszego filmu i jego użycie będzie na normalnym "spoczynkowym" poziomie a całą pracą zajmie się karta.Poniżej składnia dla poszczególnych kodeków:

MPEG: mplayer -vo vdpau -vc ffmpeg12vdpau film.mpg

H.264: mplayer -vo vdpau -vc ffh264vdpau film.mkv

WMV3: mplayer -vo vdpau -vc ffwmv3vdpau film.wmv

VC-1: mplayer -vo vdpau -vc ffvc1vdpau fimm.wmv

Polecam  wykorzystanie skojarzeń plików. W moim systemie pliki mkv są otwierane poleceniem  mplayer -vo vdpau -vc ffh264vdpau,
cała reszta mplayer -vo vdpau (bez precyzowania kodeka bo moja karta i tak nie zapewnia im akceleracji). Robię tak dlatego bo zauważyłem, że wyjście VDPAU ma podobne właściwości jak stare dobre SDL, czyli umożliwia wyświetlenie napisów pod filmem a nie na nim. Oczywiście jest tak tylko gdy ten "czarny pasek" pod filmem jest dostępny co w dobie monitorów 16:9 jest rzadkie. Ale użytkownicy monitorów 4:3 i 16:10 mogą z tego skorzystać.

 

Na koniec kilka moich uwag. Mocniejsze procesory poradzą sobie z dekodowaniem bez problemu, jeszcze pozostanie zapas. Lecz w przypadku słabszych maszyn i notebooków posiadających kartę Nvidia jest to doskonałe rozwiązanie. Bardzo fajnie sprawdza się również na platformie Nvidia Ion, gdzie sam porcesor Atom nie radzi sobie z materiałem dużej jakości. W moim przypadku użycie procesora przez mplayer spada z około 40%(materiał 720) lub 70% (materiał 1080) do poziomu 2-3%  Dodam że obciążenie dekodowaniem karty graficznej nie "męczy" jej za bardzo. Temperatura mojego pasywnie chłodzonego GPU rośnie o 2-3 stopnie. Oczywiście mplayer to nie jedyny program mogący wykorzystać VDPAU, można go również uzyć np. w xine i mythtv.

Posiadacze kart ATI nie skorzystają z dobrodziejstw VDPAU, lecz i dla nich mam dobrą nowinę. Pojawił się mpalyer-vaapi wspierający sprzętową akcelerację na kartach ATI. Info tutaj: http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/

 
Komentarze (2)
Dzięki
1 środa, 17 lutego 2010 13:37
napcok
Dzięki za ten artykuł. Nie wiedziałem do tej pory "czym to się je" :D
VDPAU w SMPlayerze
2 czwartek, 14 października 2010 14:45
Maciej
SMPlayer ma dosyc mocno zozbudowane ustawienia. Czy można w nich poustawiać tak abu korzystająć z vdpau korzystać jednocześnie z przeniesienie na kartę graficzną dekodowania i post-processingu

Dodaj swój komentarz

Imię:
Temat:
Komentarz (Mozesz używać HTML'a):
 

Pogawędki

Ostatnie wiadomości: 22 godziny, 1 minuta temu
  • komar : bedą 2 wersje alpha 3 bety i 2 rc
  • komar : pierwsza wersja alpha mandrivy 2012 juz w czerwcu
  • Dharman : Przekręt z domeną jest tutaj: «link» - problemy - z - akcjonariuszami - i - domenami.html
  • piotratorix : Najbardziej denerwujący jest fakt, iż dystrybucja zależy od losów firmy. Z jednej strony dobrze, bo wiadomo, że w biznesie więcej można, ale z drugiej ta huśtawka jest denerwująca.
  • komar : mandriva jeszcze w tym roku wyda wersje 2012 zaczyna sie robic idealnie
  • piotr2p : Ok :) dołączam się oczywiście, wysłałem już odpowiedź :)
  • piotratorix : piotr2p - wysłałem Ci info na maila, nie wiem czy dotarło? Dziś ruszamy więc fajnie jakbyś się przyłączył.
  • komar : mandriva na distrowatch idzie do góry,wolno bo wolno ale idzie to juz dobry znak
  • komar : Na distrowatch mandriva idzie do gory powinno byc dobrze
  • Stan8 : Coś mi się skopało na MDV2011 i wszystko otwiera mi w edytorze tekstu. Nie mogę nic uruchomić - nawet konsoli. Zostaje tylko tryb awaryjny. Może ktoś z Was wie jak to naprawić? Jak chcę uruchomić obojętnie jaki program to uruchamia mi skrypt startowy tego programu w edytorze. Proszę pomóżcie bo nie cieszy mnie perspektywa reinstalki systemu. (Teraz piszę z innego OS).
  • komar : jeszcze troche i bedziemy widziec mandrive 2012
  • komar : z calym szacunkiem koledzy ale Mandriva żyje i zanosi sie ze bedzie zyc jeszcze bardzo dlugo ponieważ pieniadze sie znalazly to suma ok 4mln euro
  • piotr2p : ...z całym szacunkiem dla twórców forka, ale bez bez poważnych źródeł finansowania, nic z tego nie będzie...
  • piotr2p : Mam sprzęt dobierany pod Linuksa i większość dystrybucji chodzi na nim super. Niestety Mageia do nich nie należy...
  • fikus31 : jeszcze tylu nie widziałem!!
  • fikus31 : ale zainteresowanie jest MDV no 573 gosci o 03:33
  • Norbi : Najpierw padła XtremeOS,teraz MDV - szkoda.
  • Pierrot : Po co teraz instalować Mandrivę jak ta właścwie umiera. Na liście popularności Distrowatch spadła już poza pierwszą 20. Wydaje mi się, żę tym razem już Mdv się nie podniesie. Trzeba się z tym pogodzić i przesiąść się na Mageie.
  • napcok : Repo na razie nie działa, postaram się je przywrócić jak najszybciej...
  • robert : Chodzi oczywiście o instalator oprogramowania,chciałem zainstalować tą 2011.
  • robert : Nie mogę wejść na Mdvextra 2011 i na te inne też zresztą nie.
  • Pierrot : No, ciekawe. Tym bardziej, że Semonkey to tylko przerośnięty Firefox.
  • Dharman : Seamonkey ostatnio pracuje mi lepiej niż Firefox czy Chome... Ciekawe.
  • napcok : już po sprawie :)
  • napcok : także mogą być chwilowe problemy :)

Tylko dla zarejestrowanych