NVIDIA PureVideo vs linux
2. Leden 2009
V dnešní době každý kouká po všem, kde je napsáno Full HD, 1080p, HDTV apod. Jde o video ve vysokém rozlišení. Ovšem tato technologie klade pro přehrávání poměrně velké nároky na hardware, neboť dokédovat video v takto velkém rozlišení není pro běžný procesor žádná brnkačka.

A tak víceméně k vánocům nám NVIDIA nadělila pod stromeček VDPAU - akceleraci videa na Linuxu (konkrétně H.264, WMV3, VC-1 a MPEG 1/2) pomocí grafické karty, která má výkonu, pro matematické operace, na rozdávání. Ovšem podpora pro VDPAU není pro všechny karty. Že bychom setřeli prach ze starého pc a čekali, že nám bude přehrávat videa v rozlišení 1920x1080 s prstem v nose, tak to jistě ne:-) VDPAU se týká pouze nových grafických karet GeForce 8xxx/9xxx a novějších.

Ještě než přejdu k návodu, jak si zkusit VDPAU na vlastní kůži, musím podotknout, že využití VDPAU je hlavně pro výkonější grafické karty.

Sám jsem zkoušel VDPAU na svém HTPC, které má na základní desce integrovanou grafiku GeForce 8300 a ačkoliv podporuje technologii PureVideo, tak použití VDPAU je spíše k zlosti. Při pokusu o zprovoznění jsem se potýkal s několika problémy.
Nejprve mi při pokusu o přehrání videa mplayer zcela spadnul s hláškou fatálního erroru o nemožnosti vytvoření video surface. Proto jsem se rozhodl nahlédnout do zdrojových kódů. Našel jsem v hlavičkovém souboru, že se má vytvořit asi 16 VIDEO_SURFACES_H264, což jsem zkusil snížit postupně až na číslo 1, neboť program stále padal na nemožnosti vytvořit vdpau video surface. Po trochu googlování jsem došel k předpokladu, že jde zřejmě o nedostatek video paměti. Jelikož jde o integrovanou grafickou kartu, sdílející operační pamět RAM, vlezl jsem do BIOSu a zvedl limit sdílené paměti z 128MB na 256MB (max). Poté jsem opět mplayer překompiloval a zkoušel měnit hodnoty MAX_VIDEO_SURFACES_H264. Dostal jsem se z výchozí hodnoty 16 opět až na číslo 1. A voalá video se konečně spustilo! Ovšem brzy přišlo vystřízlivění neboť kvalita videa byla objetivně o několik tříd někde jinde, barvy byly rozjeté jako kdyby se obraz měl sledovat pomocí 3D brýlí:-) Ale co se musí uznat - zátěž procesoru klesla při přehrávání několikanásobně. Horší teda na tom je, že nejenže kvalita přehrávaného videa byla hrozná, ale grafická karta dekódování, byť jen mírně zrychlených scén, vůbec nestíhala a obraz šel velmi pomalu. Tudíž použítí této technologie, v součastnosti (možná v budoucnu přijde NVIDIA s vylepšeními), na méně výkoných grafických kartách nemá žádný smysl.

Vzhledem k tomu, že jde o velmi mladou technologii, v době psaní tohoto článku neexistují již připravené balíčky s binárkou mplayeru, a tak si musíme mplayer opatchovat a zkompilovat sami.

Na ftp NVIDIA si můžete stáhnout archiv, který obsahuje skript, kteý nám stáhne zdrojáky mplayeru, aplikuje na ně patch a program zkompiluje. Dnes jsem zkoušel verzi mplayer-vdpau-3263604, ovšem tato verze je chybná, archiv neobsahuje jeden patch. Takže buďto si stáhněte verzi mplayer-vdpau-3219724, nebo si chybějící pach mplayer-vdpau-mplayer.patch vezměte z předchozí verze.

Nyní si musíme stáhnout nejnovější drivery na grafiku. Drivery najdete na stránce nvidie. Stabilní verze podporující VDPAU je obsažena v driverech 180.22 a vyšíích.

Pro instalaci nových ovladačů musíte ukončit grafický režim.

sudo /etc/init.d/kdm-kde4 stop

Poté spustíme samoinstalační soubor s ovladači

sudo ./NVIDIA-Linux-x86-180.22-pkg1.run

Po znovu spuštění Xek, bychom již měli mít možnost používat VDPAU. Takže se vrátíme k archivu, který jsme si stáhli předtím. Ten si rozbalíme kamkoliv, do složky jaké chcete. Ještě než spustíme skript na vytvoření užasného mplayeru podporující VDPAU, musíme uspokojit prerekvizity pro kompilaci. Tudíš provedeme následující kroky:

sudo apt-get install build-essential
sudo apt-get build-dep mplayer
sudo apt-get install subversion


Subversion je nutné k tomu, že skript stáhne zdrojáky mplayeru přímo dané revize, aby byli patche aplikovatelné.

Tak a nyní bychom měli být kompletně připraveni na vytvoření toho zázraku:-)

