Login Hasło

  • Forum
  •  » Pozostałe
  •  » auto_dvb - integracja mplayer2 z dvb-t pod fluxbox

#1 2013.06.12 21:30:26

numer_inaczej
Użytkownik
Zarejestrowany: 2007.01.11
Posty: 140
System: Gentoo Linux
Fluxbox: 1.3.2

auto_dvb - integracja mplayer2 z dvb-t pod fluxbox

Witam
Dziś zaprezentuję Wam kolejny z moich skryptów. Celem stworzenia tego programu było zapanowanie nad telewizją cyfrową nadawaną w systemie DVB-T pod fluxboxem.
Starałem się zintegrować fluxboxa z mplayerem, dzięki czemu uzyskałem możliwość kontroli nad jego oknem - ściślej przyklejenia do każdego pulpitu i określenia jego wymiarów, pozbawionego wszelkiego obramowania. (często oglądam telewizję w tle podczas codziennej pracy), przełączając kanały tv za pomocą menu fluxboxa.
Program może być pomocny szczególnie dla osób, które jak ja posiadają kablówkę która nadaje w systemie dvb-t. Pisanie menu dla fluxboxa z chwilą, gdy mamy około 150 kanałów może być conajmniej kłopotliwe.

Program ewoluował i dziś auto_dvbt pozwala na:
- generowanie menu fluxboxa do odtwarzania stacji tv
- generowanie menu fluxboxa do nagrywania stacji tv
- lepsze zarządzanie tv pilotem

Do rzeczy.
1) Ściągamy auto_dvb v1.0, zapisujemy na dysku i nadajemy mu prawa wykonywalności `chmod +x dvbt'
2) Programem w_scan generujemy channels.conf

Kod:

w_scan -ft -A1 -cPL -CUTF-8 -E1 -R0 -T1 -O1 -t3 -F -M >> ~/.mplayer/channels.conf

Ściągniętym programem, za poleceniem: `auto_dvb -gp|sort' generujemy interesujący nas fragment menu fluxboxa.
Uzyskamy coś na kształt poniższej listy, którą po zaznaczeniu i kliknięciem środkowym klawiszem myszki umieszczamy w podmenu np. Television:

Kod:

[submenu] (Television)
     [exec] (Eska TV) {/home/numer/skrypty/conky/dvbt -m "Eska TV"}
     [exec] (Eurochannel) {/home/numer/skrypty/conky/dvbt -m "Eurochannel"}
     [exec] (Eurosport 2) {/home/numer/skrypty/conky/dvbt -m "Eurosport 2"}
     [exec] (Eurosport) {/home/numer/skrypty/conky/dvbt -m "Eurosport"}
     [exec] (Fashion One) {/home/numer/skrypty/conky/dvbt -m "Fashion One"}
     [exec] (Fight Klub) {/home/numer/skrypty/conky/dvbt -m "Fight Klub"}
     [exec] (Filmbox) {/home/numer/skrypty/conky/dvbt -m "Filmbox"}
     [exec] (FOX) {/home/numer/skrypty/conky/dvbt -m "FOX"}
     [exec] (France 24) {/home/numer/skrypty/conky/dvbt -m "France 24"}
     [exec] (History Channel HD) {/home/numer/skrypty/conky/dvbt -m "History Channel HD"}
     [exec] (History) {/home/numer/skrypty/conky/dvbt -m "History"}
     [exec] (iTV) {/home/numer/skrypty/conky/dvbt -m "iTV"}
     [exec] (Kamera 1) {/home/numer/skrypty/conky/dvbt -m "Kamera 1"}
     [exec] (Kamera 2) {/home/numer/skrypty/conky/dvbt -m "Kamera 2"}
     [exec] (Kino Polska) {/home/numer/skrypty/conky/dvbt -m "Kino Polska"}
     [exec] (Kuchnia+) {/home/numer/skrypty/conky/dvbt -m "Kuchnia+"}
     [exec] (Mango 24) {/home/numer/skrypty/conky/dvbt -m "Mango 24"}
     [exec] (MCM POP) {/home/numer/skrypty/conky/dvbt -m "MCM POP"}
     [exec] (MCM TOP) {/home/numer/skrypty/conky/dvbt -m "MCM TOP"}
     [exec] (MiniMini+  HD) {/home/numer/skrypty/conky/dvbt -m "MiniMini+  HD"}
     [exec] (MiniMini+) {/home/numer/skrypty/conky/dvbt -m "MiniMini+"}
     [exec] (Nat Geo Wild) {/home/numer/skrypty/conky/dvbt -m "Nat Geo Wild"}
     [exec] (NGC HD) {/home/numer/skrypty/conky/dvbt -m "NGC HD"}
     [exec] (NGC) {/home/numer/skrypty/conky/dvbt -m "NGC"}
     [exec] (nSport) {/home/numer/skrypty/conky/dvbt -m "nSport"}
     [exec] (Orange Sport) {/home/numer/skrypty/conky/dvbt -m "Orange Sport"}
     [exec] (Planete+  HD) {/home/numer/skrypty/conky/dvbt -m "Planete+  HD"}
     [exec] (Planete+) {/home/numer/skrypty/conky/dvbt -m "Planete+"}
     [exec] (Polo TV) {/home/numer/skrypty/conky/dvbt -m "Polo TV"}
     [exec] (Polonia 1) {/home/numer/skrypty/conky/dvbt -m "Polonia 1"}
     [exec] (Polsat 2) {/home/numer/skrypty/conky/dvbt -m "Polsat 2"}
