VLC 2.0: dekódování na GPU mu ještě moc nejde

Adam Štrauch 24. 2. 2012

Před šesti dny vyšla nová verze populárního multimediálního přehrávače VLC s kulatým označením 2.0. Přinesla opravdu mnoho novinek, ale také nějaké ty chyby. Bez ohledu na ohlasy uživatelů byl vývoj veden vesměs k lepšímu, i když dekódování na GPU není dokonalé a není to jediná nerovnost, co potřebuje zabrousit.

VLC není přehrávač, který by stavěl na vzhledu, ale spíše takový švýcarský nůž, který lze rozdělat mnoha způsoby. Jeho hlavní předností je integrovaná podpora pro téměř každý myslitelný formát a kodek. Poradí si s videem, obrázky, hudbou, DVB streamem a v nové verzi mu nedělají problémy ani profesionální kodeky. Zároveň ale zůstal jednoduchý a i když verzi 2.0 utvářelo 160 lidí v 7000 úpravách, po prvním spuštění budete jen marně hledat, co se objevilo nového. Je tedy zřejmé, že většina změn zůstala pod kapotou. Tady jsou ty nejzajímavější:

  • Nové video výstupy pro Windows 7, Android, iOS a OS/2
  • Multi-threadové dekódování pro H.264, MPEG-4/Xvid a WebM
  • Dekódování na GPU
  • Obraz v obraze s podporu akcelerace na GPU
  • Dekódování na CrystalHD a Android OpenMAX
  • Podpora nových 10bit a HD kodeků
  • Experimentální podpora pro Blu-ray disky
  • Nové audio výstupy pro iOS, Android a OS/2
  • Podpora streamovacích protokolů HLS a DASH
  • Vykreslování titulků mimo video
  • Změna licence knihoven libVLC, libVLCcore a libcompat z GPL na LGPLv2.1+
  • Nové JSON requesty ve webovém rozhraní (ovládání z telefonu apod.)
  • Přepsaný plugin pro webové prohlížeče

Výpis samozřejmě není kompletní, některé další věci najdete v oznámení o vydání, možná tam bude něco, co se vám hodí a pokud chcete jít úplně do hloubky, tak pomůže git repositář, respektive jeho historie.

Instalujeme

Instalace nové verze VLC není nějak komplikovaná, pokud máte distribuci jako třeba Ubuntu, pro které připravil balíčky Nate Muench. Pak stačí spustit:

$ sudo add-apt-repository ppa:n-muench/vlc
$ sudo apt-get update
$ sudo apt-get upgrade 

A je hotovo. U ostatních distribucí to už záleží na jejich zvyklostech. Například Archlinux už aktualizaci dostal, Debian má nové VLC v unstable a OpenSUSE také nezůstalo pozadu. O dalších distribucích bohužel nemám přehled, ale je možné, že budete muset sáhnout ke zdrojovým kódům a kompilovat.

Dekódování na grafické kartě

Na první pohled je poznat, že se VLC trochu změnilo. Změny v rozhraní jsou ale spíše kosmetického rázu. Jednou novou věcí, které jsem si na první pohled všiml, je malá ikonka pro přepínání způsobu zobrazení seznamu souborů, ale jinak je VLC stejně dobré či špatné, jako bývalo.

Osobně jsem se v novém VLC těšil na tři věci, a to dekódování na GPU, vylepšené dekódování ve více vláknech a nakonec přepracované vykreslování titulků. Jde o vlastnosti, které sice nepraští hned do očí, ale dokáží usnadnit práci s přehrávačem. Všechny tři se do VLC dostaly, ale tak jak jsem očekával, mě potěšilo jen vykreslování titulků. Hardwarové dekódování se sice podle výpisu VLC do konzole použije, ale zatížení CPU je stejné nebo větší než bez něj.

Videa se přehrávají plynule a zatížení CPU se při přehrávání 720p HD videa drží na obou jádrech kolem 20 %. U 1080p videí je výsledek horší a zatížení je 70 % na obou jádrech. Při vypnutí hardwarového dekódování se zatížení sníží přibližně na 50 a 50 %, což je i tak dobrý výsledek například proti tomuto uživateli. Vzhledem k tomu, že si na problémy s dekódováním na GPU stěžuje více uživatelů, je možné, že jde o chybu, která bude snad v další verzi opravena.

Dalším milým překvapením je v nové verzi vylepšené dekódování ve více threadech. Sliboval jsem si od toho, že by mohla plynule fungovat 720p videa na stařičkém Atomu N270, ale vzhledem k problémům popsaným výše si nemyslím, že tahle verze bude pro mého Atoma zrovna to pravé. Praktický test pak ukázal, že mplayer2 si se stejným videem na Atomu poradí mnohem lépe, i když ne stoprocentně. U jiných procesorů bude situace opačná a tam kde se vám dříve sekalo některé z HD videí, je možné, že nyní pojede bez problémů. Počet threadů pro dekódování si VLC určuje automaticky, pokud mu nějakou hodnotu explicitně nevnutíte v nastavení.

Dekódování videa nemusí být řešeno jen na grafické kartě, ale existují i karty, které lze připojit na PCI Express sběrnice a dekódování pak provádějí ony. Nejznámějším zástupcem je Broadcom CrystalHD. Jde o malou kartu do mini-PCI Express, kterou můžete vybavit třeba svůj notebook a přes adaptér i desktop. A právě pro CrystalHD má nyní VLC podporu.