Proces pustíme spuštěním skriptu z archivu

./checkout-patch-build.sh

Nyní nám nezbývá, než čekat neboť kompilace celého mplayeru není nejkratší:-)

Takže v tuto chvíli, bychom měli mít binárku mplayeru podporující technoplogii VDPAU. V README.txt si můžeme přečíst, jak aplikaci s touto podporou spustit. Je důležité zvolit správný video codec obsahující klíčové slovo vdpau a video výstup s názvem vdpau.

./mplayer -vo vdpau -vc ffh264vdpau /home/josefkyrian/video/movies/FullHD/king_kong_h1080p.mov

Pokud máte štěstí, tak se vám spustí video v kvalitě jak jste zvyklí, ale zatížení procesoru je neobvykle nízké8-)

Osobně jsem vyzkoušel VDPAU na svém desktopu s procesorem Intel Core 2 Quad Q6600 2,40GHz a grafickou kartou NVIDIA GeForce 9600GT 1024MB DDR3 a výsledky jsou opravdu úžasné. Při přehrávání FullHD videa se dříve zatížení procesoru pohybovalo kolem 60% a při použití VDPAU je zatížení procesoru téměr stejné jako v idle stavu, pohybuje se kolem 2%!!!

Takže, jak je vidět, VDPAU není opravdu žádný marketingový trik, ale skutečné dospělá technologie, která vám dopřeje video ve vysokém rozlišení i na slabších procesorech.

Ovšem nic není bezchybné a tak co jsem pročítal na internetu, tak se najdou i videa, s kterými má takto upravený mplayer problém a nedokáže je přehrát. To jistě ale machři z NVIDIE vyladí a nezbude nám nic jiného než se pohodlně usadit a kochat se kvalitou videí;-)

<< Na začátek < Novější články | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Starší články > Na konec >>

Poslední příspěvky
Chrome jako výchozí aplikace pro odkazy v Thunderbird
OpenVPN jako náhrada za SixXS IPv6 tunel
Linux command line (G)UI disk usage tool
Linux mouse speed & acceleration
Linux console set US keyboard layout
Disable baloo baloo_file_cleaner etc...
GRUB repair
Převod ext3 na ext4
Set display brightness via command line
Compare debian packages version
Yakuake Ctrl+Shift+X shortcut
Vytvoření iso souboru
Přidání ubuntu PPA repositáře (Personal Package Archive)
Instalace oracle java z repositáře
Analýza obsazenosti disku
Zabití stromu procesu
Diakritika v názvech souborů v zipu z windows
Odstranění souborů podle určitého filtru
Výpočet autoconf ipv6 adresy z mac adresy
Použití vimdiff
Network top-like program
Preferování IPv4 před IPv6
Výpis disků a jejich UUID
Výroba síťového UTP kabelu s konektory RJ-45
Sony Vaio F11 vs ubuntu vs 802.11n
Ping rozsahu ip adres
Zjištění sériového čísla disku
Linux hotswap HDD
Logování přístupu programů na disk
Omezení rychlosti netu spuštěného programu
Výpis neplatných symlinků
Výpis programů naslouchajících na některém portu
MySQL Per-Table Tablespaces
Kopírování složek přes ssh
Synchronizace aktuálního času
Duplicitní soubory na disku
Rezervované místo na disku pro roota
Vypsání složek seřazených podle velikosti
Změna zdroje symbolických linků
Java decompiler
Buildování debian source balíčků
Vypnutí/zapnutí monitoru přes command line
Priorita přístupu procesů na disk v linuxu
Zobrazení rychlosti kopírování dd
Midnight Commander unzip problem
Interlaced video v mplayeru
Odstranění AppArmor
Network stream vs mplayer
Generování hesla pod linuxem
Vytvoření /dev/null
Vyprazdnění disk cache v linuxu
Reverzní proxy nginx -> apache se zachováním remote ip
Spouštění php skriptu v apachi pod UID skriptu
Edimax nLite EW-7711UAn vs. ubuntu (linux)
jEdit match whole word only
Pocket PC development
Změna Linux Login Shell
Windows media video ve Firefoxu v linuxu
Předávání parametrů do BASH funkcí referencí
Web browsing via ssh/socks proxy
Ubuntu live z usb flash
Vypnutí automatické synchronizace ActiveSync ve Windows Mobile
Automatické odpojení GPRS na Windows Mobile
Windows fonty v linuxu
Java plugin do Firefoxu pod linuxem
Mysql default encoding
MythTV samozapnutí PC před nahráváním
Wake on LAN vs linux / Zapínání PC mobilem
Text to speech
VirtualBox rozlišení 1920x1080
LIRC / MythTV s dálkovým ovládáním
VirtualBox rebuild kernel modulu
Cool'n'Quiet vs linux
KWorld DVB-T 210 vs linux
NVIDIA PureVideo vs linux
Bluetooth myš vs linux
Copyright © 2007-2017 Josef Kyrian, designed by Luke