voglio un chilo di loghi canale

Forum principale per problemi di compilazione, installazione, configurazione etc.

Moderatori: ragno, tapino, alez, zulu, davidea

johnnyrun
Messaggi: 98
Iscritto il: 25 mar 2008, 09:03

voglio un chilo di loghi canale

Messaggio da johnnyrun »

ciao!
Ieri ho messo skinenigmang (ero fermo all'osd classico)... solo che poi mancano un sacco di loghi, in primis quelli del dvbt.
Aggiungerli a mano mi sembrava esagerato e mi son fatto uno scriptino per aiutarmi.
In pratica: prendo il nome del canale, lo cerco in "google immagini", prendo il primo risultato, lo salvo.

Codice: Seleziona tutto

LISTA="/tmp/channels.conf";
DAL=$1;
QUANTI=$2; # dal 100, ne aggiungo 50, quindi fino al 150

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for CHAN in $(cat $LISTA|grep -v ^:|tail -n +$DAL|head -n $QUANTI |awk -F\; '{print $1}'|awk -F: '{print $1}'); do
echo $CHAN;
  OC=$CHAN;
  if [[ -r $OC ]] ; then continue; fi
  CHAN=$(echo $CHAN|sed s/+/%2B/|sed s/\ /+/g);
  echo cerco $CHAN;
#  LOGOURL=$(curl -A "mozilla/1.0" 'http://www.google.it/images?um=1&hl=it&gbv=2&'q=$CHAN'+logo&aq=f&aqi=g10&aql=&oq=&gs_rfai='|lynx -stdin -dump|grep -m1 imgurl|sed s/.*imgurl=//|sed s/\&.*//);
  LOGOURL="http://t2.gstatic.com/images?q=tbn:"$(curl -A "mozilla/1.0" 'http://www.google.it/images?um=1&hl=it&gbv=2&'q=$CHAN'+logo&aq=f&aqi=g10&aql=&oq=&gs_rfai='|lynx -stdin -dump|grep -m1 tbnid|sed s/.*tbnid=//|sed s/:.*//)
  echo $LOGOURL
  if [[ $LOGOURL = "" ]] ; then continue;fi
  wget -t 4 --timeout=5 -O "$OC" $LOGOURL;
  sleep 0.2;
done

Utilizzo:

Codice: Seleziona tutto

prendi_canali.sh <DA_CHE_CANALE> <QUANTICANALI>
esempio:
./prendicanali.sh 100 50
(ovvero fa le richieste per i canali 100-150
Poi per converitre in xpm ho usato convert:

Codice: Seleziona tutto

convert -resize 64x48 --colors 16 RAI1 RAI1.xpm
ovviamente in un loop ;)

E infine ho aggiornato solo i loghi che non erano già presenti.
Ovvio che tira dentro tanta porcheria, ma direi che all'80% il logo è giusto o c'entra abbastanza.
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: voglio un chilo di loghi canale

Messaggio da ragno »

Mi sembra un ottimo lavoro.

Tieni presente che se restringi la ricerca di google su lyngsat-logo.com (site:lyngsat-logo.com) sei sicuro di beccare tutta roba pertinente.

Ci sono pagine gia pronte tutte con loghi tipo questa: http://www.lyngsat-logo.com/tvcountry/it_1.html

ciao
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
johnnyrun
Messaggi: 98
Iscritto il: 25 mar 2008, 09:03

Re: voglio un chilo di loghi canale

Messaggio da johnnyrun »

si hai ragione.. potevo raffinare la ricerca
tipo usando il site:lyngsat-logo.com
oppure cercando per dimensioni (tipo 139x99).

Edit:
sì, ho provato e va meglio. Magari manca qualche canale ma molta meno porcheria.
Diciamo che nei primi 300 miei canali ora quasi tutti hanno il logo e meno del 10% ha un logo sbagliato.
Per essere completamente automatico penso non si possa ottenere di meglio.
Però c'è da prenderli direttamente dal sito, non dalla cache di google come facevo prima.
Ovvero:

Codice: Seleziona tutto

LISTA="/tmp/channels.conf";
DAL=$1;
QUANTI=$2; # dal 100, ne aggiungo 50, quindi fino al 150

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for CHAN in $(cat $LISTA|grep -v ^:|tail -n +$DAL|head -n $QUANTI |awk -F\; '{print $1}'|awk -F: '{print $1}'); do
echo $CHAN;
  OC=$CHAN;
  if [[ -r $OC ]] ; then continue; fi
  CHAN=$(echo $CHAN|sed s/+/%2B/|sed s/\ /+/g);
  echo cerco $CHAN;

  LOGOURL=$(curl -A "mozilla/1.0" 'http://www.google.it/images?hl=it&gbv=2&tbs=isch%3A1&sa=1&q='$CHAN'+site%3Alyngsat-logo.com&aq=f&aqi=&aql=&oq=&gs_rfai='|lynx -stdin -dump|grep -m1 imgurl|sed s/.*imgurl=//|sed s/\&.*//);

  echo $LOGOURL
  wget -t 4 --timeout=5 -O "$OC" $LOGOURL;
  sleep 0.2;
done
~                  
e Poi:

Codice: Seleziona tutto

IFS=$(echo -en "\n\b")
mkdir xpm
for file in *; do CMD="convert -resize 64x48 -colors 16 \"$file\" \"xpm/$file.xpm\"";echo $CMD;bash -c $CMD;done
e integrare con quelli esistenti :D
davidea
Messaggi: 1279
Iscritto il: 16 ago 2009, 13:32
Località: Palermo
Contatta:

Re: voglio un chilo di loghi canale

Messaggio da davidea »

visto che ti sei fatto il mazzo, e te ne siamo grati, te ne saremmo di piu' se metti in risorse il file gia' pronto!!!! :D
johnnyrun
Messaggi: 98
Iscritto il: 25 mar 2008, 09:03

Re: voglio un chilo di loghi canale

Messaggio da johnnyrun »

Bè non è che mi voglio tenere per me il lavoro.
E' che la mia lista potrebbe essere diversa (come nomi) dalla tua.
Infatti vedo che molte icone già le avevo ma con nomi sbagliati..

Cmq posto volentieri quel che ho fatto fin'ora: ovvero i miei primi 300 canali, lista del biondo di un pò di tempo fa + dvb-t
Prendi con le pinze, perchè manca parecchia roba, ma complletamente automatico questo è il risultato migliore
Li trovi in risorse -> altro

Ciao
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: voglio un chilo di loghi canale

Messaggio da ragno »

@johnnyrun: ripeto mi sembra un ottimo lavoro.

Se posso permettermi di darti qualche consiglio:

Ad esempio per estrarre tutti i loghi italiani:

1) ciclare con wget le pagine su http://www.lyngsat-logo.com/tvcountry/it_N.html (N da 1 a 15, o oltre basta verificare il 404 se il server non effettua il redirect)
2) estrarre gli url filtrando per /logo/tv/LL (LL= lettere dell'alfabeto da 'aa' a 'zz')
3) scaricare le jpg
4) applicare un controllo sui nomi creando link simbolici per gli equivalenti (ad esempio "RAI 1" -> "Rai Uno")
5) creare dei pacchetti tar di icone (dimensioni diverse per i vari skin di vdr) by johnnyrun e metterli su risorse.

