[CLUG] [Fwd: Re: [Fedora-it] Rai tv]

Dario Lesca d.lesca@solinos.it
Mar 8 Set 2009 14:28:59 CEST


A titolo informativo .... per evitare di installare robaccia
(moonlight/mono) su Linux.

Ciao.

P.S.
Ci si vede questa sera, sintonizzati sul canale "Hotel La Serra di
Ivrea", ore 19:00

Bye

------- Messaggio inoltrato -------
Da: MEP <palazzot@fedoraproject.org>
Reply-to: palazzot@google.com, "Mailing list for Italian contributors
and users." <fedora-it-list@redhat.com>
A: Mailing list for Italian contributors and users.
<fedora-it-list@redhat.com>
Oggetto: Re: [Fedora-it] Rai tv
Data: Mon, 07 Sep 2009 21:00:34 +0200

Il 07/09/2009 18:55, antonio montagnani ha scritto: 

> 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. 
> Nell'elenco plugin di Firefox esiste un silver light. 
> L'esperienza multimediale con Fedora è frustrante, altro che Linux
> day... :-( 
> 
> 
> ______________________________________________________________________
> 
> _______________________________________________
> Fedora-it-list mailing list
> Fedora-it-list@redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-it-list

Prova con questo script....
Ciao,
    MEP

#!/bin/bash
# Usate, modificate, riscrivete questo script come vi pare.
# se vi succede qualcosa di brutto a causa di questo script,
# io non c'ero, e se c'ero dormivo, ergo: sono cavoli vostri. chiaro?

## CONFIGURAZIONE UTENTE
tries=5            #tentativi di scaricare ogni file
timeout=10        #tempo massimo di attesa risposta per lo scaricamento
(secondi)
player="vlc"    #nome del player video.
output="si"        #mandare a video i messaggi del player? (si/no)
background="no"        #mandare il player in background, in modo da aver
disponibile il terminale?

#per salvare gli stream, usate il vostro player preferito.
#per mplayer ad esempio, basta modificare la variabile "player" a:
# player="mplayer -dumpfile stream.wmv -dumpstream"

############ PROGRAMMA REALE ################
############ NON MODIFICARE! ################
NOTFOUND=""
for command in wget sed grep awk tail head dialog; do
    if [ -z "`which $command 2>/dev/null`" ]; then
        NOTFOUND="`echo "$NOTFOUND $command"`"
    fi
done
if [ -n "$NOTFOUND" ]; then
    echo "Comandi non trovati:"
    echo $NOTFOUND
    exit 1
fi
USERAGENT='Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.0.6)
Gecko/2009011912 Firefox/3.0.11'
PLAYERCMD="`echo $player|awk -F " " '{print $1}'`"
if [ -z "`which $PLAYERCMD 2>/dev/null`" ]; then
    echo "Player $PLAYERCMD non trovato!"
    exit 1
fi
unset PLAYERCMD
case $output in
    [Ss][Ii])
        ;;
    [Nn][Oo])
        ;;
    *)
        echo "La variabile \"output\" ammette solo"
        echo "I valori \"si\" e \"no\""
        exit 1
        ;;
esac
case $background in
    [Ss][Ii])
        ;;
    [Nn][Oo])
        ;;
    *)
        echo "La variabile \"background\" ammette solo"
        echo "I valori \"si\" e \"no\""
        exit 1
        ;;
