tvheadend: test na PC

Posted on Fri 22 January 2016 in Automatyczny dom, Multimedia

Spędziłem już wiele godzin próbując zbudować STABILNY system streamingu DVB-T na Raspberry Pi. Bezskutecznie. Za każdym razem, a podejść było już kilkanaście, w końcu Malina "ryła" po karcie SD, niszcząc system.

Próbowałem zminimalizować "pisanie" po karcie, podpiąłem dysk na USB ale i tak kończyło się to nadpisaniem sektora 0 dysku śmieciami z tvheadenda.

Mam już tylko dwa podejrzenia co jest przyczyną tego stanu rzeczy:
kiepskie zasilanie (nie mierzyłem poboru mocy przy obciążeniu) ale mam wątpliwości bo użyłem już kilku różnych zasilaczy,

bug w tvheadend lub jego komponencie, w wersji na wheezy, jessie nie udało mi się uruchomić (bo nie było wsparcia).

Mam pod ręką silnego PC z dyskiem SSD, potęgą mocy w i7 i Debianem Jessie na pokładzie. Jest już też nowa wersja tvheadend. Nie pozostaje mi nic innego jak zaprząc je do testów. Jeśli na tej platformie streaming DVB-T będzie stabilny, po prostu kupię jakiegoś zgrabnego mini PeCecika.


Popełniłem kilka głupst. Próbowałem postawić tvheadend na Debianie Wheezy w wirtualnej maszynie pod Proxmoxem. Padło na Wheezy po niedobrych doświadczeniach z Malinką. Niedawno zmieniło się repozytorium tvheadend, Debiana znam średnio i miałem nieco kłopotów z instalką. Stwierdziłem, że do testów nie warto zgłębiać tematu i szybko przerzuciłem się na Ubuntu 14.04, też jako wirtualka na Proxmoxie. Instalacja poszła gładko.

Gdy wziąłem się za konfigurowanie interfejsów sieciowych zrozumiałem swój błąd. Testowy PeCet ma dwa: Ethernet oraz WiFi, oba na płycie. Ustawiłem stały IP na kablu, dodałem interfejs do bridge'a vmbr0. Postawiłem interfejs wlan0, dodałem do drugiego bridge'a ale Ubuntu nie łączyło się z siecią. I wtedy wyczytałem, człowiek uczy się całe życie, że praktycznie żaden Access Point nie przepuści mi pakietów z adresem innym niż interfejsu, który się do niego zapiął. A bridge w Linuksie jest przeźroczysty czyli adresy pakietów nie są przepisywane.

Jest na to kilka sposobów:

  • mogę podłączyć PC po kablu z drugim AP i spiąć ten AP z głównym domowym routerem WiFi,
  • mogę postawić ebtables i przepisywać adresy MAC pakietów, tak by AP myślał że pakiet pochodzi od zautentykowanego interfejsu.

Nie, jak na test to było za dużo. Poświęciłem Proxmoxa. Stoi na Jessiem, instalacja tvheadend jest prosta jak świński ogon. I telewizja na razie pięknie się streamuje z PC na Raspberry Pi podpięte do TV. Nie cieszę się przedwcześnie bo z Malinką było podobnie.

Zastanawiam się jak długi musi być test bym mógł go uznać za udany?

p.s. Po kilkudziesięciu minutach pojawił się błąd i TV się zawiesiło. Super!

tvheadend[16529]: TS: PolskaWarszawa/522MHz/TVP3 Warszawa: H264 @ #2102 Corrupted PES header (errors 1)
tvheadend[16529]: parser: transport stream TELETEXT, DTS discontinuity. DTS = 2243455848, last = 95970400
tvheadend[16529]: parser: transport stream TELETEXT, DTS discontinuity. DTS = 95974000, last = 2243455848
tvheadend[16529]: parser: transport stream H264, DTS discontinuity. DTS = 96127000, last = 96132400