ciao e grazie.

P.S. la cosa vale naturalmente anche per i loghi di altra nazionalita'... :)
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
johnnyrun
Messaggi: 98
Iscritto il: 25 mar 2008, 09:03

Re: voglio un chilo di loghi canale

Messaggio da johnnyrun »

Sì, potrebbe andare.
Il fatto che il nome dei file jpg su quel sito è assolutamente quasi random.
Come faccio ad associare il mio "Cinema 1" con sky_it_cinema_1.jpg?
Poi, a volte, quell'it slitta in fondo al file.
Direi che c'è troppo sbattimento, ma un paio di passate di wget posso anche farle per provare.
Se dovessi investire altro tempo in sta cosa, cercherei di rendere il plugin un pò più flessibile coi nomi, uppercase, lowercase e compagnia bella.
Così magari diventa quasi compatibile con lyngsat.
Avatar utente
Gringo
Messaggi: 1796
Iscritto il: 21 gen 2007, 19:36

Re: voglio un chilo di loghi canale

Messaggio da Gringo »

Riporto un paio di considerazioni:

1) io utilizzo di solito la risoluzione 80x80 per i loghi sempre con Skinenigmang
2) forse è possibile confrontrare (se non ho capito male) il nome del canale presente nella lista canali (prima colonna) e poi assegnare direttamente il nome del file xpm