[end]

Podobnie postępujemy w przypadku wygenerowania podmenu dla funkcji nagrywania, czyli `auto_dvbt -gr|sort'

Na tym kończyło się dotychczas działanie programu auto_dvbt. Dziś jednak rozszerzyłem możliwości auto_dvbt do wsparcia obsługi pilota.
I tak:

Kod:

    
-n    --next    po kliknięciu przycisku KEY_NEXT przejdzie do nowej pozycji na liście stacji.
-f    --forward    po kliknięciu przycisku KEY_REW cofnie się do poprzedniej pozycji na liście stacji.
-p    --play        (bez parametrów) uruchomi odtwarzanie dvbt wg. parametrów określanych w pliku konfiguracyjnym który utworzy .dvbtrc 
-l     --last         przywoła poprzednio odtwarzaną stację.

-c    --conky    wygeneruje domyślną konfigurację dla conky w /home/user/.conkyrc_dvbt.
-h    --help        wyświetli tę pomoc.
    --configure    wygeneruje domyślny plik konfiguracyjny /home/numer/.dvbtrc.
-V    --Version    wyświetl wersję programu.
-L    --License    wyświetl licencję programu.

UWAGA: Parametry mplayera zmieniamy poprzez edycję pliku konfiguracyjnego .dvbtrc - . Starałem się dobrać działające, optymalne wspierające vdpau.

Kod:

[ilość linii wyświetlanych w conky podczas przewijania] [9]
[która linia w conky ma decydować o uruchomionej stacji] [5]
[polecenie dla mplayera] [killall mplayer2 ; mplayer2 -ao jack:port=jamin:autostart:estimate,alsa, -softsleep -mixer-channel Master -nojoystick -lirc -lircconf ~/.lircrc -cache 8192 -cache-min 5 -autosync 30 -channels 2 -srate 48000 -alang ISO-8859-2,WINDOWS-1250,UTF-8, -slang ISO-8859-2,WINDOWS-1250,UTF-8, -af-adv force=5:list=resample -af format=u24ne -af resample=96000:0:2 -af volume=10 -afm ffmpeg, -vc ffmpeg12vdpau,ffh264vdpau,ffodivxvdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau, -vo vdpau:fps=100:deint=4,gl:nomanyfmts:slice-height=0:osd:glfinish:yuv=4,gl2,sdl,vxmc, -demuxer +lavfpref -lavdopts fast:skiploopfilter=all -aid 0 -vid 0 -tskeepbroken -slices dvb://]

Plik jest intuicyjny. Ilość linii wyświetlanych w conky, to nic innego jak ilość wierszy prezentujących przewijane w przód i w tył stacje tv.
Linia która ma w conky decydować o uruchamianej stacji - można wybrać dowolną, warto ją w conky wytłuścić i powiększyć czcionkę - stacja ta zostanie uruchomiona.
Polecenia dla mplayera - wiersz poleceń wraz z wywołaniem.

B). Odpalamy `auto_dvb -c' ażeby wygenerować domyśly plik konfiguracyjny dla conky, który będzie wyświetlał stacje tv. Plik można oczywiście dowolnie edytować. Conky domyślnie jest wyświetlany około 8 sekund, po czym gaśnie.
C). Sprawdzamy każde z poleceń dla pilota wpierw w terminalu, kiedy wszystko pójdzie gładko podpinamy je pod klawisze pilota w .lircrc
    (gdy w systemie działa pilot musimy odpalić program odp. za uruchamianie aplikacji `irexec - d .lircrc')

Fragment mojego .lircrc powiązanego z auto_dvbt:

Kod:

begin 
   button = KEY_CHANNELUP
   prog = irexec
   config = /home/numer/skrypty/conky/auto_dvbt -f ; conky -i 50 -c /home/numer/.conkyrc_dvbt &
end 
begin 
   button = KEY_CHANNELDOWN
   prog = irexec
   config = /home/numer/skrypty/conky/auto_dvbt -n ; conky -i 50 -c /home/numer/.conkyrc_dvbt &
end 
begin
    button = KEY_PLAY
    prog = irexec
    config = /home/numer/skrypty/conky/auto_dvbt -p &
end
begin
    button = KEY_INFO
    prog = irexec
    config = conky -i 50 -c /home/numer/.conkyrc_dvbt &
end
begin
    prog = irexec
    button = KEY_LAST
    config = /home/numer/skrypty/conky/auto_dvbt -l &
end

Program zapamiętuje poprzednio wywołaną stację zarówno wywołaną z menu fluxboxa jak i z pilota.


Zrzutka z działającego auto_dvbt

UPDATE:
13.06.2013 - umieściłem wersję auto_dvb 0.3
29.07.2013 - zemieściłem wersję auto_dvb 0.5
28.03.2014 - nowa wersja auto_dvbt 0.8
01.04.2014 - poprawiłem błędy - auto_dvbt 1.0

Ostatnio edytowany przez numer_inaczej (2014.04.02 16:03:21)


http://www.gentoo.org/images/gentoo-badge.png

Offline

 
  • Forum
  •  » Pozostałe
  •  » auto_dvb - integracja mplayer2 z dvb-t pod fluxbox

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson