Moje HTPC i nie tylko

Takie tam…

Brak obsługi tunera DVB-T po aktualizacji kernela

3 komentarze

Po każdej aktualizacji kernela, znika obsługa tunerów DVB-T.
Aby ją odzyskać trzeba zainstalować v4l dla tej wersji kernela:

uname -a
sudo apt-get install linux-headers-$(uname -r)
cd v4l/media_build
make distclean
make clean
./build
sudo make install
sudo reboot now

Written by Admin

25 sierpnia 2012 at 10:34

Napisane w Uncategorized

Tagged with , ,

Skokowe odtwarzanie DVB-T HD

leave a comment »

Od początku czerwca mogę odbierać TVP1 HD i TVP2 HD. Jednakże zauważyłem, że na tych kanałach XBMC nie odtwarza płynnie, lecz takimi małymi jedno-dwusekundowymi skokami.
O dziwo na filmie FullHD 1080p (big_buck_bunny_1080p_h264.mov) wszystko idzie płynnie – mimo większego bitrate (ok.16Mbit/s) gdy TVP HD ok 6Mbit/s.
Okazało się, że winne są ustawienia obrazu, a konkretnie usuwania przeplotu. Miałem Auto, Auto, a powinno być Auto, Auto ION Optimized.
Po tej zmianie zarówno Live TV jak i nagrania odtwarzane są płynnie, bez dropów.

Written by Admin

5 czerwca 2012 at 22:33

Napisane w Uncategorized

Tagged with

Instalacja tunera DVB-T IT9135 w Ubuntu 12.04

6 komentarzy

 

Postanowiłem zaktualizować Ubuntu w moim HTPC i przy okazji użyć lepszych sterowników do tunera DVB-T WandTV opartego na chipsecie IT9135.

Zasadniczo tuner jest obsługiwany przez jądro 3.2 z Ubuntu 12.04, ale po włożeniu tunera do portu USB, linux go nie widzi…

Okazuje się, że trzeba dorzucić co nieco z linuxtv:

  • instalacja git-a i innych potrzebnych zależności:
 sudo apt-get install git libproc-processtable-perl patchutils
  • ściągnięcie źródeł
mkdir v4l
cd v4l/
git clone git://linuxtv.org/media_build.git
  • budowanie
cd media_build/
./build
  • Po naprawdę dłuuugich minutach, instalacja
sudo make install
  • testowy reboot
 sudo reboot now
  • w dmesg widać że tuner został rozpoznany, ale nie znaleziono firmware
dmesg | grep IT
  • pobranie i instalacja firmware
cd Pobrane/
wget http://www.ite.com.tw/uploads/firmware/v3.6.0.0/dvb-usb-it9135.zip
unzip dvb-usb-it9135.zip
dd if=dvb-usb-it9135.fw ibs=1 skip=64 count=8128 of=dvb-usb-it9135-01.fw
dd if=dvb-usb-it9135.fw ibs=1 skip=12866 count=5817 of=dvb-usb-it9135-02.fw
sudo cp dvb-usb-it9135-0* /lib/firmware/
  • reboot
sudo reboot now
  • i dmesg powinien pokazać że wszystko w porządku (wybrane linijki z mojego logu – mam 2 tunery) – o dziwo teraz nawet świeci niebieski LED w tunerze…
[    9.745181] it913x: Chip Version=01 Chip Type=9135
[    9.745664] it913x: Firmware Version 204869120
[    9.747160] it913x: Remote propriety (raw) mode
[    9.747660] it913x: Dual mode=0 Tuner Type=0
[    9.747670] dvb-usb: found a 'ITE 9135(9005) Generic' in warm state.
[    9.748074] dvb-usb: will use the device's hardware PID filter (table count: 31).
[    9.749453] DVB: registering new adapter (ITE 9135(9005) Generic)
[    9.937031] it913x-fe: Tuner LNA type :38
[   10.519304] DVB: registering adapter 0 frontend 0 (ITE 9135(9005) Generic_1)...
[   10.592225] Registered IR keymap rc-it913x-v2
[   10.592561] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:04.1/usb1/1-3/rc/rc0/input5
[   10.592755] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:04.1/usb1/1-3/rc/rc0
[   10.592767] dvb-usb: schedule remote query interval to 250 msecs.
[   10.592780] dvb-usb: ITE 9135(9005) Generic successfully initialized and connected.
[   10.592787] it913x: DEV registering device driver
[   10.594086] it913x: Chip Version=01 Chip Type=9135
[   10.594566] it913x: Firmware Version 204869120
[   10.596636] it913x: Remote propriety (raw) mode
[   10.597318] it913x: Dual mode=0 Tuner Type=0
[   10.597330] dvb-usb: found a 'ITE 9135(9005) Generic' in warm state.
[   10.597517] dvb-usb: will use the device's hardware PID filter (table count: 31).
[   10.598333] DVB: registering new adapter (ITE 9135(9005) Generic)
[   10.602083] it913x-fe: ADF table value       :00
[   10.607697] it913x-fe: Crystal Frequency :12000000 Adc Frequency :20250000 ADC X2: 01
[   10.658053] it913x-fe: Tuner LNA type :38
[   10.724801] DVB: registering adapter 1 frontend 0 (ITE 9135(9005) Generic_1)...
[   10.725067] Registered IR keymap rc-it913x-v2
[   10.725485] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:06.1/usb2/2-2/rc/rc1/input6
[   10.725687] rc1: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:06.1/usb2/2-2/rc/rc1
[   10.725699] dvb-usb: schedule remote query interval to 250 msecs.
[   10.725712] dvb-usb: ITE 9135(9005) Generic successfully initialized and connected.
[   10.725720] it913x: DEV registering device driver
[   10.725799] usbcore: registered new interface driver it913x