Vykreslování titulků mohlo být v jedné z předchozích verzí VLC noční můrou. Titulky se totiž kreslily přímo do videa, a tak je nebylo možné posunout do černého pruhu, a nebo v některých videích nebyly vidět vůbec. V nové verzi se titulky kreslí nezávisle na videu, a tak drží svou velikost, barvu, ostrost a i když jde do tuhého u nějakého podivného videa, pořád se zobrazují.

Streaming

Pokud holdujete streamovanému obsahu, určitě vás zaujme podpora dvou nových protokolů HLS a DASH. HLS, celým názvem HTTP Live Streaming, je z dílny Applu a značí se tím, že proleze jakýmkoli firewallem nebo proxy serverem, který propustí HTTP spojení. Uživatel si může během přehrávání vybrat kvalitu streamu, která bude vyhovovat možnostem jeho spojení s druhou stranou. VLC zvládne pomocí HLS video přijímat i streamovat.

DASH, neboli Dynamic Adaptive Streaming over HTTP funguje také přes HTTP, také proleze všude možně, ale proti HLS pochází od skupiny MPEG (Moving Picture Experts Group). Podle Wikipedia má DASH své kořeny i v dalších technologiích jako HTTP Dynamic Streaming od Adobe, Microsoft Smooth Streaming a nemůže chybět ani zmíněny HLS.

Změna licence libVLC a podpora mobilních platforem

I když to na první pohled není moc znát, je změna licence knihoven libVLC, libVLCcore a libcompat na LGPLv2.1+ velmi důležitá a ocení ji především vývojáři různých multimediálních programů. Ti teď mohou vzít to všechno dobré, co se ve VLC skrývá a připojit to do svých (i uzavřených) programů. Pro vývojáře VLC se zas tolik nezměnilo, ale pokud o tyto knihovny projeví zájem nějaká firma a postaví na nich svůj projekt, mohlo by to do VLC přidat tolik potřebnou vývojářskou sílu. Do této doby mohly tyto knihovny používat jen GPL programy, což může být limitující i pro jednotlivce, natož pro firmy.

Pozornost byla věnována i mobilním platformám, kde VLC dostalo podporu pro OpenMAX (Open Media Acceleration), což je multiplatformní rozhraní, které najdeme třeba v Androidu 4.0 ICS a umožňuje aplikacím přistupovat k multimediálnímu hardwaru nezávisle na jeho výrobci nebo typu. Kromě toho byly přidány video a audio výstupy pro operační systémy iOS, tak Android, což opět udělá portování VLC na mobily o něco snazší.

Shrnutí

VLC 2.0 se možná mělo ještě nějaký ten týden odlaďovat, ale netroufl bych si tvrdit, že jde o nepovedené vydání nebo dokonce krok zpět. Nová verze toho přinesla hodně a v obrovském rozsahu, což se nedá schovat za jednotný úspěch či neúspěch. Dekódování na GPU bude ještě potřeba trochu vyladit, ale u VLC je to jen otázkou času.

Našli jste v článku chybu?
Měšec.cz: Investice do drahých kovů - znáte základní chyby?

Investice do drahých kovů - znáte základní chyby?

Lupa.cz: eIDAS: Nepřehnali jsme to s výjimkami?

eIDAS: Nepřehnali jsme to s výjimkami?

DigiZone.cz: Kauza technik: oficiální vyjádření Novy

Kauza technik: oficiální vyjádření Novy

120na80.cz: Tipy pro odvodnění organismu

Tipy pro odvodnění organismu

DigiZone.cz: Skylink v 1. polovině srpna ukončí 12 207

Skylink v 1. polovině srpna ukončí 12 207

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Měšec.cz: Se stavebkem k soudu už (většinou) nemusíte

Se stavebkem k soudu už (většinou) nemusíte

Lupa.cz: Největší torrentový web KickassTorrents padl

Největší torrentový web KickassTorrents padl

Podnikatel.cz: Nereaguje na výzvu ČOIky, zaplatí milion

Nereaguje na výzvu ČOIky, zaplatí milion

Vitalia.cz: Jak na domácí zmrzlinu?

Jak na domácí zmrzlinu?

Podnikatel.cz: Fotogalerie: Jesenka už má skoro 50 let

Fotogalerie: Jesenka už má skoro 50 let

Měšec.cz: Na návstěvě: call centrum Global Assistance

Na návstěvě: call centrum Global Assistance

120na80.cz: Řepík má protizánětlivé účinky a detoxikuje

Řepík má protizánětlivé účinky a detoxikuje

Měšec.cz: Kdy může jít na mateřskou otec či prarodiče?

Kdy může jít na mateřskou otec či prarodiče?

Vitalia.cz: Za zánět močových cest mohou plavky

Za zánět močových cest mohou plavky

Lupa.cz: Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR

Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR

Vitalia.cz: Petr Koukal: Až rakovina mi zkvalitnila život

Petr Koukal: Až rakovina mi zkvalitnila život

Podnikatel.cz: Eshop z ČR v Rumunsku? Žádná legrace

Eshop z ČR v Rumunsku? Žádná legrace

Lupa.cz: EU začala prověřovat bezpečnost open-source

EU začala prověřovat bezpečnost open-source

120na80.cz: Nyní středně velké riziko

Nyní středně velké riziko