DLNA, neboli Digital Living Network Alliance, je sdružení založené společností Sony v roce 2003, které se věnuje vytváření standardů pro sdílení multimediální obsahu mezi zařízeními bez ohledu na to, od kterého výrobce pocházejí. Dnes je to pořád asi nejjednodušší způsob, jak dostat videa, hudbu nebo fotky z počítače do TV. Před 7 lety jsme psali o tom, jak na Fedoře rozchodit miniDLNA a Serviio. miniDLNA dnes stále existuje, jen pod názvem ReadyMedia. Serviio se také nadále vyvíjí a je to pokročilé řešení, které se hodí, když od DLNA požadujete opravdu hodně. Umí třeba "vypalování" titulků do videa při streamování na zařízení, která jinak titulky nezvládají. Má ale proprietární licenci a jeho instalace také není úplně přímočará. Málokdo ale ví, že Fedora Workstation už DLNA server ve výchozí instalaci obsahuje. Jmenuje se Rygel a díky integraci s GNOME jej můžete zprovoznit během několika kliknutí.
Rygel se už více než 10 let vyvíjí v rámci projektu GNOME a původní motivací pro jeho vznik bylo dostat multimediální obsah do PlayStationu 3. Pokud se spokojíte s výchozími hodnotami, je jeho spuštění opravdu snadné. Naleznete jej "schovaný" v Nastaveních pod položkou Sdílení. Nejdříve musíte vpravo nahoře povolit sdílení jako takové, vybrat Sdílení multimédií a opět jej povolit s tím, že si můžete vybrat, který typ obsahu sdílet (videa, hudbu, fotky). Rygel automaticky načítá multimediální obsah, který se nachází ve složkách Hudba, Obrázky a Videa ve vašem domovském adresáři. Co chcete sdílet, se musí nacházet právě tam.
Dobré je, že se sdílení aktivuje jen pro konkrétní síť, ke které jste momentálně připojení. Pokud se s počítačem přesunete třeba do kavárny, nemůže se vám stát, že budete obsah nevědomky sdílet po veřejné síti.
Pokud jste sdílení aktivovali, měli byste v lokální síti na klientu, který podporuje DLNA, vidět multimediální obsah z počítače.
Spuštění a nastavení Rygelu v GNOME je jednoduché, ale ve skutečnosti to je celkem pokročilý DLNA server, který nabízí řadu funkcí a nastavení. Pokud vaše koncové zařízení nepodporuje formát, v kterém se multimediální obsah u vás v počítači nachází, dokáže jej převést do formátu, který klient zvládne. Jako multimediální backend používá GStreamer a jako vstupní formát by měl zvládnout vše, co zvládne decodebin GStreameru s příslušnými kodeky. Jako výstupní formáty zvládne MP3, LPCM a AAC pro audio a MPEG TS, WMV a H.264 pro video. Zkoušel jsem, jestli se na TV chytne video v H.265, když TV zvládne jen H.264 nebo MPEG. Bohužel se pouze zobrazilo, že formát nelze přehrát. Drtivá většina DLNA klientů dnes zvládne H.264 a MPEG a pokud je video v něčem jiném, je to většinou H.265 nebo nově AV1. Dekódování těchto formátů a následné kódování do H.264 v reálném čase je ale celkem náročnou operací, na kterou je potřeba výkonný hardware, takže bych se na tuto funkci u běžného kancelářského počítače stejně nespoléhal.
Pokud chcete mít přístup ke všem možnostem nastavení, která Rygel nabízí, musíte zamířit do konfiguračního souboru, který se nachází v /etc/rygel.conf. Je komentovaný, takže se v něm dá docela dobře vyznat i bez další nápovědy. Můžete v něm změnit například adresáře, kde se multimediální obsah nachází, pokud vám výchozí nastavení nevyhovuje.
23. 11. 2020 at 17:49
Rygel je asi dobrý pro lidi, co mají televizi a počítač na jednom místě a chtějí sdílet celou knihovnu s televizí, ale už mi nepřijde tak praktický pro můj usecase: přehrát jeden soubor, ať je zrovna kdekoliv, na nějaké televizi v místní síti. Na tohle se mi víc osvědčil https://github.com/anacrolix/dms (úplně jednoduchý commandlinový DLNA server) v kombinaci s gupnp-av-cp (ovládací panel). Mám na to skript, který nasdílí aktuální adresář a otevře mi gupnp-av-cp, abych mohl rovnou nechat ten soubor přehrát na televizi: https://github.com/liskin/dotfiles/blob/28db21430b45565dadebdeeb885ad541e27cff81/bin/dlna-serve
Nepochybuju o tom, že se něco podobného dá nějak s dbusem naskriptovat i za pomocí Rygelu a jiných GNOME věcí, ale tohle bylo mnohem jednodušší. Budu rád, když se inspirujete, a bude časem v GNOME u každého videa čudlík „přehrát na nejbližší televizi“ 🙂
26. 11. 2020 at 14:55
Těch DLNA řešení je víc. Já jsem napsal o tomto, protože je díky integraci do prostředí hrozně jednoduché na zprovoznění i pro běžné uživatele.
Jednoduše adhoc sdílet vybrané adresáře taky není špatný nápad, ale myslím, že už se tomu nikdo z vývojářů věnovat nebude. Kdyby to současné řešení už neexistovalo, tak si taky myslím, že už se realizace nedočká. Dneska se to sdílení obsahu všechno posouvá směrem k Miracastu/Chromecastu.