Written by Admin

3 czerwca 2012 at 22:13

Napisane w Uncategorized

Problem z LiveTV w XBMC PVR 11.0 build 65

leave a comment »

Po upgradzie do XBMC -PVR 11.0-pvr build65 git rev. 62ff5bd ze strony http://packages.pulse-eight.net/ przestało działać Live TV – ciągle pojawia się okienko „No PVR add-on enabled”.

Obejście problemu jest tu: http://forum.xbmc.org/showpost.php?p=1015061&postcount=20

Written by Admin

11 lutego 2012 at 14:43

Napisane w Uncategorized

Tagged with

Dźwięk na HDMI i analog – jak?

leave a comment »

Może ktoś zna odpowiedź na pytanie: jak skonfigurować XBMC i/lub Ubuntu aby dźwięk był równocześnie na wyjściu Analog oraz HDMI.

Np. gdy dzieci oglądają bajki – słuchają dźwięku z telewizora (przez HDMI) – wieża wyłączona.

Gdy oglądamy film lub słuchamy muzyki – ściszamy telewizor (lub wyłączamy) i dźwięk idzie z wieży (przez analog).

Alternatywnie – jak w prosty sposób przełączać wyjścia?

Written by Admin

15 stycznia 2012 at 22:09

Napisane w xbmc

XBMC – Teksty piosenek

3 komentarze

W XBMC jest ciekawy plugin CU Lyrics pozwalający na automatyczne ściąganie tesktów odtwarzanych piosenek.

Niestety, korzysta on z witryn na których trudno znaleźć piosenki po polsku. Na szczęście stosunkowo łatwo można utworzyć nowy Scraper czyli moduł pobierający treść z jakiejś strony www. Ponieważ trafiłem na serwis tekstowo.pl na którym jest na prawdę dużo tekstów piosenek polskich i zagranicznych a wiele z nich ma także tłumaczenia  – postanowiłem podjąć próbę napisania scrapera.

Sposób instalacji

Jeżeli ktoś zna lepszy sposób to proszę o info. Mój sposób:

  1. Zakładam, że CU Lyrics jest już zainstalowane, jeśli nie to trzeba zainstalować i włączyć w ustawienia skórki przycisk do wyświetlania tekstów
  2. W katalogu domowym w .xbmc/addons/script.cu.lyrics/resources/lib/scrapers utworzyć katalog „tekstowo” i wgrać tam 2 pliki: __init__.py oraz lyricsScraper.py  (github)
  3. W katalogu .xbmc/addons/script.cu.lyrics/resources/language utworzyć katalog „Polish” i wgrać tam plik strings.xml
  4. Teraz wystarczy wyłączyć i włączyć wtyczkę CU Lyrics i wejść w ustawienia (powinny być po polsku) i jako Scraper wybrać „tekstowo.pl” i już można się cieszyć tekstami piosenek

Jak to działa

  • Dla aktualnie odtwarzanej piosenki jest pobierany wykonawca i tytuł.
  • Nazwy są zamieniane na małe litery, spacje i przecinki są zamieniane na znaki podkreślenia.
  • Na tej podstawie wyliczany jest url do strony z tekstem piosenki.
  • Następnie jest próba odczytu takiej strony – jeżeli trafiliśmy – jest strona z tekstem.
  • Jeżeli jest 404, to następuje wyszukanie – i pobierana jest strona będąca pierwszym wynik wyszukiwania. Czasem daje to niespodziewane efekty – tekst totalnie nie pasuje do słuchanego utwory, dlatego na końcu wyświetlanego tekstu dodałem informacje o jego faktycznym wykonawcy i tytule. Na szczęście zdarza się to dość rzadko.
  • W htmlu strony z tekstem szukane są odpowiednie fragmenty: tekst piosenki, tłumaczenie, wykonawca, tytuł. Są odpowiednio sklejane oraz przeformatowane z html do normalnego tekstu.
  • Tutaj kończy się rola scrapera – resztę obsługuje CU Lyrics

Dodam, że to mój pierwszy (prze)robiony skrypt w Pythonie, więc raczej nie należy się na nim wzorować.

Written by Admin

15 stycznia 2012 at 21:02

Napisane w xbmc

Automatyczny restart tvheadend

leave a comment »

Czasami (np. po chwilowych zakłóceniach sygnału TV) zdarza się, że tvheadend używa 100% procesora i przestaje poprawnie pracować. W takim wypadku najlepiej zrestartować serwis.

Ja ustawiłem w cronie skrypt, który co minutę sprawdza proces tvheadend

W /etc/cron.d utworzyłem skrypt check-tvheadend:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

*/1 *  * * * root     /home/dg/bin/cron-check-tvheadend.sh

A w katalogu /home/dg/bin umieściłem:

cron-check-tvheadend.sh

check-service.sh

Efekt: co minutę sprawdzane jest czy proces tvheadend działa – jeśli nie to jest startowany. Jeśli działa, to jest mierzone ile zajmuje czasu procesora. Jeżeli kilka pomiarów w odstępie paru sekund wskazuje na przekroczony limit, to serwis jest zatrzymywany (w razie potrzeby zabijany) i startowany od nowa.

 

Written by Admin

13 listopada 2011 at 21:22

Napisane w Uncategorized