esac
help () {
    echo "Script per la visualizzazione dei canali presenti su rai.tv"
    echo "senza il plugin Silverlight di Microsoft o Moonlight di
Novell"
    echo "Creato da Luke88 -- luke88 _at_ slacky.it"
    echo -e "\nUso:\t$0 chiave_ricerca\tcerca canale nella lista"
    echo -e "\t$0 tutti\t\tlista completa dei canali"
    echo ""
    echo "per configurare player e comportamenti del player"
    echo "cambiare le variabili all'inizio di questo scirpt"
    echo "con il vostro editor preferito"
    echo -e "\nlo script non porta con se garanzie di qualsiasi tipo"
}
update () {
    echo "scarico la lista dei canali...."
    rm ${0}.xml &>/dev/null
    wget -U "$USERAGENT" --tries=$tries --timeout=$timeout -O ${0}.xml
--tries=$tries
www.rai.tv/dl/RaiTV/videoWall/PublishingBlock-5566288c-3d21-48dc-b3e2-af7fbe3b2af8.xml &>/dev/null
    if [ ! -s ${0}.xml ]; then
        echo "Download fallito! controlla la connessione internet e
rilancia il programma"
        exit 1
    fi
    rm ${0}.tmp &>/dev/null
    grep -B 1 '<url>' ${0}.xml|sed /--/d | sed s/^\ *// > ${0}.tmp
    rm ${0}.xml &>/dev/null
    sed -i s/\&apos\;/\'/g ${0}.tmp
    sed -i 's/\&#224\;/à/g' ${0}.tmp
    sed -i 's/\&#225\;/à/g' ${0}.tmp
    sed -i 's/\&#232\;/è/g' ${0}.tmp
    sed -i 's/\&#233\;/é/g' ${0}.tmp
    sed -i 's/\&#236\;/ì/g' ${0}.tmp
    sed -i 's/\&#237\;/ì/g' ${0}.tmp
    sed -i 's/\&#242\;/ò/g' ${0}.tmp
    sed -i 's/\&#242\;/ò/g' ${0}.tmp
    sed -i 's/\&#249\;/ù/g' ${0}.tmp
    sed -i s/\&amp\;/\\\&/g ${0}.tmp
    COUNTER=0
    rm ${0}.canali &>/dev/null
    while read line ; do
        let "NUM=$COUNTER % 2"
        if [ $NUM -eq 0 ]; then
            let "NUM=$COUNTER % 20"    #facciamo vedere qualcosa a
schermo...
            if [ $NUM -eq 0 ]; then
                let "NUM=$COUNTER/2"    #ogni 10 stream diciamo a quanti
siamo...
                echo -n $NUM
            else
                echo -n "."
            fi
            echo -en $line|awk -F '"' '{print $2}' >> ${0}.canali
#metti il nome dello stream in cache
        else
            echo -en $line|awk -F '<url>' '{print $2}'|awk -F '</url>'
'{print $1}' >> ${0}.canali    #metti l'indirizzo dello stream in cache
            echo "==" >> ${0}.canali    #non è realmente necessario, ma
se qualcuno si vuole vedere la lista selza usare lo script
        fi                    #fa comodo avere una lista leggibile
        let COUNTER++
    done < ${0}.tmp
    echo ""
    rm ${0}.tmp &>/dev/null
}
check_dwn () {
    if [ ! -s ${0}.tmp ]; then
        echo "Download fallito! controlla la connessione internet e
rilancia il programma"
        exit 1
    fi
}
play () {
    if [ -z "`echo $STREAM|grep 'mms://'`" ]; then
        #uff... tiriamo fuori lo stream da incasinamenti vari....
        rm ${0}.tmp &>/dev/null
        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.
        check_dwn
        TMP="`tail -n 2 ${0}.tmp|grep 'flv'`"                #che sembra
essere solo un video....
        rm ${0}.tmp
        if [ -z "$TMP" ]; then
            wget -U "$USERAGENT" --tries=$tries --timeout=$timeout -O
${0}.tmp "$STREAM" &>/dev/null
            check_dwn
            if [ -z "`grep 'http://' ${0}.tmp`" ]&&[ -z "`grep 'mms://'
${0}.tmp`" ]; then
                #mi è capitato che alcuni link portino nel vuoto
                echo "(muove la mano)--Tu *NON* vuoi vedere questo
canale"
                rm ${0}.tmp
                exit 1
            else
                if [ -n "`grep 'mms://' ${0}.tmp`" ]; then
                    STREAM="`grep 'mms://' ${0}.tmp|awk -F '"' '{print
$4}'`"
                elif [ -n "`grep wmv ${0}.tmp`" ]; then
                    STREAM="`grep wmv ${0}.tmp |awk -F '"' '{print
$2}'`"
                else
                    STREAM="`grep 'http://' ${0}.tmp`"
                    if [ -n "`echo $STREAM|grep 'HREF'`" ]; then
                                                STREAM="`echo $STREAM|
awk -F 'HREF="' '{print $2}'|awk -F '"' '{print $1}'`"
                                        elif [ -n "`echo $STREAM|grep
'"'`" ]; then
                                                STREAM="`echo $STREAM|
awk -F '"' '{print $2}'`"
                                        fi
                    rm ${0}.tmp
                    wget -U "$USERAGENT" --tries=$tries --timeout=
$timeout --spider "$STREAM" -O /dev/null 1>/dev/null 2>${0}.tmp
                    check_dwn
                    if [ -z "`tail -n 2 ${0}.tmp|grep 'flv'`" ]; then
#se NON è un flv...
                        wget -U "$USERAGENT" --tries=$tries --timeout=
$timeout -O ${0}.tmp "$STREAM" &>/dev/null
                        check_dwn
                        if [ -n "`grep 'mms://' ${0}.tmp`" ]; then
                            STREAM="`grep 'mms://' ${0}.tmp  |awk -F '"'
'{print $2}'`"
                        elif [ -n "`grep '.flv' ${0}.tmp`" ]; then
                            STREAM="`cat ${0}.tmp`"
                        elif [ -n "`grep '.wmv' ${0}.tmp`" ]; then
                            STREAM="`grep '.wmv' ${0}.tmp |awk -F '"'
'{print $2}'`"
                        fi
                    fi
                fi
                rm ${0}.tmp
            fi
        fi
    fi
    case $output in
        [Nn][Oo])
            case $background in
                [Nn][Oo])
                    $player "$STREAM" &>/dev/null
                    ;;
                [Ss][Ii])
                    $player "$STREAM" &>/dev/null &
                    ;;
            esac
            ;;
        [Ss][Ii])
            case $background in
                [Nn][Oo])
                    $player "$STREAM"
                    ;;
                [Ss][Ii])
                    $player "$STREAM" &
                    ;;
            esac
            ;;
    esac
}
if [ "$1" == "-h" ]||[ "$1" == "--h" ]||[ "$1" == "-help" ]||[ "$1" ==
"--help" ]; then
    help
    exit 0
fi
update
COUNTER=1
#costruiamo la lista variabili per il dialog.
#è una lista di elementi, del tipo
#nome1 "" help1 nome2 "" help2 ...
#il secondo elemento è volontariamente lasciato come lista vuota.
rm ${0}.list &>/dev/null
if [ "$1" == "tutti" ]||[ -z "$1" ]; then
    grep -v ^==$ ${0}.canali | \
    while read line; do
        case "$COUNTER" in
            1 )
                echo \"$line\" >> ${0}.list        #"# <--ripristino la
colorazione per vim...
                COUNTER=2
                ;;
            2)
                echo -e \"\""\n"\"$line\" >> ${0}.list    #"#
<--ripristino la colorazione per vim...
                COUNTER=1
                ;;
        esac
    done
else
    grep -A 1 -i "$1" ${0}.canali | grep -v -- ^--$ | grep -v ^==$ |\
    while read line ; do
        case "$COUNTER" in
            0 )
                COUNTER=1 #serve solo per 'saltare un turno'
                ;;
            1 )
            if [ -z "`echo $line|grep '://'`" ]; then    # se non è un
url
                    echo \"$line\" >> ${0}.list        #"# <--ripristino
la colorazione per vim...
                    COUNTER=2
                else
                    #abbiamo greppato l'indirizzo... non ce ne facciamo
niente...
                    COUNTER=0
                fi
                ;;
            2 )
                echo \"\" >> ${0}.list                #"#
                echo \"$line\" >> ${0}.list            #"# <--ripristino
la colorazione per vim...
                COUNTER=1
                ;;
        esac
    done
fi
if [ ! -s ${0}.list ]; then
    echo "Canale non trovato..."
    exit 0
fi
rm ${0}.reply &>/dev/null
REPLY=""
while [ -z "$REPLY" ]; do
    dialog --title "Stream disponibili" --help-button --item-help --menu
"scegli lo stream da aprire" 20 70 12 --file ${0}.list 2> ${0}.reply
    REPLY="`tail -n 1 ${0}.reply`"
    rm ${0}.reply &>/dev/null 
    if [ -n "`echo $REPLY|grep '^HELP '`" ]; then
        REPLY="`echo $REPLY|awk -F "HELP " '{print $2}'`"     #"`"#
<<-ripristino colorazione vim....
        NAME="`grep -B 2 "$REPLY" ${0}.list|head -n 1`"
        dialog --title "$NAME" --msgbox "Lo stream è all'indirizzo:\n
$REPLY" 20 70
        REPLY=""
    elif [ -z "$REPLY" ]; then
        rm ${0}.list &>/dev/null
        break;
    fi
done
clear
if [ "$REPLY" == "" ]; then
    echo "Nessuno stream trovato per questa ricerca"
    exit 0
fi
STREAM="`grep -A 2 "$REPLY" ${0}.list|tail -n 1|awk -F '"' '{print
$2}'`"
rm ${0}.list &>/dev/null
play
echo ""



_______________________________________________
Fedora-it-list mailing list
Fedora-it-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-it-list

-- 
Dario Lesca <d.lesca@solinos.it>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/clug/attachments/20090908/431444cd/attachment-0001.htm>


Maggiori informazioni sulla lista Clug