script lista canali in perl
Moderatori: ragno, tapino, alez, zulu, davidea
script lista canali in perl
sarebbe possibile avere lo script in perl di cui si parla in questa pagina?
http://www.vdr-italia.org/channels/
mi torna molto utile per tenere aggiornate le liste canali ed al limite posso sempre provare a migliorarlo.
Grazie
http://www.vdr-italia.org/channels/
mi torna molto utile per tenere aggiornate le liste canali ed al limite posso sempre provare a migliorarlo.
Grazie
Re: script lista canali in perl
Beh non è solo uno script perl.
Prima si scarica il file settings di vhannibal che serve per un confronto...
Poi si fa la scansione completa dei canali con uno script apposito, tramite la versione 1.7.15 che mantiene compatibilità sia con i VDR precedenti che quelli successivi...
Poi si lancia un programma che ho creato che mi legge da uno qualsiasi dei transponder di sky la lista dei canali con relativa numerazione.
Ed infine si lancia lo script che crea le liste.
Ciao
Prima si scarica il file settings di vhannibal che serve per un confronto...
Poi si fa la scansione completa dei canali con uno script apposito, tramite la versione 1.7.15 che mantiene compatibilità sia con i VDR precedenti che quelli successivi...
Poi si lancia un programma che ho creato che mi legge da uno qualsiasi dei transponder di sky la lista dei canali con relativa numerazione.
Ed infine si lancia lo script che crea le liste.
Ciao
VDRBOX: GA-K8NS, AMD Sempron 2600+, Hauppauge Nexus 2.1, LFS
Re: script lista canali in perl
la lista e' corredata di frequenze o e' solo un' elenco con i nomi?lukkino ha scritto: Poi si lancia un programma che ho creato che mi legge da uno qualsiasi dei transponder di sky la lista dei canali con relativa numerazione.
Ciao
Re: script lista canali in perl
Bel casino, cmq sarei interessato a migliorare la cosa, come fai ad ottere un file con tutti i canali sky e numerazione? Si posson avere/vedere questi programmini?
Re: script lista canali in perl
Una bella automazione del tutto, risolverebbe una grossa pecca di VDR .
Auguri a tutti e in particolare a Lukk .
Ciaoo
Auguri a tutti e in particolare a Lukk .
Ciaoo
Re: script lista canali in perl
il mio obbiettivo è quello infatti...papernik ha scritto:Una bella automazione del tutto, risolverebbe una grossa pecca di VDR .
Re: script lista canali in perl
Intanto posto il programmino che scarica l'elenco dei canali di Sky che arriva ai decoder del canguro. In sostanza è LCN dei decoder Sky
Scaricate il programma da qui:
http://lukkinosat.altervista.org/get_channels_sky.c
E compilate con:
Andate su un qualsiasi canale di sky, visibile o non visibile, non importa.
Lanciate il programma:
Dopo 30-40 secondi vi trovate un file chiamato channels.sky
Aprendo il file notate che ci sono vari campi separati dal carattere "|"
Spiegazione dei campi:
1 = numerazione canale sky, valori validi: da 100 a 999
2 = valori validi: 0 canale presente solo nei decoder non HD, 2 canale presente solo nei decoder HD, 65535 canale presente sia nei decoder normali che nei decoder HD
3 = tipo di servizio, valori validi: 1 tv, 2 radio, 25 hd
4 = tid del canale
5 = nid del canale
6 = sid del canale
7 = frequenza transponder
8 = posizione satellite
9 = flag est/ovest satellite, valori validi: 0 per ovest, 1 per est
10 = polarizazzione del transponder
11 = roll_off
12 = sistema di modulazione: QAM, QPSK, ecc..
13 = tipo di modulazione: DVB-S o DVB-S2
14 = symbol rate
15 = fec
16 = nome del canale
17 = provider del canale
Comunque io di norma prendo in considerazione solo i campi da 1 a 6 e abbinando questi valori con il file di una scansione completa, ricavo le liste...
Per il momento buon studio
Ciao ciao
Scaricate il programma da qui:
http://lukkinosat.altervista.org/get_channels_sky.c
E compilate con:
Codice: Seleziona tutto
g++ get_channels_sky.c -o get_channels_sky
Lanciate il programma:
Codice: Seleziona tutto
./get_channels_sky
Aprendo il file notate che ci sono vari campi separati dal carattere "|"
Spiegazione dei campi:
1 = numerazione canale sky, valori validi: da 100 a 999
2 = valori validi: 0 canale presente solo nei decoder non HD, 2 canale presente solo nei decoder HD, 65535 canale presente sia nei decoder normali che nei decoder HD
3 = tipo di servizio, valori validi: 1 tv, 2 radio, 25 hd
4 = tid del canale
5 = nid del canale
6 = sid del canale
7 = frequenza transponder
8 = posizione satellite
9 = flag est/ovest satellite, valori validi: 0 per ovest, 1 per est
10 = polarizazzione del transponder
11 = roll_off
12 = sistema di modulazione: QAM, QPSK, ecc..
13 = tipo di modulazione: DVB-S o DVB-S2
14 = symbol rate
15 = fec
16 = nome del canale
17 = provider del canale
Comunque io di norma prendo in considerazione solo i campi da 1 a 6 e abbinando questi valori con il file di una scansione completa, ricavo le liste...
Per il momento buon studio
Ciao ciao
VDRBOX: GA-K8NS, AMD Sempron 2600+, Hauppauge Nexus 2.1, LFS
Re: script lista canali in perl
per ora grazie mille...
Re: script lista canali in perl
Ho effettuato una modifica al codice .... rendendolo piu' simile al codice utilizzato per il channels.conf ....
Quindi pensavo di chiedervi aiuto per modificare il codice nel risultato restituito
per essere uguale hai paramentri utilizzati da channels.conf ....
Visto la bonta del tuo codice .... Per creare di suo gia il channels.conf ....
Pensavo anche se era possibile inserire i parametri mancanti ... Tipo PID Audio/Video e altri dati in Scansione per Avere Output Identico a channels.conf
Dati Originali Contenuti in channels.sky Utilizzando -> get_channels_sky.c <- Originale
Dati Originali Contenuti in channels.sky Utilizzando -> get_channels_sky.c <- Modificato
Lista Canali -> channels.conf
Codice Modificato:
Come si vede in questo punto sono scritti gli stessi dati ma in modo diverso
-->> 10775:0 4:130 << Equivalente di >> 10775:HC56M2S0:S13.0E
Frequency »» 10775: Polariz. »0 Fec »4 : orbital » 130
Polarization »» 0 Horizontal -- 1 Vertical
Fec_inner »»4 »» C56M2S0 »» 5/6
Orbital_position »» 130 »» S13.0E
Risultano Mancanti nella scansione:
PID Video »» 2508
PID Audio »» 2509 (ita) ,2510
PID Pcr »» 2508
PID Teletext »» 3003
Aspetto un vostro riscontro per proseguire con il vostro aiuto nella modifica del codice per rendere utilizzabile il risultato in channels.conf direttamente senza eseguire ulteriori passaggi.[/b][/size]
Quindi pensavo di chiedervi aiuto per modificare il codice nel risultato restituito
per essere uguale hai paramentri utilizzati da channels.conf ....
Visto la bonta del tuo codice .... Per creare di suo gia il channels.conf ....
Pensavo anche se era possibile inserire i parametri mancanti ... Tipo PID Audio/Video e altri dati in Scansione per Avere Output Identico a channels.conf
Dati Originali Contenuti in channels.sky Utilizzando -> get_channels_sky.c <- Originale
116|65535|1|11300|64511|4033|10775|130|1|0|0|0|1|29900|4|Fox Crime +1|SkyItalia
Dati Originali Contenuti in channels.sky Utilizzando -> get_channels_sky.c <- Modificato
:@116
Fox Crime +1;SkyItalia:10775:0 4:130:29900:919,93B,9CD:4033:64511:11300:0
Lista Canali -> channels.conf
:@116
Fox Crime +1;SkyItalia:10775:HC56M2S0:S13.0E:29900:2508=2:2509=ita@4,2510=und@4:3003:919,93B,9CD:4033:64511:11300:0
Codice Modificato:
Codice: Seleziona tutto
fprintf( fd,
":@%i\n %s;%s:%i:%i %i:%i:%i:919,93B,9CD:%i:%i:%i:0\n",
service->sky_number,
service_name,
service_provider_name,
frequency,
polarization,
fec_inner,
orbital_position,
symbol_rate,
// service->stream_type,
// service->service_type,
// west_east_flag,
// roll_off,
// modulation_system,
// modulation_type,
service->service_id,
service->original_network_id,
service->transport_stream_id
);
}
fclose( fd );
Come si vede in questo punto sono scritti gli stessi dati ma in modo diverso
-->> 10775:0 4:130 << Equivalente di >> 10775:HC56M2S0:S13.0E
Frequency »» 10775: Polariz. »0 Fec »4 : orbital » 130
Polarization »» 0 Horizontal -- 1 Vertical
Fec_inner »»4 »» C56M2S0 »» 5/6
Orbital_position »» 130 »» S13.0E
Risultano Mancanti nella scansione:
PID Video »» 2508
PID Audio »» 2509 (ita) ,2510
PID Pcr »» 2508
PID Teletext »» 3003
Aspetto un vostro riscontro per proseguire con il vostro aiuto nella modifica del codice per rendere utilizzabile il risultato in channels.conf direttamente senza eseguire ulteriori passaggi.[/b][/size]
Re: script lista canali in perl
Io invece sto puntantando ad un altra soluzione...
l'idea finale è la seguente:
uno script/plugin per vdr (sifbox e qui devo sentire unixer) dove nel menu avrà una voce AGGIORNA CANALI SKY
lo script farà partire il programmino di lukkino con LCN di sky e successivamente lancio lo sciprt (ancora in beta) riportato qui sotto
in pratica lo script legge riga per riga il file channels.sky (in questa beta legge solo i canali NON HD) e cerca nel file channels.conf (generato con w_scan o con wirblescan da vdr) la riga dove è presente la stessa frequanza, tid, nid, sid, symbol rate (quindi è lo stesso canale) e lo appendo in un file temporaneo, il risultato è una lista dei canali SKY (non HD) ordinata essattamente come nel file channels.sky, a questo punto basta uno stop di VDR switchare la vecchia lista con la nuova e poi START VDR e ci troviamo la lista canali aggiornata
se poi settiamo VDR in modalità AGGIORNA NUOVI TRANSPONDER, i nuovi canali vengono accodati in fondo al file in automatico, quindi se rilanciamo lo script avremmo in pochi minuti una lista canali ordinata ed aggiornata.
Che ne dite? si accettano consigli e suggerimenti
l'idea finale è la seguente:
uno script/plugin per vdr (sifbox e qui devo sentire unixer) dove nel menu avrà una voce AGGIORNA CANALI SKY
lo script farà partire il programmino di lukkino con LCN di sky e successivamente lancio lo sciprt (ancora in beta) riportato qui sotto
in pratica lo script legge riga per riga il file channels.sky (in questa beta legge solo i canali NON HD) e cerca nel file channels.conf (generato con w_scan o con wirblescan da vdr) la riga dove è presente la stessa frequanza, tid, nid, sid, symbol rate (quindi è lo stesso canale) e lo appendo in un file temporaneo, il risultato è una lista dei canali SKY (non HD) ordinata essattamente come nel file channels.sky, a questo punto basta uno stop di VDR switchare la vecchia lista con la nuova e poi START VDR e ci troviamo la lista canali aggiornata
se poi settiamo VDR in modalità AGGIORNA NUOVI TRANSPONDER, i nuovi canali vengono accodati in fondo al file in automatico, quindi se rilanciamo lo script avremmo in pochi minuti una lista canali ordinata ed aggiornata.
Che ne dite? si accettano consigli e suggerimenti
Codice: Seleziona tutto
#! /bin/bash
getchannels () {
echo "$1 $2 $3 $4 $5 $6"
# leggo in file canali di VDR/w_scan riga per riga
while read line
do
IFS=':' read -a array <<< "$line"
if [ ${#array[@]} == 13 ]; then
# se il file ha la stessa frequanza, tid, nid, sid, symbol rate allora è lo stsso canele e lo copio dal file channles.conf
if [ ${array[1]} == $4 ] && [ ${array[4]} == $5 ] && [ ${array[9]} == $3 ] && [ ${array[10]} == $2 ] && [ ${array[11]} == $1 ] ; then
# creo i gruppi di canali
option="${1}"
case ${6} in
101) echo ":@101 TV NAZIONALI" >> channlestest.conf
;;
108) echo ":@108 SKY - INTRATTENIMENTO" >> channlestest.conf
;;
200) echo ":@200 SKY - SPORT" >> channlestest.conf
;;
250) echo ":@250 SKY - CALCIO" >> channlestest.conf
;;
301) echo ":@301 SKY - CINEMA" >> channlestest.conf
;;
351) echo ":@351 SKY - PRIMAFILA" >> channlestest.conf
;;
401) echo ":@401 SKY - DOCUMENTARI" >> channlestest.conf
;;
500) echo ":@500 SKY - NEWS" >> channlestest.conf
;;
601) echo ":@601 SKY - BAMBINI" >> channlestest.conf
;;
700) echo ":@700 SKY - RADIO" >> channlestest.conf
;;
770) echo ":@770 SKY - MUSICA" >> channlestest.conf
;;
804) echo ":@804 SKY - ALTRE TV" >> channlestest.conf
;;
*) echo ":@$6" >> channlestest.conf
;;
esac
echo "$line" >> channlestest.conf
break
fi
fi;
done < channels.conf
}
# leggo il file LCN di sky riga per riga
while read line
do
IFS='|' read -a array <<< "$line"
if [ ${array[12]} == 1 ] && [ ${array[0]} -lt 65535 ] ; then
# se il canale non HD cerco i suoi datti in channels conf
getchannels ${array[3]} ${array[4]} ${array[5]} ${array[6]} ${array[13]} ${array[0]}
fi
done < channels.sky
Re: script lista canali in perl
Come idea finale direi che e' la stessa o molto Simile ....Italoc
In Pratica vedo che il tuo script legge i seguenti Parametri :l'idea finale è la seguente:
uno script/plugin per vdr (sifbox e qui devo sentire unixer) dove nel menu avrà una voce AGGIORNA CANALI SKY
Mancano pero' altri 2 Valori essenziali che vengono cambiati e che si devono aggiungere:Frequanza, Tid, Nid, Sid, Symbol rate
Modificare o Rimuovere i Canali che Cambiano Nome Mantenendo sempre lo stesso Tid Sid NidPolarizzazione e Fec
Ho eseguito dei Test è posso garantirti che sono indispensabili per sintonizzare il canale.Cambio Nome Canale
La mia idea e quella di integrare la sezione:
- Pid Video/Audio
- Pid Teletext
- Output Corretto in -> Polarizzazione - Fec - Frequanza - Posizione Orbitale
al sorgente get_channels_sky.c
Con questo hai già channels.conf aggiornato con i canali sky ....
Quindi il Sorgente "get_channels_sky.c" crea l'eseguibile e tramite un pulsante in VDR
Puo' Effettuare -> AGGIORNA CANALI SKY
Tutto qui ... dimmi se ti piace anche la mia idea e se puoi modificare il codice per renderlo piu compatibile nel output.
Re: script lista canali in perl
@knap
La tua idea è buona, anzi sarebbe l'ideale, ma non so se dal programmino di lukkino riesci ad avere i PID che mancano, l'avevo pensata pure io, ma non vedendo i PID ho cambiato strada... Direi che a sto punto se lukkino riesce ad aggiungere i PID al suo programma bene, altrimenti non è una strada praticabile
Inviato dal mio iPad con Tapatalk HD
La tua idea è buona, anzi sarebbe l'ideale, ma non so se dal programmino di lukkino riesci ad avere i PID che mancano, l'avevo pensata pure io, ma non vedendo i PID ho cambiato strada... Direi che a sto punto se lukkino riesce ad aggiungere i PID al suo programma bene, altrimenti non è una strada praticabile
Inviato dal mio iPad con Tapatalk HD
Re: script lista canali in perl
Si Sono Perfettamente D' accordo con Te ....
Volevo chiederti di inserire nel tuo Script gli altri 3 parametri mancanti in modo che si Effettui un ... Aggiornamento dei dati del channels.conf in uso con i dati contenuti nel file di testo channels.sky ...
In Modo da sostituire i parametri diversi riga per riga e di riconoscere il cambio nome canale quando Tid Nid Sid sono invariati ....
Questo riesci a farlo con il tuo script ? .....
----------------- solo per lettura o discussione attiva -------------------
Serve Conoscere il Sorgente e anche i riferimenti presi dalla sintonizzazione di VDR o Altro Player DVB su canale sky sintonizzato o non sintonizzato ....
In Pratica get_channels_sky.c riesce a leggere i dati inviati dal provider sky e di creare il log dei dati inviati ...
Effettivamente i dati ignoti sono molti e neanche io riesco a capire come aggiungere i Pid Mancanti nel codice ...
Ho dato un Occhiata hai sorgenti contenuti in W_SCAN .....
In Pratica si Ottengono i valori di output compatibili con VDR 2.x.x Tramite i sorgenti compilati ...
C'e' tutto il codice per ottenere Pid e Parametri in Output identico a quello utilizzato in vdr 2.x.x ...
Ho eseguito dei test senza risultati decenti .....
Volevo chiederti di inserire nel tuo Script gli altri 3 parametri mancanti in modo che si Effettui un ... Aggiornamento dei dati del channels.conf in uso con i dati contenuti nel file di testo channels.sky ...
In Modo da sostituire i parametri diversi riga per riga e di riconoscere il cambio nome canale quando Tid Nid Sid sono invariati ....
Questo riesci a farlo con il tuo script ? .....
----------------- solo per lettura o discussione attiva -------------------
Serve Conoscere il Sorgente e anche i riferimenti presi dalla sintonizzazione di VDR o Altro Player DVB su canale sky sintonizzato o non sintonizzato ....
In Pratica get_channels_sky.c riesce a leggere i dati inviati dal provider sky e di creare il log dei dati inviati ...
Effettivamente i dati ignoti sono molti e neanche io riesco a capire come aggiungere i Pid Mancanti nel codice ...
Ho dato un Occhiata hai sorgenti contenuti in W_SCAN .....
In Pratica si Ottengono i valori di output compatibili con VDR 2.x.x Tramite i sorgenti compilati ...
C'e' tutto il codice per ottenere Pid e Parametri in Output identico a quello utilizzato in vdr 2.x.x ...
Ho eseguito dei test senza risultati decenti .....
Re: script lista canali in perl
@knap
Certo, lo script riesce a fare quello che chiedi, ma mi chiedo quale sia il senso, il cambio Nome lo fa vdr in automatico, a cosa ti serve aggiornare i canali per aggiornare il nome?
Inviato dal mio iPad con Tapatalk HD
Certo, lo script riesce a fare quello che chiedi, ma mi chiedo quale sia il senso, il cambio Nome lo fa vdr in automatico, a cosa ti serve aggiornare i canali per aggiornare il nome?
Inviato dal mio iPad con Tapatalk HD
Re: script lista canali in perl
Non sapevo che vdr cambiasse in auto il nome oppure io non ho configurato bene vdr per aggiornare il nome canali e anche i Pid Video/audio ....
Comunque il senso di cio che ti chiedevo e' questo:
Prelevare i Dati in channels.sky della scansione effettuata ....
Visto e' considerato che il nome Canale e Pid Video/Audio vengono aggiornati in auto siamo in una situazione migliore rispetto prima ... finche non si puo' migliorare ulteriormente ....
Tutto qui ...
Comunque il senso di cio che ti chiedevo e' questo:
Prelevare i Dati in channels.sky della scansione effettuata ....
Aggiornare i dati in channels.conf ...116|65535|1|11300|64511|4033|10775|130|1|0|0|0|1|29900|4|Fox Crime +1|SkyItalia
In questo modo si hanno i dati aggiornati dopo l'esecuzione del sorgente get_channels_sky.c ed il tuo script ...:@116
Fox Crime +1;SkyItalia:10775:HC56M2S0:S13.0E:29900:2508=2:2509=ita@4,2510=und@4:3003:919,93B,9CD:4033:64511:11300:0
Visto e' considerato che il nome Canale e Pid Video/Audio vengono aggiornati in auto siamo in una situazione migliore rispetto prima ... finche non si puo' migliorare ulteriormente ....
Tutto qui ...