Saludos desde Madrid!!!
VDRBOX:
Software: ArchLinux 0.8 Don't Panic, VDR 1.6.0-2 con Extension Patch v.62 (> 70 plugins in IT)
Hardware: Intel P4 2,4 Ghz, 1 GB RAM, DVB-S Hauppauge WinTV Nexus-S rev 2.1, DVB-T Terratec Cinergy 1400, telecomando Terratec
Case: Compaq D510 SFF
johnnyrun
Messaggi: 98
Iscritto il: 25 mar 2008, 09:03

Re: voglio un chilo di loghi canale

Messaggio da johnnyrun »

Bene.. prego fornire i loghi 80x80 :D
Cmq nella pausa pranzo ho scritto uno scrippettone per prendere i loghi anche da lyngsat, se mancano prova con google per lyngsat, se mancano anche quelli con google secco e duro.
Un pò di roba la trova.
E posso cambiare lista senza pensarci troppo :D
Quando ho un altro minuto di tempo metto su risorse
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: voglio un chilo di loghi canale

Messaggio da ragno »

In effetti un pacco di nuovi loghi 80x80 non sarebbe male, considerando che la Rai ha cambiato da poco i propri...

@johnnyrun: i loghi dovrebbero stare su risorse, se ti mancano faccio un tar di quelli che ho io..(80x80)...sono pero' abbastanza stagionati... :)

ciao
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
johnnyrun
Messaggi: 98
Iscritto il: 25 mar 2008, 09:03

Re: voglio un chilo di loghi canale

Messaggio da johnnyrun »

Direi che ci siamo.
Facciamo così: qui ci sono i loghi scaricati con lo script senza integrarli con niente..
Risorse -> altro -> logos_AUTO_TEST.tar.gz
Utili per tirare fuori qualcosa a manina.

Poi qui invece metto uno script: settando bene le prime variabili: controlla se il canale è già stato preso, senò lo cerca con i tre metodi.
Non tocca nessuna directory di vdr, se non in lettura. Lavora in /tmp
I nuovi loghi trovati li mette (insieme ai vecchi) in /tmp/logos

Codice: Seleziona tutto

# chili_loghi.sh - VDR -JohnnyRun

# questi file /dir non vengono toccati
CF="/video/channels.conf"
LOGODIR="/video/plugins/skinenigmang/logos"
##... perchè i loghi li trovi poi qui
DESTLOGO="/tmp/logos";
NAZIONE="it";

OPTS=" -resize 80x80 -colors 16";

LYNGCOLL="/tmp/lyng"; ##collezione lyngsat
JPG="/tmp/jpg"
# questi vengono usati solo nel fetch da google
DAL=1;
QUANTI=300; # dal 100, ne aggiungo 50, quindi fino al 150
# fine google

