<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Il 07/09/2009 18:55, antonio montagnani ha scritto:
<blockquote cite="mid:4AA53B0D.60400@alice.it" type="cite">qualcuno è
riuscito a far funzionare il plugin moonlight per vedere la rai in
diretta??? come si fa?? Io lo installo ma ogni volta mi dice che devo
reinstallarlo.
<br>
Nell'elenco plugin di Firefox esiste un silver light.
<br>
L'esperienza multimediale con Fedora è frustrante, altro che Linux
day... :-(
<br>
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Fedora-it-list mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Fedora-it-list@redhat.com">Fedora-it-list@redhat.com</a>
<a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/fedora-it-list">https://www.redhat.com/mailman/listinfo/fedora-it-list</a></pre>
</blockquote>
Prova con questo script....<br>
Ciao,<br>
MEP<br>
<br>
#!/bin/bash<br>
# Usate, modificate, riscrivete questo script come vi pare.<br>
# se vi succede qualcosa di brutto a causa di questo script,<br>
# io non c'ero, e se c'ero dormivo, ergo: sono cavoli vostri. chiaro?<br>
<br>
## CONFIGURAZIONE UTENTE<br>
tries=5 #tentativi di scaricare ogni file<br>
timeout=10 #tempo massimo di attesa risposta per lo scaricamento
(secondi)<br>
player="vlc" #nome del player video.<br>
output="si" #mandare a video i messaggi del player? (si/no)<br>
background="no" #mandare il player in background, in modo da
aver disponibile il terminale?<br>
<br>
#per salvare gli stream, usate il vostro player preferito.<br>
#per mplayer ad esempio, basta modificare la variabile "player" a:<br>
# player="mplayer -dumpfile stream.wmv -dumpstream"<br>
<br>
############ PROGRAMMA REALE ################<br>
############ NON MODIFICARE! ################<br>
NOTFOUND=""<br>
for command in wget sed grep awk tail head dialog; do<br>
if [ -z "`which $command 2>/dev/null`" ]; then<br>
NOTFOUND="`echo "$NOTFOUND $command"`"<br>
fi<br>
done<br>
if [ -n "$NOTFOUND" ]; then<br>
echo "Comandi non trovati:"<br>
echo $NOTFOUND<br>
exit 1<br>
fi<br>
USERAGENT='Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.0.6)
Gecko/2009011912 Firefox/3.0.11'<br>
PLAYERCMD="`echo $player|awk -F " " '{print $1}'`"<br>
if [ -z "`which $PLAYERCMD 2>/dev/null`" ]; then<br>
echo "Player $PLAYERCMD non trovato!"<br>
exit 1<br>
fi<br>
unset PLAYERCMD<br>
case $output in<br>
[Ss][Ii])<br>
;;<br>
[Nn][Oo])<br>
;;<br>
*)<br>
echo "La variabile \"output\" ammette solo"<br>
echo "I valori \"si\" e \"no\""<br>
exit 1<br>
;;<br>
esac<br>
case $background in<br>
[Ss][Ii])<br>
;;<br>
[Nn][Oo])<br>
;;<br>
*)<br>
echo "La variabile \"background\" ammette solo"<br>
echo "I valori \"si\" e \"no\""<br>
exit 1<br>
;;<br>
esac<br>
help () {<br>
echo "Script per la visualizzazione dei canali presenti su rai.tv"<br>
echo "senza il plugin Silverlight di Microsoft o Moonlight di
Novell"<br>
echo "Creato da Luke88 -- luke88 _at_ slacky.it"<br>
echo -e "\nUso:\t$0 chiave_ricerca\tcerca canale nella lista"<br>
echo -e "\t$0 tutti\t\tlista completa dei canali"<br>
echo ""<br>
echo "per configurare player e comportamenti del player"<br>
echo "cambiare le variabili all'inizio di questo scirpt"<br>
echo "con il vostro editor preferito"<br>
echo -e "\nlo script non porta con se garanzie di qualsiasi tipo"<br>
}<br>
update () {<br>
echo "scarico la lista dei canali...."<br>
rm ${0}.xml &>/dev/null<br>
wget -U "$USERAGENT" --tries=$tries --timeout=$timeout -O ${0}.xml
--tries=$tries
<a class="moz-txt-link-abbreviated" href="http://www.rai.tv/dl/RaiTV/videoWall/PublishingBlock-5566288c-3d21-48dc-b3e2-af7fbe3b2af8.xml">www.rai.tv/dl/RaiTV/videoWall/PublishingBlock-5566288c-3d21-48dc-b3e2-af7fbe3b2af8.xml</a>
&>/dev/null<br>
if [ ! -s ${0}.xml ]; then<br>
echo "Download fallito! controlla la connessione internet e
rilancia il programma"<br>
exit 1<br>
fi<br>
rm ${0}.tmp &>/dev/null<br>
grep -B 1 '<url>' ${0}.xml|sed /--/d | sed s/^\ *// >
${0}.tmp<br>
rm ${0}.xml &>/dev/null<br>
sed -i s/\&apos\;/\'/g ${0}.tmp<br>
sed -i 's/\à\;/à/g' ${0}.tmp<br>
sed -i 's/\á\;/à/g' ${0}.tmp<br>
sed -i 's/\è\;/è/g' ${0}.tmp<br>
sed -i 's/\é\;/é/g' ${0}.tmp<br>
sed -i 's/\ì\;/ì/g' ${0}.tmp<br>
sed -i 's/\í\;/ì/g' ${0}.tmp<br>
sed -i 's/\ò\;/ò/g' ${0}.tmp<br>
sed -i 's/\ò\;/ò/g' ${0}.tmp<br>
sed -i 's/\ù\;/ù/g' ${0}.tmp<br>
sed -i s/\&\;/\\\&/g ${0}.tmp<br>
COUNTER=0<br>
rm ${0}.canali &>/dev/null<br>
while read line ; do<br>
let "NUM=$COUNTER % 2"<br>
if [ $NUM -eq 0 ]; then<br>
let "NUM=$COUNTER % 20" #facciamo vedere qualcosa a
schermo...<br>
if [ $NUM -eq 0 ]; then<br>
let "NUM=$COUNTER/2" #ogni 10 stream diciamo a
quanti siamo...<br>
echo -n $NUM<br>
else<br>
echo -n "."<br>
fi<br>
echo -en $line|awk -F '"' '{print $2}' >>
${0}.canali #metti il nome dello stream in cache<br>
else<br>
echo -en $line|awk -F '<url>' '{print $2}'|awk -F
'</url>' '{print $1}' >> ${0}.canali #metti l'indirizzo
dello stream in cache<br>
echo "==" >> ${0}.canali #non è realmente
necessario, ma se qualcuno si vuole vedere la lista selza usare lo
script<br>
fi #fa comodo avere una lista leggibile<br>
let COUNTER++<br>
done < ${0}.tmp<br>
echo ""<br>
rm ${0}.tmp &>/dev/null<br>
}<br>
check_dwn () {<br>
if [ ! -s ${0}.tmp ]; then<br>
echo "Download fallito! controlla la connessione internet e
rilancia il programma"<br>
exit 1<br>
fi<br>
}<br>
play () {<br>
if [ -z "`echo $STREAM|grep '<a class="moz-txt-link-freetext" href="mms://">mms://</a>'`" ]; then<br>
#uff... tiriamo fuori lo stream da incasinamenti vari....<br>
rm ${0}.tmp &>/dev/null<br>
wget -U "$USERAGENT" --tries=$tries --timeout=$timeout
--spider "$STREAM" -O /dev/null 1> /dev/null 2> ${0}.tmp #a
volte il link è un file flv.<br>
check_dwn<br>
TMP="`tail -n 2 ${0}.tmp|grep 'flv'`" #che
sembra essere solo un video....<br>
rm ${0}.tmp<br>
if [ -z "$TMP" ]; then<br>
wget -U "$USERAGENT" --tries=$tries --timeout=$timeout -O
${0}.tmp "$STREAM" &>/dev/null<br>
check_dwn<br>
if [ -z "`grep '<a class="moz-txt-link-freetext" href="http://">http://</a>' ${0}.tmp`" ]&&[ -z "`grep
'<a class="moz-txt-link-freetext" href="mms://">mms://</a>' ${0}.tmp`" ]; then<br>
#mi è capitato che alcuni link portino nel vuoto<br>
echo "(muove la mano)--Tu *NON* vuoi vedere questo
canale"<br>
rm ${0}.tmp<br>
exit 1<br>
else<br>
if [ -n "`grep '<a class="moz-txt-link-freetext" href="mms://">mms://</a>' ${0}.tmp`" ]; then<br>
STREAM="`grep '<a class="moz-txt-link-freetext" href="mms://">mms://</a>' ${0}.tmp|awk -F '"' '{print
$4}'`"<br>
elif [ -n "`grep wmv ${0}.tmp`" ]; then<br>
STREAM="`grep wmv ${0}.tmp |awk -F '"' '{print
$2}'`"<br>
else<br>
STREAM="`grep '<a class="moz-txt-link-freetext" href="http://">http://</a>' ${0}.tmp`"<br>
if [ -n "`echo $STREAM|grep 'HREF'`" ]; then<br>
STREAM="`echo
$STREAM|awk -F 'HREF="' '{print $2}'|awk -F '"' '{print $1}'`"<br>
elif [ -n "`echo $STREAM|grep
'"'`" ]; then<br>
STREAM="`echo
$STREAM|awk -F '"' '{print $2}'`"<br>
fi<br>
rm ${0}.tmp<br>
wget -U "$USERAGENT" --tries=$tries
--timeout=$timeout --spider "$STREAM" -O /dev/null 1>/dev/null
2>${0}.tmp<br>
check_dwn<br>
if [ -z "`tail -n 2 ${0}.tmp|grep 'flv'`" ];
then #se NON è un flv...<br>
wget -U "$USERAGENT" --tries=$tries
--timeout=$timeout -O ${0}.tmp "$STREAM" &>/dev/null<br>
check_dwn<br>
if [ -n "`grep '<a class="moz-txt-link-freetext" href="mms://">mms://</a>' ${0}.tmp`" ]; then<br>
STREAM="`grep '<a class="moz-txt-link-freetext" href="mms://">mms://</a>' ${0}.tmp |awk -F
'"' '{print $2}'`"<br>
elif [ -n "`grep '.flv' ${0}.tmp`" ]; then<br>
STREAM="`cat ${0}.tmp`"<br>
elif [ -n "`grep '.wmv' ${0}.tmp`" ]; then<br>
STREAM="`grep '.wmv' ${0}.tmp |awk -F '"'
'{print $2}'`"<br>
fi<br>
fi<br>
fi<br>
rm ${0}.tmp<br>
fi<br>
fi<br>
fi<br>
case $output in<br>
[Nn][Oo])<br>
case $background in<br>
[Nn][Oo])<br>
$player "$STREAM" &>/dev/null<br>
;;<br>
[Ss][Ii])<br>
$player "$STREAM" &>/dev/null &<br>
;;<br>
esac<br>
;;<br>
[Ss][Ii])<br>
case $background in<br>
[Nn][Oo])<br>
$player "$STREAM"<br>
;;<br>
[Ss][Ii])<br>
$player "$STREAM" &<br>
;;<br>
esac<br>
;;<br>
esac<br>
}<br>
if [ "$1" == "-h" ]||[ "$1" == "--h" ]||[ "$1" == "-help" ]||[ "$1" ==
"--help" ]; then<br>
help<br>
exit 0<br>
fi<br>
update<br>
COUNTER=1<br>
#costruiamo la lista variabili per il dialog.<br>
#è una lista di elementi, del tipo<br>
#nome1 "" help1 nome2 "" help2 ...<br>
#il secondo elemento è volontariamente lasciato come lista vuota.<br>
rm ${0}.list &>/dev/null<br>
if [ "$1" == "tutti" ]||[ -z "$1" ]; then<br>
grep -v ^==$ ${0}.canali | \<br>
while read line; do<br>
case "$COUNTER" in<br>
1 )<br>
echo \"$line\" >> ${0}.list #"#
<--ripristino la colorazione per vim...<br>
COUNTER=2<br>
;;<br>
2)<br>
echo -e \"\""\n"\"$line\" >> ${0}.list #"#
<--ripristino la colorazione per vim...<br>
COUNTER=1<br>
;;<br>
esac<br>
done<br>
else<br>
grep -A 1 -i "$1" ${0}.canali | grep -v -- ^--$ | grep -v ^==$ |\<br>
while read line ; do<br>
case "$COUNTER" in<br>
0 )<br>
COUNTER=1 #serve solo per 'saltare un turno'<br>
;;<br>
1 )<br>
if [ -z "`echo $line|grep '://'`" ]; then # se non è un
url<br>
echo \"$line\" >> ${0}.list #"#
<--ripristino la colorazione per vim...<br>
COUNTER=2<br>
else<br>
#abbiamo greppato l'indirizzo... non ce ne facciamo
niente...<br>
COUNTER=0<br>
fi<br>
;;<br>
2 )<br>
echo \"\" >> ${0}.list #"#<br>
echo \"$line\" >> ${0}.list #"#
<--ripristino la colorazione per vim...<br>
COUNTER=1<br>
;;<br>
esac<br>
done<br>
fi<br>
if [ ! -s ${0}.list ]; then<br>
echo "Canale non trovato..."<br>
exit 0<br>
fi<br>
rm ${0}.reply &>/dev/null<br>
REPLY=""<br>
while [ -z "$REPLY" ]; do<br>
dialog --title "Stream disponibili" --help-button --item-help
--menu "scegli lo stream da aprire" 20 70 12 --file ${0}.list 2>
${0}.reply<br>
REPLY="`tail -n 1 ${0}.reply`"<br>
rm ${0}.reply &>/dev/null <br>
if [ -n "`echo $REPLY|grep '^HELP '`" ]; then<br>
REPLY="`echo $REPLY|awk -F "HELP " '{print $2}'`" #"`"#
<<-ripristino colorazione vim....<br>
NAME="`grep -B 2 "$REPLY" ${0}.list|head -n 1`"<br>
dialog --title "$NAME" --msgbox "Lo stream è
all'indirizzo:\n$REPLY" 20 70<br>
REPLY=""<br>
elif [ -z "$REPLY" ]; then<br>
rm ${0}.list &>/dev/null<br>
break;<br>
fi<br>
done<br>
clear<br>
if [ "$REPLY" == "" ]; then<br>
echo "Nessuno stream trovato per questa ricerca"<br>
exit 0<br>
fi<br>
STREAM="`grep -A 2 "$REPLY" ${0}.list|tail -n 1|awk -F '"' '{print
$2}'`"<br>
rm ${0}.list &>/dev/null<br>
play<br>
echo ""<br>
<br>
<br>
</body>
</html>