Digital PDC/VPS analyzer/recorder 

UPDATE 7.7.2013: Nová verze 1.2, používající autotools. Další vývoj probíhá na GitHubu.
UPDATE 5.4.2010: Nová verze 1.1, doplněn text o MI.

Již poměrně dlouho se tu a tam zabývám otázkou přesného nahrávání TV pořadů, tedy řízením domácích videorekordérů informací přidruženou k vysílání. Zatímco u VHS jde o běžnou funkci, moderní alternativy domácích rekordérů, jako jsou PVR, či DVD rekordéry tuto funkci nenabízejí.

Nyní jsem se rozhodl, že už nastal čas vyrobit rekordér, který by nahrával pořady podle položky Running_status v EIT tabulkách digitálního vysílání. Nakonec jsem však udělal mezikrok v podobě rozšíření VPS rekordéru o příjem PDC dat v teletextovém vysílání. Díky tomu, je možné přesně nahrávat i programy ČT24 a ČT4.

Download:
vpsrecord-1.2 - requires zvbi version 0.2.33 or newest.

This is a simple DVB TS recorder with VPS Programme Delivery Control (ETSI EN 300 231) support. It requires TV channel to broadcast VPS data on line 16 of Vertical Blanking Interval or PDC descriptors in Teletext packet 8/30/2. It automatically starts recording when the programme really starts and stop recording after programme finish.

Pro hlubší zájemce drobné vysvětlení: Norma ETSI připouští dvě možnosti přenosu informace pro domácí rekordéry, buď na 16. řádku TV signálu, to je starší systém, který se obchodně jmenuje VPS, nebo novější systém, který pro přenos používá servisní teletextový paket 8/30/2, ten se obchodně nazývá PDC. Původní systém VPS poskytuje jen jeden kód, takže když na sebe dva pořady těsně navazují, nebo když je jeden pořad přerušen jiným pořadem, je z toho problém - rekordér buď nenahraje konec pořadu, nebo správně nepozná, že pořad bude ještě pokračovat. Proto kód PDC obsahuje čtyři virtuální kanály, označené LCI. Pokud je tedy například přestávka jednoho pořadu vyplněna druhým pořadem, může být začátek druhého pořadu indikován na jiném LCI, zatímco původní LCI bude hlásit kód přestávky.

Ačkoli to norma jasně nestanovuje, já jsem to pochopil tak, že rekordér monitoruje stav všech LCI a když najde shodu kódu, zapamatuje si číslo LCI a na informace v ostatních LCI nereaguje. Tak jsem také nový rekordér implementoval. Systém PDC navíc umožňuje signalizovat přípravu rekordéru na nahrávání příznakem PRF, a také (aniž bych chápal přesný význam) příznakem MI sdělovat, že rekordér má zůstat nahrávat ještě 30 sekund po kódu přerušení (MI=0), místo toho aby skončil okamžitě (MI=1). Zřejmě jde o provázání na odbavovací systém - pořady odbavované ze záznamu mají jasně daný konec a mohou tedy být signalizovány předem, takové pořady mají MI=1. Proti tomu u živě vysílaných pořadů není konec předem znám, takže zde kód MI=0 říká, že pořad skončí už s koncem vysílání kódu.

Použití programu zůstává stejné, jako u staré verze. Program je také možné použít k analýze PDC/VPS dat, zde je například ukázka z dnešního dne:

ČT1:
2010-02-21 09:57:35: LCI=0 Record Inhibit/Terminate
2010-02-21 09:58:04: *VPS* Record Inhibit/Terminate
2010-02-21 10:01:09: LCI=0 PRF=1 21.2. 10:00 NORMAL
2010-02-21 10:01:36: *VPS* 21.2. 10:00 NORMAL
2010-02-21 10:01:37: LCI=0 21.2. 10:00 NORMAL
2010-02-21 10:25:29: LCI=0 MI=1 21.2. 10:00 NORMAL
2010-02-21 10:25:32: LCI=0 Record Inhibit/Terminate


ČT2:
2010-02-21 09:57:29: LCI=0 Record Inhibit/Terminate
2010-02-21 09:57:59: *VPS* Record Inhibit/Terminate
2010-02-21 09:59:05: LCI=0 PRF=1 21.2. 10:00 NORMAL
2010-02-21 09:59:34: *VPS* 21.2. 10:00 NORMAL
2010-02-21 09:59:34: LCI=0 21.2. 10:00 NORMAL
2010-02-21 10:25:03: LCI=0 Record Inhibit/Terminate
2010-02-21 10:25:33: *VPS* Record Inhibit/Terminate
2010-02-21 10:26:14: LCI=0 PRF=1 21.2. 10:25 NORMAL
2010-02-21 10:26:43: *VPS* 21.2. 10:25 NORMAL
2010-02-21 10:26:43: LCI=0 21.2. 10:25 NORMAL


ČT24:
2010-02-21 09:59:00: LCI=2 Record Inhibit/Terminate
2010-02-21 09:59:31: LCI=0 PRF=1 21.2. 10:00 NORMAL
2010-02-21 10:00:00: LCI=0 21.2. 10:00 NORMAL
2010-02-21 10:10:10: LCI=0 Record Inhibit/Terminate
2010-02-21 10:10:12: LCI=2 PRF=1 21.2. 10:05 NORMAL
2010-02-21 10:10:41: LCI=2 21.2. 10:05 NORMAL
2010-02-21 10:34:35: LCI=2 Record Inhibit/Terminate


ČT4:
2010-02-21 09:16:45: LCI=0 Record Inhibit/Terminate
2010-02-21 09:16:46: LCI=1 Record Inhibit/Terminate
2010-02-21 09:16:46: LCI=2 MI=1 21.2. 10:00 NORMAL
2010-02-21 10:07:42: LCI=2 Record Inhibit/Terminate
2010-02-21 10:09:11: LCI=0 PRF=1 MI=1 21.2. 10:00 NORMAL
2010-02-21 10:09:39: LCI=0 MI=1 21.2. 10:00 NORMAL
2010-02-21 11:58:19: LCI=0 21.2. 10:00 NORMAL
2010-02-21 11:58:38: LCI=0 MI=1 21.2. 10:00 NORMAL
2010-02-21 18:10:12: LCI=0 Record Inhibit/Terminate

Komentáře

Pro tento záznam nejsou komentáře povoleny.