Video rekordér svépomocí

13. 6. 2011 18:24 (aktualizováno) Tomas Matějíček

Chcete-li nahrávat televizní pořady, ať už z pozemního DVB-T vysílání nebo ze satelitního DVB-S, potřebujete jednak tuner s podporou v Linuxu, a pak nějaký kus software, který ve vámi stanovených časech naladí na tuneru danou frekvenci a uloží video+audio stream požadované délky na disk.

Takový software může být třeba VDR nebo MythTV. Pro nedostatek trpělivosti se mi ovšem ani jeden ze zmíněných dvou nepodařilo nakonfigurovat pro moje potřeby, a tak mi nezbylo, než si software napsat vlastní. Jak jinak než v bashi, vždyť je to triviální záležitost, stačí szap (je součástí dvb apps), cat, a cron. Nazval jsem to cdvbrec, jako cron-dvb-recorder, a stáhnout si to zájemce může zde: cdvbrec.tar.gz

Konfigurace cdvbrec

Po rozbalení do kořenového adresáře je ještě potřeba nakonfigurovat cron, aby se skript spouštěl s právy roota každou minutu (crontab -e): * * * * * /usr/bin/cdvbrec

Pak už jen libovolně přidávat nahrávané programy do /etc/cdvbrec/schedule.conf

Konfigurační soubor má následující syntaxi:

1 | HBO | 07:35 | 160 | 2011-06-06 | Avatar 1 | AXN CS | 01:05 | 55 | 2011-06-07 | FlashForward - Vzpominka na budoucnost 1 | Film+ | 22:00 | 100 | 2011-06-07 | Repli-Kate 1 | HBO | 20:00 | 95 | 2011-06-12 | Bez soucitu

1 je číslo DVB adaptéru (u mě SASC-NG zařízení kvůli dekódování z karty v SmartMouse readeru)
HBO je jméno kanálu na který se má tuner naladit, musí odpovídat záznamu z channels.conf
07:35 je startovací čas. Nutno zadat s počáteční nulou pro hodiny menší než 10
160 je počet minut jak dlouho nahrávat
2011–06–06 je datum kdy nahrávat, je možné použít i Mon Tue Wed atd.
Avatar je název programu (podle toho se vytvoří adresář do kterého se film uloží)

Konfigurace cest se dá změnit v /etc/cdvbrec/settings.conf

Poznámky pod čarou

Pokud ladíte cokoli jiného než já (Astra 23.5), budete ještě muset do /etc/cdvbrec/channels.conf uložit seznam vašich programů a frekvencí. Vyhledání kanálů pro váš satelit či anténu provedete nejlépe pomocí dvbscan, scan, nebo w_scan.

Software nehlídá kolize v nahrávání ani chyby, a očekává, že máte funkční szap (pro DVB-S). Kdo používá něco jiného (třeba tzap) ten musí editovat /usr/bin/cdvbrec přímo a změnit si to. Trochu krkolomně je vyřešen tuning, neb mi někdy karta odmítá přes sasc-ng hned dekódovat, takže se ladění frekvence dělá nadvakrát, první pokus se po pěti vteřinách ukončí, a pak po chvíli začne druhé ladění, už naostro. Je to hrozné, ale od té doby co jsem to zavedl nedošlo k jedinému problému.

Samozřejmostí je nutnost udržování aktuálního času v systému, to jde buďto pomocí ntp (internetem) nebo dvbdate (přímo z dat posílaných televizním vysílačem / satelitem), o tom možná někdy příště.

Sdílet