DVBgrab

Z wiki.siliconhill.cz
Verze z 20. 3. 2017, 19:24; Dominik (diskuse | příspěvky)

(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

Obsah

Aktuální stav projektu

Od března 2017 je projekt pozastaven z důvodu dlouhodobé naprosté neochoty vedení klubu a sekce admins vyřešit vzniklý problém nefungujícího multicastu na virtuálních serverech (zahrnujících grabovací server), který brání nrahrávání pořadů a sběru EPG ze streamů.

Projekt Grab 2.0 - následovník projektu DVBGrab

Grab 2.0 je aplikace pro virtuální videorekordér, která byla vyvinuta od nuly jako nástupce projektu DVBgrab, který byl října 2013 bez vedoucího a pozastaven.

Aplikace je postavena na aktuálních technologiích a jednoduchém principu, který zajišťuje její stabilitu a robustnost. Skládá se ze dvou částí, webové aplikace v RoR s uživatelským rozhraním a EPG na webhostingovém serveru a grabovacího serveru, který se dynamicky řídí instrukcemi (pomocí API) od webové aplikace. Tak funguje volba a nahrávání daných pořadů pro uživatele. Veškeré požadavky na stažení pořadu nahraného pro uživatele je řízeno opět webovou aplikací, která podepíše request a přesměruje uživatele na grabovací server, ze kterého si pořad může stáhnout po ověření requestu. Kapacita úložiště pořadů je 500GB (s využitím deduplikace dat na úložišti) a po naplnění se odstraňují nejstarší nahrávky.

Řešiteli jsou:

  • Dominik Mališ
  • Vladimír Kincl

Projekt DVBgrab - virtuální videorekordér

Dvbgrab-071217-small.png

Popis projektu

Projekt DVBgrab slouží uživatelům počítačových sítí klubu Silicon Hill a Pod-O-Lee jako virtuální videorekordér - doplněk šířeného digitálního televizního vysílání. Projekt umožňuje nastavit si nahrávání televizního pořadu podle televizního programu. Po skončení nahrávání je pořad do několika hodin zpracován a uložen na úložišti, odkud si jej mohou lidé, kteří si nahrávání objednali, zhruba do 14 dnů stáhnout. Virtuální videorekordér nahrazuje běžné nahrávání digitálního signálu na videokazetu, DVD nebo pevný disk. Signál je podle přání uživatele uložen v jednom ze čtyř "kvalit". Projekt DVBgrab vychází myšlenek open-source projektu DVBgrab (http://dvbgrab.sourceforge.net), byť z původního projektu již nezůstala původní ani řádka kódu. Zásadní úpravou bylo rozdělení logiky systému na 6 částí - web, databáze, řídící logika, grabování, encoding, storage a jejich optimalizace pro běh na více serverech současně. Aktuelní systém je odolný vůči výpadku libovolného jednoho až tří serverů systému, kdy nedojde ke ztrátě dat, ale pouze k dočasnému zpomalení enkódování či znepřístupnění grabů.

Digitální televizní vysílání je v počítačových sítích Studentské unie ČVUT šířeno pomocí multicastu již několik let. Na serverech jsou tyto multicacty zachytávány a následně zpracovávány. Krom televizních kanálů systém zpracovává i rozhlasová stanice. Televizní stanice nahrává buď jako původní stream (MPEG2), nebo je překódovává do MPEG4 (XVid) a to v plném rozlišení 1600kbps, v polovičním rozlišení 1400kbps nebo v náhledovém čtvrtinovém rozlišení 600 kbps. Rozlišení není pevné, ale je stanoveno násobkem rozlišení původního streamu. Zvuk je vždy ponechán v původní kvalitě, čímž zajistíme, že duální vysílání, stereo, formát 16:9 apod. je stále v pořádku. Rozhlasové vysílání je ukládáno buď v původním MP2 streamu nebo překódováno do MP3 nebo Ogg Vorbis. Pořady jsou nahrávány s přesahem jedné hodiny, z toho 15 minut před začátkem a 45 po konci pořadu v televizním programu. Přesahy jsou nutné z důvodu nedodržování televizního programu všemi televizními společnostmi. Ve skutečnosti je možné po většinu dne přesahy zkrátit, ale je nutné dlouhodobě testovat které kanály mají jakou odchylku v které hodiny.

Průběžně sledujeme požadavky uživatelů, výkon a stabilitu techniky, kvalitu a rychlost zpracování pořadů.

Technika

Technickým zázemím projektu je 7 serverů, které buď zbyly z jiných projektů či byly zakoupeny přímo pro dvbgrab. Zahrnují stroje různého stáří a výkonu z let 2004-2009. Více technických informací na stránce Servery_dvbgrab. Na těchto strojích běží jednotlivé z částí systému, přičemž některé části běží na více serverech současně.

Prvními stroji na cestě signálu k uživateli jsou grabbery. Grabber je server, kde běží logika ukládání streamů podle programu. Grabbery jsou navrženy tak, aby se částečně funkčně překrývali, čímž je zajištěna dostupnost všech pořadů i při selhání nebo výpadku jednoho z nich.

Druhou kategorií jsou encodery. Ty zpracovávájí uložené záznamy a ukládají je po případném překódování na storage. V běžném provozu běží encoding na 1-4 strojích. V případě že naroste fronta pořadů na zpracování, je encodér spuštěn na dalším serveru.

Třetími stroji jsou storage, na které jsou ukládány zpracované záznamy a odtud jsou stahovány uživateli.

Vedle těchto komponent ještě v systému běží databáze, a web.


Cíle projektu a zprávy

Cíle projektu a zprávy za jednotlivá pololetí jsou k dispozici na webu projektu:


Chválíme se

Projekt DVBgrab je jeden z nejvyužívanějších projektů v klubu Silicon Hill, má registrovaných 1483 aktivních uživatelů, v posledním týdnu se přihlásilo 752 z nich, v současné době si každý nahrávaný pořad nahrává v průměru 7 lidí, nejvíce žádané pořady si nahrává přes 50 lidí současně, rekord je 103 uživatelů na pořad. Projekt zpracoval za dobu své existence přes zpracoval 350000 požadavků na grabování z více než 68000 pořadů.

Projekt byl oceněn jako aktivita měsíce za měsíc červenec 2007.


Řešitelé

Šmejkal Stanislav

  • duchovní otec projektu
  • správa systému, programování
  • helpdesk pro uživatele

Čech Zbyněk

  • vedoucí projektu
  • správa operačního systému
  • návrhy hardware, řešení přesunu dat
  • helpdesk pro uživatele

Bendová Petra

  • cizojazyčné verze, testování

Special thanks to

  • Bruchanov Martin za PR a pomoc při schválení rozvoje projektu
  • Karas Lukáš za úpravu skriptu pro stahování TV programu
  • Gráf Stanislav za opakovanou pomoc při oživování umřelého dvbstorage


Kontakty

Jmenné prostory

Varianty
Akce