ZMD
Zpracování multimediálních dat
V části předmětu, kterou povedu já se dozvíte o principech, které se využívají při přenosu komprimovaných video a audio dat v systému DVB.
Zkratka DVB je tvořena z počátečních písmen slov Digital Video Broadcasting. Český ekvivalent by bylo digitální šíření videa.
Systém DVB je dnes jeden z nejrozšířenějších a přes pozvolný náběh pomalu vytlačil starý analogový přenos televizního signálu. V současnosti se systém DVB používá pro přenos digitální televize v mnoha zemích světa. Krom systému DVB existují i jiné systémy, mezi ně patří ATSC používaný v USA a Kanadě, ISDB-T používaný v Jižní Americe a Japonsku a systém DTMB používaný v Číně.
Obsah
Literatura
Doporučené weby:
Doporučené knihy:
- Kolektiv autorů. Linux - Dokumentační projekt. 4. vydání. Brno: Computer Press, 2007. ISBN: 978-80-251-1525-1
- Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems, January 2011, dostupné online [1]
- LINUX DVB API Version 3, Dr. Ralph J.K. Metzler, Dr. Marcus O.C. Metzler, January 2003, dostupné online [2]
Postery použité na přednáškách:
- http://seidl.cs.vsb.cz/download/dvb/DVB_Poster.pdf originál: http://www.cascaderange.org/presentations/DVB_Poster.pdf
- http://seidl.cs.vsb.cz/download/dvb/MPEG_Poster_lowrez.pdf originál http://www.jdsu.com/ProductLiterature/MPEG_Poster_lowrez.pdf
První přednáška
Tématem první přednášky bude systém DVB obecně. Vysvětlíme si především základní principy použité při přenosu digitální informace z vysílače. Dalším tématem bude systém multiplexování, tedy skládání více audio a video zdrojů do jednoho datového toku. Poslední téma, které bude mít přímou souvislost s prací ve cvičení, bude implementace DVB v operačním systému GNU/Linux.
Navazující cvičení
Vaším úkolem ve cvičení bude přihlásit se prostřednictvím libovolného SSH klienta na server dvb.cs.vsb.cz . Doporučuji pro přihlášení použít počítač na učebně E320 a zvolit boot do Linuxu. Tento způsob bude pro vás znamenat v další práci značné ulehčení. Pomocí programu dvbsnoop zjistěte všechny dostupné informace o jednom z vysílaných programů a o samotném multiplexu. Základní použití programu dvbsnoop je následující: # dvbsnoop -n 1 0 dvbsnoop V1.4.50 -- http://dvbsnoop.sourceforge.net/ ------------------------------------------------------------ SECT-Packet: 00000001 PID: 0 (0x0000), Length: 60 (0x003c) Time received: Sat 2013-03-09 20:46:06.952 ------------------------------------------------------------ 0000: 00 b0 39 01 13 df 00 00 00 00 e0 10 01 01 e1 00 ..9............. 0010: 01 02 e2 00 01 03 e3 00 01 04 e4 00 41 01 f0 00 ............A... 0020: 41 02 f1 00 41 03 f2 00 41 04 f3 00 41 05 f4 00 A...A...A...A... 0030: 41 06 f5 00 41 07 f6 00 46 3b 73 4b A...A...F;sK . . . Bližší informace o programu dvbsnoop získáte z manuálových stránek případě na adrese http://dvbsnoop.sourceforge.net .
V následujícím archivu http://seidl.cs.vsb.cz/download/dvbread.tar je k dispozici bohatě komentovaný vzorový projekt nazvaný dvbread. Projekt obsahuje jednoduchý program, který po spuštění vypíše PAT tabulku získanou ze zařízení /dev/adapter0/demux0 a to v hexadecimální a textové podobě. Pro parsování PAT tabulky je použita knihovna libucsi, která je součástí balíků aplikací dvb-apps jehož aktuální verzi je možné stáhnout ze stránek projektu linuxtv http://linuxtv.org/hg/dvb-apps a také je součástí tar souboru se vzorovým projektem . Ve složce dvb-apps/test/libucsi je vzorový program, který velmi dobře demonstruje využití knihovny libucsi. Úkol: Upravte vzorový program program tak ať parsuje PAT tabulku s použitím knihovny libucsi. Druhá část úkolu je stejným způsobem parsovat tabulku PMT.
Druhá přednáška
Přednáška bude věnována tématice softwarově definovaného rádia. Vysvětlíme si principy SDR a základy zpracování signálu. Ukážeme si princip softwarového demodulování FM a AM modulace. Ukážeme si princip základních digitálních modulací. Navazující cvičení
Úkol: Vytvořte konzolový program, který vypíše názvy všech programů vysílaných v daném multiplexu a vypíše všechny dostupné informace o těchto programech (apid, vpid, pat a jiné).
Úkol pro r.2021 - COVID-19
Zapněte si prosím titulky. Přednáška je z minuláho roku, změny pro letošní rok zapíšu do titulků. Přihlašujte se prosím na server 158.196.22.202, přes školní VPN. Použijte školní login a heslo.
V jazyce C/C++ vytvořte knihovnu pro OS/Linux. (může se jednat o třídu, nebo sadu funkcí). Knihovna bude jako parametr dostávat informace o adaptéru, který má být použit (/dev/dvb/adapterX /demuxX). Dále bude knihovna obsahovat metodu/funkci, která spustí vlákno které "vyparsuje" všechna dostupná data z naladěného multiplexu. Tyto informace budou ukládány do vhodné datové struktury.
Funkci knihovny demonstrujte na vzorovém programu.
Všechny zdrojové kódy včetně Makefile v kompilovatelné podobě prosím odevzdejte do systému kelvin.cs.vsb.cz.