Posted By: tdr (smrt trotlum) on 'CZtv' Title: TV na Popcornu WAS: Re: Kombo STB a prepinani programu Date: Tue Jan 6 14:53:11 2009 Na jetpacovu zadost pisu, jak dostat TV nebo jine streamovane video do Popcorn Hour A-110. Myslim, ze i treba Sarta by to mohlo zajimat. Mam na serveru s DVB tunery pusteny www server a na nem HTML stranku se seznamem programu, kterou mam na Popcornu pridanou do Media Sources treba jako http://192.168.125.1/pvr/tv.html. Osvedcila se mi tabulka s ikonkami danych TV, rozmer ikony 50x50 nebo 75x50 bodu, max. 4 ikony na jeden radek v tabulce na klasicke PAL televizi. Na HD to bude chtit asi vytunit. ;-) Pokud je na kabelu programu opravdu hodne, neni problem tridit programy tematicky do podstranek, Popcorn v tom umi hezky chodit. 1) Pokud je dana televize na serveru permanentne streamovana napr. Getstreamem z DVB-T, staci odkaz <a href="http://192.168.125.1:8101/ct1" vod> <img src="http://192.168.125.1/pvr/ct1.gif"><br>CT 1</a> 2) Pokud jde o kabelovku, nemuzu streamovat vsechny programy naraz, tolik karet nemam. Tam jsem si pomohl timhle: <a href="http://192.168.125.1/cgi-bin/tv.cgi?kanal=csfilm" vod> <img src="http://192.168.125.1/pvr/csfilm.gif"><br>CS Film</a> V obou pripadech je dulezite mit to "vod" (video-on-demand) v A tagu, aby Popcorn vedel, ze nema odkaz otevirat jako HTML stranku, ale zacit prehravat stream. Aby se mi snadneji rozpoznaval vlc proces spusteny z CGI skriptu, udelal jsem si symbolickou linku vlc-tv ukazujici na vlc. Kostra CGI skriptu pak vypada takto: #!/usr/bin/perl { # prvni cislo je PID v ramci muxu, druhe cislo frekvence muxu v Hz ... $kanaly{'noe'}="1,242000000"; $kanaly{'cnn'}="2,242000000"; $kanaly{'nasn'}="3,242000000"; $kanaly{'axncrime'}="4,242000000"; $kanaly{'axnscifi'}="5,242000000"; $kanaly{'history'}="6,242000000"; $kanaly{'markiza'}="1,250000000"; $kanaly{'joj'}="2,250000000"; $kanaly{'axn'}="3,250000000"; $kanaly{'filmp'}="4,250000000"; $kanaly{'hallmark'}="5,250000000"; $kanaly{'csfilm'}="6,250000000"; $kanaly{'jimjam'}="7,250000000"; $kanaly{'filmbox'}="1,258000000"; $kanaly{'mgm'}="2,258000000"; $kanaly{'mtv'}="3,258000000"; $kanaly{'vh1'}="4,258000000"; $kanaly{'vh1classic'}="5,258000000"; $kanaly{'jetix'}="6,258000000"; $kanaly{'minimax'}="7,258000000"; ... @ARGS=split('&',$ENV{'QUERY_STRING'}); $kanal="ct1"; ... foreach (@ARGS) { ($key,$value)=split('=',$_); if ($key eq "kanal") { $kanal=$value; } ... } @pid=split / +/,`ps -ef|grep vlc-tv|grep -v grep`; if ($pid[1]) { `kill $pid[1]`; sleep 1; } if ($kanaly{$kanal} ne "") { ($program,$freq)=split /,/,$kanaly{$kanal},2; `vlc-tv -I dummy --ts-es-id-pid --program=$program --dvb-adapter=0 dvb: --dvb-frequency=$freq --dvb-srate=6900000 --dvb-modulation=64 --sout '#standard{access=http,mux=ts,dst=:8102}' > /dev/null 2>&1 &`; } sleep 2; # aby melo vlc cas nabehnout print "Location: http://192.168.125.1:8102nn"; } Parametry --dvb-modulation a --dvb-srate samozrejme zalezi na tom, co dava kabelovka. Enjoy! Nejlepsi polevka je pivo !!! _______________________________ tdr, v.r.