mkdir -p $LOGODIR $DESTLOGO;
if [ -d $LOGODIR ]; then
 cp $LOGODIR/* $DESTLOGO;
fi
#scarico roba da lyng:
if [ -d /tmp/templyng ]; then
 echo temp lyng già presente..skippo il download
else 
  cd /tmp
  mkdir templyng;
  cd templyng;
  for num in $(seq 1 15); do 
    wget -p http://www.lyngsat-logo.com/tvcountry/$NAZIONE"_"$num.html;
  done
fi
mkdir -p /tmp/lyng
cp /tmp/templyng/www.lyngsat-logo.com/logo/tv/*/*jpg $LYNGCOLL;
cd $LYNGCOLL
echo cancello quel cazz di _$NAZIONE .... e l\'estensione .jpg
for file in *_$NAZIONE*; do echo $file;mv $file $(echo $file|sed s/_$NAZIONE//|sed s/.jpg//);done
echo fatto

# Metodo 1: da file già scaricati da lyngsat
mkdir -p $JPG;
if [ -d $LYNGCOLL ] ; then echo collezione presente;
else echo manca collezione lyngsat;
exit;
fi;


IFS=$(echo -en "\n\b")
for chan in $(cat $CF |awk -F \; '{print $1}'|awk -F : '{print $1}'); do 
  if [ -r "$DESTLOGO/$chan.xpm" ] ; then echo skip $chan;continue; fi;
  printf ".";
  rechan[0]=$(echo $chan|tr \[:upper:\] \[:lower:\]|sed s/\ /\_/g|sed s/\+1/plus1/); 
  rechan[1]=$(echo $chan|tr \[:upper:\] \[:lower:\]|sed s/\ /\_/g|sed s/\+1/_plus1/); 
  rechan[2]=$(echo ${rechan[0]}|sed s/\([0-9]*\)/_\1/);
  rechan[3]=$(echo ${rechan[2]}|sed s/^/mediaset_/);
  rechan[4]=$(echo ${rechan[2]}|sed s/_premium//);
  rechan[5]=$(echo ${rechan[2]}|sed s/_-_premium//);

  for num in $(seq 0 5); do 
#echo cerco $LYNGCOLL/${rechan[$num]} ;
    if [ -r $LYNGCOLL/${rechan[$num]} ]; then 
  echo trovato $num $chan ${rechan[$num]}
bash -c "convert $OPTS $LYNGCOLL/\"${rechan[$num]}\" $DESTLOGO/\"$chan\".xpm"
break;
    fi
  done
done

#metodo 2: cerco su google qualcosa che c'entra con lyngsat
for MODE in l g; do
 IFS=$(echo -en "\n\b")
 for CHAN in $(cat $CF|grep -v ^:|tail -n +$DAL|head -n $QUANTI |awk -F\; '{print $1}'|awk -F: '{print $1}'); do
   echo $CHAN;
   OC=$CHAN;
   if [ -r $DESTLOGO/$OC.xpm ] ; then echo skip $OC;continue; fi
   CHAN=$(echo $CHAN|sed s/+/%2B/|sed s/\ /+/g);
   echo cerco $CHAN;
   if [[ $MODE = "l" ]]; then
   echo LYNGSAT  MODE;
   LOGOURL=$(curl -A "mozilla/1.0" 'http://www.google.it/images?hl=it&gbv=2&tbs=isch%3A1&sa=1&q='$CHAN'+site%3Alyngsat-logo.com&aq=f&aqi=&aql=&oq=&gs_rfai='|lynx -stdin -dump|grep -m1 imgurl|sed s/.*imgurl=//|sed s/\&.*//);
     else
   echo GOOGLE  MODE;
   LOGOURL="http://t2.gstatic.com/images?q=tbn:"$(curl -A "mozilla/1.0" 'http://www.google.it/images?um=1&hl=it&gbv=2&'q=$CHAN'+logo&aq=f&aqi=g10&aql=&oq=&gs_rfai='|lynx -stdin -dump|grep -m1 tbnid|sed s/.*tbnid=//|sed s/:.*//)
    fi
   if [[ $LOGOURL = "" ]] ; then continue;fi
   echo $LOGOURL
   wget -t 4 --timeout=5 -O $JPG/"$OC" $LOGOURL;
   bash -c "convert $OPTS $JPG/\"$OC\" \"$DESTLOGO/$OC.xpm\""
   sleep 0.2;
 done
done
echo "trovi i loghi in $DESTLOGO";
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: voglio un chilo di loghi canale

Messaggio da ragno »

Eheeheh, i commenti sono la cosa piu' simpatica... ;)

Grazie...
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
nino
Messaggi: 319
Iscritto il: 19 gen 2007, 23:43

Re: voglio un chilo di loghi canale

Messaggio da nino »

Ciao a tutti,

in Risorse nuovo pacco loghi .xpm per skinelchi.

Saluti.

Nino
VDRbox HD: P4 3.06 ghz, 1 gb di ram, 2 HDD IDE 250+320 gb, NVIDIA GT520 PCI passiva, VDR 2.2.0, openSUSE 13.1, Hauppauge Nova PCI DVB-S2, Technotrend DVB-T 1500 PCI, telecomando Hauppauge, case Accent HT-200.

Vu+ Duo2 BH 2.1.5.
Avatar utente
Gringo
Messaggi: 1796
Iscritto il: 21 gen 2007, 19:36

Re: voglio un chilo di loghi canale

Messaggio da Gringo »

A proposito di loghi, dal forum tedesco:

http://www.htwm.de/~jesch/php/logomaker.php
VDRBOX:
Software: ArchLinux 0.8 Don't Panic, VDR 1.6.0-2 con Extension Patch v.62 (> 70 plugins in IT)
Hardware: Intel P4 2,4 Ghz, 1 GB RAM, DVB-S Hauppauge WinTV Nexus-S rev 2.1, DVB-T Terratec Cinergy 1400, telecomando Terratec
Case: Compaq D510 SFF
mona66
Messaggi: 27
Iscritto il: 18 set 2008, 00:56

Re: voglio un chilo di loghi canale

Messaggio da mona66 »

Ciao a tutti e @junnyrun complimenti per lo script...
ho provato ad fare uno partendo dal tuo e sono arrivato ad un punto morto..lo script è questo:

Codice: Seleziona tutto

#!/bin/bash

JPG="logo_dvb";
LOGO="$JPG/logo";

#----------------------------------------

mkdir logo_dvb_r;
cd $JPG;
  for num in $(seq 1 15); do
wget -p http://www.lyngsat-logo.com/tvcountry/it_$num.html;
  done
cp www.lyngsat-logo.com/logo/tv/*/*jpg ~/$JPG;

echo "....verifica ed elimina se esiste ancora quialche traccia nel nomefile di it_ e mediaset_...":
sleep 3
echo "---------------------------------------------------------------------":
#
#for i in * ; do [ -f $i ] && mv -i $i `echo $i | sed -r s/sky_it_//g`; done
for i in * ; do [ -f $i ] && mv -i $i `echo $i | sed -r s/mediaset_//g`; done
for i in * ; do [ -f $i ] && mv -i $i `echo $i | sed -r s/_it//g`; done
for i in * ; do [ -f $i ] && mv -i $i `echo $i | sed -r s/it_//g`; done
for i in * ; do [ -f $i ] && mv -i $i `echo $i | sed 's/\<./\U&/g'`; done
for i in * ; do [ -f $i ] && mv -i $i `echo $i | sed -r s/_/[:space]/g`; done
rm -Rf ~/logo_dvb/www.lyngsat-logo.com
echo "       fatto!        "
e ottengo dei file tipo:

Codice: Seleziona tutto

....
Sky_animal_planet
Eurosport2.Jpg Sky_calcio
Eurosport.Jpg Sky_cinema1
Eurosport_news.Jpg Sky_cinema_classics
Fashion_tv.Jpg Sky_cinema_family
Fox Sky_cinema_hits
Fox_crime Sky_cinema_italia
Fox_life Sky_cinema_mania
Fox_retro Sky_cinema_max
Fuego_tv.Jpg Sky_dea_kids
Fx Sky_meteo24
Gambero_rosso.Jpg Sky_prima_fila
Gbr.Jpg Sky_prima_fila_promo
Giorno_notte_total.Jpg Sky_show
Glamour_plus.Jpg Sky_sport1
Gxt.Jpg Sky_sport2
Gxt_plus1.Jpg Sky_sport24
Hallmark_channel Sky_sport3
Health_beauty_tv.Jpg Sky_sport_active1

il problema come si nota i nomi dei loghi c'è "_" non riesco a cambiarlo con uno spazio anche con il comando

Codice: Seleziona tutto

sed -r s/_/[:space]/g`
qualche suggerimento?
PS:
ho provato anche %20%
Grazie
Rispondi