script multifunzionale per vedere le dirette televisive... e altro ^^

Installazione, configurazione e utilizzo di applicativi multimediali, masterizzazione, acquisizione e codec audio/video, streaming e altro.
orwilsio
Prode Principiante
Messaggi: 113
Iscrizione: mercoledì 29 maggio 2013, 13:24

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da orwilsio »

Edit2. TopCalcio24, non riesco a trovare il link corretto, con questo http://www.mediapason.it/topcalcio24/ apii mi restituisce "Invalid link". Potresti cercare meglio tu, orwilsio?
Avevo letto da qualche parte che la diretta di TopCalcio24 era su youtube. Il link infatti dovrebbe essere questo:

Codice: Seleziona tutto

http://www.youtube.com/watch?v=o2-wxVmdpgI
Così api crea il file history.txt, VLC sembra caricare, ma lo streaming non si avvia... almeno a me. :nono:
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da Darby_Crash »

BlueEyes [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398614#p4398614][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Ciao orwilsio, ci siamo anche con La7, anche se trasmettono ... in differita "mp4" (better than nothing!)! Ripeto i passaggi per l'uso di api-22.php da Windows. Per comodità mi son creato questo mini file batch per non ripetere le stesse operazioni, chiamandolo apii.bat

Codice: Seleziona tutto

@ECHO OFF
CLS
cd\
php api-22.php %1 --noplay
rem cambiare con api-xx.php al prossimo rilascio
Poi, dal prompt, ho dato il comando

Codice: Seleziona tutto

apii http://www.la7.it/ottoemezzo/
e nel file history ho ottenuto

Codice: Seleziona tutto

http://videoteca1.alice.cdn.interbusiness.it/vod/V1/la7tv/2013/05/LA7_50340879_800.mp4
che ho avviato con Vlc. Stanno trasmettendo (mattina 01.06) il programma tv Omnibus. Ciao

Edit. Invece con
si ottiene (hai ragione) l'effettiva diretta La7. Ecco il link:

Codice: Seleziona tutto

rtmpdump -q -v -r "rtmp://199.9.255.243/app" -W "http://www-cdn.jtvnw.net/swflibs/TwitchPlayer.swf" -p "http://www.justin.tv/settenew_6" -j "e4d3ebf4ecd106102fc665730eee5ace61161f88:{\"swfDomains\": [\"justin.tv\", \"jtvx.com\", \"xarth.com\", \"twitchtv.com\", \"twitch.tv\", \"newjtv.com\", \"jtvnw.net\", \"wdtinc.com\", \"imapweather.com\", \"facebook.com\", \"starcrafting.com\"], \"streamName\": \"jtv_StMqGO5_tG2WTzNE\", \"expiration\": 1370067779.9651301, \"geo_ip\": \"78.14.12.223\", \"server\": \"video7-2.fra01\"}" -y "jtv_StMqGO5_tG2WTzNE" | "C:\Programmi\VideoLAN\VLC\vlc.exe" --meta-title="by Darby_Crash" - 
Aggiornamento: ore 09:10 (01.06). La diretta La7 non c'è più! Vanno a singhiozzo così per tutto il giorno? Chi ci capisce cosa gira nelle teste di quei manager!

Edit2. TopCalcio24, non riesco a trovare il link corretto, con questo http://www.mediapason.it/topcalcio24/ apii mi restituisce "Invalid link". Potresti cercare meglio tu, orwilsio?
Hai sbagliato link. Quello per le dirette ufficiali di La7 e' questo: http://live.la7.it/ottoemezzo/

In ogni caso, La7 trasmette in diretta solo certi programmi.
Evolution is a process too slow to save my soul
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da Darby_Crash »

orwilsio [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398685#p4398685][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Edit2. TopCalcio24, non riesco a trovare il link corretto, con questo http://www.mediapason.it/topcalcio24/ apii mi restituisce "Invalid link". Potresti cercare meglio tu, orwilsio?
Avevo letto da qualche parte che la diretta di TopCalcio24 era su youtube. Il link infatti dovrebbe essere questo:

Codice: Seleziona tutto

http://www.youtube.com/watch?v=o2-wxVmdpgI
Così api crea il file history.txt, VLC sembra caricare, ma lo streaming non si avvia... almeno a me. :nono:
Apri il file history.txt e usa il link (se sono di più significa che ognuno ha una qualita' differente) con FFPlay (quando VLC fallisce). La maggior parte delle dirette di YouTube utilizzano il protocollo HLS.
Ultima modifica di Darby_Crash il sabato 1 giugno 2013, 11:34, modificato 1 volta in totale.
Evolution is a process too slow to save my soul
Avatar utente
BlueEyes
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1330
Iscrizione: giovedì 15 marzo 2012, 14:08

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da BlueEyes »

Darby_Crash [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398688#p4398688][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Hai sbagliato link. Quello per le dirette ufficiali di La7 e' questo: http://live.la7.it/ottoemezzo/
In ogni caso, La7 trasmette in diretta solo certi programmi.
Sì, ma ieri sera, verso le 20:15 (ora del TG La7) trasmettevano ancora ... il telefilm del pomeriggio, che /ottoemezzo/ aveva intercettato!
Non riesco a capirli, possono allargare il bacino d'utenza (e pubblicità a quintali!) con il pubblico degli streaming e ... vi rinunciano, secondo me questo atteggiamento si chiama auto-castrazione! Ciao
Avatar utente
BlueEyes
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1330
Iscrizione: giovedì 15 marzo 2012, 14:08

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da BlueEyes »

orwilsio [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398685#p4398685][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Così api crea il file history.txt, VLC sembra caricare, ma lo streaming non si avvia... almeno a me. :nono:
Non si vede nulla perché il file prodotto da api.php ... history.txt è vuoto (0 byte). L'ho provato un paio di volte.
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da Darby_Crash »

BlueEyes [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398696#p4398696][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
orwilsio [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398685#p4398685][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Così api crea il file history.txt, VLC sembra caricare, ma lo streaming non si avvia... almeno a me. :nono:
Non si vede nulla perché il file prodotto da api.php ... history.txt è vuoto (0 byte). L'ho provato un paio di volte.
A me funziona perfettamente con FFPlay:

Immagine

Sia con la versione Bash che con quella PHP.
Evolution is a process too slow to save my soul
Avatar utente
hug
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 736
Iscrizione: lunedì 7 gennaio 2008, 10:15

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da hug »

@ Darby,
grazie dei chiarimenti.

rai-mobile-0.4.1

Codice: Seleziona tutto

#!/bin/bash
## Rai-Mobile
# Copyleft 2012-2013
# Released under WTFPL v2.0

## Set Player
player="ffplay -autoexit"

# Relinker iPhone/iPad
live_chan='Rai1@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=1182259
Rai2@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=308718
Rai3@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=308709
Rai4@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746966
Rai5@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=395276
Raimovie@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=747002
Raipremium@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746992
Raigulp@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746953
Raiyoyo@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746899
Raistoria@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746990
Raiscuola@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=747011
Rainews@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=489110
Raisport1@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=358025
Raisport2@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=358071'

live_list=`echo "$live_chan" | cut -d'@' -f1`

rep_list='RaiUno
RaiDue
RaiTre
RaiCinque'

rep_date=`for i in {1..7}; do date -d "$i day ago" +%Y-%m-%d" "%A; done`

aspect_ratio='originale
4:3
16:9'

advanced='Play
Record'

function raimobile(){
    yad --width=200 --form --title="Rai-Mobile" --text="Scegli cosa vuoi vedere:" --item-separator="\n" --field="Rai Live:CB" "$live_list" --field="RaiReplay:CB" "$rep_list" --field="Data:CB" "$rep_date" --field="Aspect:CB" "$aspect_ratio" --field="Advanced:CB" "$advanced" --field "Televideo - Programmi":BTN "bash -c televideo" --button="gtk-cancel:1" --button="_Diretta:100" --button="_Replay:200" > /tmp/raimob-param
    case $? in
        100) railive ;;
        200) raireplay ;;
        *) exit ;;
    esac
}

function railive(){
    live_chan_ch=`cut -d'|' -f1 /tmp/raimob-param`
    relinker=`echo "$live_chan" | grep "$live_chan_ch" | cut -d'@' -f2`
    stream_rel=`curl -I "$relinker"  | grep 'Location: ' | awk '{print $2}' | sed 's/\r//'`
    if [ "$stream_rel" == "" ]; then
        yad --title="Error" --window-icon="dialog-error" --image="dialog-error" --text="ERRORE:\nStream non disponibile " --button="gtk-ok:0"
        continue
    fi
    qual_level=`curl "$stream_rel" | grep -v \# | sed 's/\r//'`
    qual_ch=`echo -e "$stream_rel\n$qual_level" | yad --list --height=300 --width=500 --title "Diretta - $live_chan_ch" --text="Seleziona lo stream da usare:" --column="Streams"`
    if [[ $? -ne 0 || "$qual_ch" == "" ]]; then continue; fi
    if [ X"$(echo "$qual_ch" | grep 'http://')" == "X" ]; then
        ## TODO Caratteristica del formato (format=m3u8-aapl)?
        stream_base_url=`echo "$stream_rel" | awk -F"[Mm]anifest" '{print $1}'`
        ## Stiamo usando yad... bisogna eliminare "|" alla fine di "$qual_ch".
        export stream="$stream_base_url${qual_ch%?}"
    else
        export stream="${qual_ch%?}"
    fi
    aspect=`cut -d'|' -f4 /tmp/raimob-param`
    play_rec=`cut -d'|' -f5 /tmp/raimob-param`
    if [[ "$aspect" == "originale" && "$play_rec" == "Play" ]]; then
        $player -window_title "Diretta - $live_chan_ch" "$stream"
    elif [[ "$aspect" != "originale" && "$play_rec" == "Play" ]]; then
        $player -window_title "Diretta - $live_chan_ch" -vf setdar="$aspect" "$stream"
    elif [ "$play_rec" == "Record" ]; then
        export live_rec_name="Rec_$live_chan_ch - $(date +%Y-%m-%d) - $(date +%H.%M.%S)"
        xterm -geometry 60x10 -title "Recording: $live_rec_name.mp4" -e "ffmpeg -i '$stream' -acodec copy -absf aac_adtstoasc -vcodec copy ~/'$live_rec_name'.mp4; echo 'Finished... Press Enter to exit.'; read" &
    fi
}

function raireplay(){
    rep_chan_ch=`cut -d'|' -f2 /tmp/raimob-param`
    rep_date_ch=`cut -d'|' -f3 /tmp/raimob-param | cut -d' '  -f1`
    wget -q http://www.rai.tv/dl/portale/html/palinsesti/replaytv/static/"$rep_chan_ch"_"${rep_date_ch//-/_}".html -O /tmp/rairep-idx

    grep -B1 '"t":' /tmp/rairep-idx | awk 'NR%3!=0 && NR%3!=2' | cut -d'"' -f2 > /tmp/rairep-tmp-hour
    grep '"t":' /tmp/rairep-idx | cut -d'"' -f4 > /tmp/rairep-tmp-title
    grep '"i":' /tmp/rairep-idx | cut -d'"' -f4 | awk '{print "id"$0}' > /tmp/rairep-tmp-idx_num
    grep '"urlTablet":' /tmp/rairep-idx | cut -d'"' -f4 > /tmp/rairep-tmp-ipad
    grep '"urlSmartPhone":' /tmp/rairep-idx | cut -d'"' -f4 > /tmp/rairep-tmp-iphone
    grep '"h264":' /tmp/rairep-idx | cut -d'"' -f4 > /tmp/rairep-tmp-android

    paste -d'|' /tmp/rairep-tmp-hour /tmp/rairep-tmp-title /tmp/rairep-tmp-idx_num /tmp/rairep-tmp-iphone /tmp/rairep-tmp-ipad /tmp/rairep-tmp-android > /tmp/rairep-param
    rm /tmp/rairep-tmp-*
 
    prog_ch=`grep -v '|||$' /tmp/rairep-param | awk -F'|' '{print $1" - "$2" - "$3}' | yad --list --height=500 --width=450 --title "RaiReplay - $rep_chan_ch - $rep_date_ch" --text="Seleziona il programma:" --column="Programmi"`
    if [[ $? -ne 0 || "$prog_ch" == "" ]]; then continue; fi
    prog_id="${prog_ch##*id}"
    ## Non può sbagliare il grep dell'id, l'output è tipo "12345|"
    prog_param=`grep "id$prog_id" /tmp/rairep-param`

    rm /tmp/rairep-* && touch /tmp/rairep-stream
    ## Stream HLS akamai "http://rai-i.akamaihd.net/[...].10.00_,600,800,1200,1500,.mp4.csmil/master.m3u8"
    iph_adap_stream=`echo "$prog_param" | awk -F'|' '{print $4}'`
    if [ X"$iph_adap_stream" != "X" ]; then
        echo "iPhone-adaptive|$iph_adap_stream" >> /tmp/rairep-stream
        iph_res=`echo "$iph_adap_stream" | grep -o ',[^,]*' | grep -v m3u8 | cut -d',' -f2`
        echo "$iph_res" | while read line; do
            iph_stream=`echo "$iph_adap_stream" | sed "s/\(,\)..*\(,\)/\1$line\2/"`
            echo "iPhone-$line|$iph_stream" >> /tmp/rairep-stream
        done
    fi
    ipa_adap_stream=`echo "$prog_param" | awk -F'|' '{print $5}'`
    if [ X"$ipa_adap_stream" != "X" ]; then
        echo "iPad-adaptive|$ipa_adap_stream" >> /tmp/rairep-stream
        ipa_res=`echo "$ipa_adap_stream" | grep -o ',[^,]*' | grep -v m3u8 | cut -d',' -f2`
        echo "$ipa_res" | while read line; do
            ipa_stream=`echo "$ipa_adap_stream" | sed "s/\(,\)..*\(,\)/\1$line\2/"`
            echo "iPad-$line|$ipa_stream" >> /tmp/rairep-stream
        done
    fi
    ## Stream mp4 non adattivo
    and_relinker=`echo "$prog_param" | awk -F'|' '{print $6}'`
    and_stream=`curl -I "$and_relinker" | grep 'Location: ' | awk '{print $2}' | sed 's/\r//'`
    if [ X"$and_stream" != "X" ]; then
        echo "Android-h264|$and_stream" >> /tmp/rairep-stream
    fi
    rairep_prog_name="RaiReplay - ${prog_ch% - id*} - $rep_date_ch"
    stream_ch=`cat /tmp/rairep-stream | yad --list --height=300 --width=500 --title "$rairep_prog_name" --text="Seleziona lo stream da usare:" --column="Streams"`
    if [[ $? -ne 0 || "$stream_ch" == "" ]]; then continue; fi
    export stream=`echo "$stream_ch" | awk -F'|' '{print $2}'`
    aspect=`cut -d'|' -f4 /tmp/raimob-param`
    play_rec=`cut -d'|' -f5 /tmp/raimob-param`
    if [[ "$aspect" == "originale" && "$play_rec" == "Play" ]]; then
        $player -window_title "$rairep_prog_name" "$stream"
    elif [[ "$aspect" != "originale" && "$play_rec" == "Play" ]]; then
        $player -window_title "$rairep_prog_name" -vf setdar="$aspect" "$stream"
    elif [ "$play_rec" == "Record" ]; then
        export rairep_rec_name="Rec_RaiReplay - $rep_date_ch - ${prog_ch% - id*}"
        xterm -geometry 60x10 -title "Recording: $rairep_rec_name.mp4" -e "ffmpeg -i '$stream' -vcodec copy -acodec copy -absf aac_adtstoasc ~/'$rairep_rec_name'.mp4; echo 'Finished... Press Enter to exit.'; read" &
    fi
    rm /tmp/rairep-*
}

function televideo(){
    if [ $(which televideo-rai) ]; then
        televideo-rai &
    else
        xterm -geometry 116x39 -e "w3m http://www.televideo.rai.it/televideo/pub/solotesto.jsp?pagina=501" &
    fi
}

export -f televideo

while [ $? -eq 0 ]; do
    raimobile
done
Dipendenze:
yad, curl, ffmpeg (ffplay), [libx264-*], xterm (televideo testuale).

Changelog:
Piccolo fix per i replay android in assenza di quelli iphone;
Cambiato qualche relinker (Rai1/RaiMovie);
Fix minori dei link iPhone;
Aggiunta funzione per televideo-rai (script python).

televideo-rai

Codice: Seleziona tutto

#!/usr/bin/env python
from gi.repository import Gtk
from gi.repository import WebKit

view = WebKit.WebView()

win = Gtk.Window()
win.set_position(Gtk.WindowPosition.CENTER_ALWAYS)
win.connect('destroy', Gtk.main_quit)
win.add(view)
win.show_all()

view.open('http://www.televideo.rai.it/televideo/pub/popupTelevideo.jsp?p=501&s=1&r=Nazionale&pagetocall=popupTelevideo.jsp')
## p=501 corrisponde ai programmi televisivi.
Gtk.main()
Ciao a tutti.
Avatar utente
BlueEyes
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1330
Iscrizione: giovedì 15 marzo 2012, 14:08

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da BlueEyes »

Sì, avevo pasticciato con il mio file batch (apii.bat), adesso però ho ridato manualmente i comandi, verificato che history.txt (monoriga) occupa 650 byte, avviato (da Windows) ffplay e trovo ... errore! Ecco l'output.
Ciao

Codice: Seleziona tutto

C:\>php api-22.php http://www.youtube.com/watch?v=o2-wxVmdpgI --noplay

The links are in history.txt file

C:\>dir history.txt
01/06/2013  15.57               650 history.txt
               1 File            650 byte
               0 Directory  16.879.296.512 byte disponibili
C:\>

C:\>ffplay http://tc.v8.cache1.c.youtube.com/liveplay?mt=1370094978&sparams=algo
rithm,burst,cp,factor,id,ip,ipbits,itag,ns,source,upn,expire&newshard=yes&ipbits
=8&fexp=900352,924605,928201,901208,929123,929915,929906,929907,925714,929919,92
9119,931202,932802,928017,912512,912518,911416,906906,904476,930807,919373,90683
6,933701,912711,929606,910075&id=o2-wxVmdpgI&mv=m&burst=40&algorithm=throttle-fa
ctor&source=youtube&ns=yt-live&itag=33&ms=nxu&ip=84.223.187.10&upn=USMld6cMLHE&c
p=U0hWRVFMVF9MTkNONl9JRlhCOmVZVVFVdUZuNkpj&key=yt1&expire=1370116174&factor=1.25
&sver=3&signature=C8C8A628AD6B61B1E20BB3EA833E0EA4968D79CB.5C8FF2B93019989333240
9C903A049246C8CBAE8
ffplay version N-53577-gced0307 Copyright (c) 2003-2013 the FFmpeg developers
  built on May 28 2013 12:21:54 with gcc 4.7.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
  libavutil      52. 34.100 / 52. 34.100
  libavcodec     55. 12.100 / 55. 12.100
  libavformat    55.  7.100 / 55.  7.100
  libavdevice    55.  1.101 / 55.  1.101
  libavfilter     3. 72.100 /  3. 72.100
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
    nan A[http @ 02925260] HTTP error 400 Bad Request    0B f=0/0
http://tc.v8.cache1.c.youtube.com/liveplay?mt=1370094978: Input/output error
-V:  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
"sparams" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"newshard" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"ipbits" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"fexp" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"id" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"mv" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"burst" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"algorithm" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"source" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"ns" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"itag" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"ms" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"ip" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"upn" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"cp" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"key" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"expire" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"factor" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"sver" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"signature" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
C:\>
Ultima modifica di BlueEyes il sabato 1 giugno 2013, 16:09, modificato 1 volta in totale.
zerocoll
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1657
Iscrizione: mercoledì 20 gennaio 2010, 1:44

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da zerocoll »

altro regalino :D

La Effe

Codice: Seleziona tutto

rtmpdump -r rtmpe://cp225189.live.edgefcs.net/live/LaEffeTVLiveFlash@111302 -W http://laeffe.dgtmedia.com/layout/laeffeplayer.swf -p http://www.laeffe.tv -v  | vlc -
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da Darby_Crash »

BlueEyes [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398873#p4398873][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Sì, avevo pasticciato con il mio file batch (apii.bat), adesso però ho ridato manualmente i comandi, verificato che history.txt (monoriga) occupa 650 byte, avviato (da Windows) ffplay e trovo ... errore! Ecco l'output.
Ciao

Codice: Seleziona tutto

C:\>php api-22.php http://www.youtube.com/watch?v=o2-wxVmdpgI --noplay

The links are in history.txt file

C:\>dir history.txt
01/06/2013  15.57               650 history.txt
               1 File            650 byte
               0 Directory  16.879.296.512 byte disponibili
C:\>

C:\>ffplay http://tc.v8.cache1.c.youtube.com/liveplay?mt=1370094978&sparams=algo
rithm,burst,cp,factor,id,ip,ipbits,itag,ns,source,upn,expire&newshard=yes&ipbits
=8&fexp=900352,924605,928201,901208,929123,929915,929906,929907,925714,929919,92
9119,931202,932802,928017,912512,912518,911416,906906,904476,930807,919373,90683
6,933701,912711,929606,910075&id=o2-wxVmdpgI&mv=m&burst=40&algorithm=throttle-fa
ctor&source=youtube&ns=yt-live&itag=33&ms=nxu&ip=84.223.187.10&upn=USMld6cMLHE&c
p=U0hWRVFMVF9MTkNONl9JRlhCOmVZVVFVdUZuNkpj&key=yt1&expire=1370116174&factor=1.25
&sver=3&signature=C8C8A628AD6B61B1E20BB3EA833E0EA4968D79CB.5C8FF2B93019989333240
9C903A049246C8CBAE8
ffplay version N-53577-gced0307 Copyright (c) 2003-2013 the FFmpeg developers
  built on May 28 2013 12:21:54 with gcc 4.7.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
  libavutil      52. 34.100 / 52. 34.100
  libavcodec     55. 12.100 / 55. 12.100
  libavformat    55.  7.100 / 55.  7.100
  libavdevice    55.  1.101 / 55.  1.101
  libavfilter     3. 72.100 /  3. 72.100
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
    nan A[http @ 02925260] HTTP error 400 Bad Request    0B f=0/0
http://tc.v8.cache1.c.youtube.com/liveplay?mt=1370094978: Input/output error
-V:  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
"sparams" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"newshard" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"ipbits" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"fexp" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"id" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"mv" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"burst" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"algorithm" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"source" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"ns" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"itag" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"ms" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"ip" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"upn" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"cp" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"key" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"expire" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"factor" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"sver" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
"signature" non è riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.
C:\>
Devi usare gli apici doppi:

Codice: Seleziona tutto

ffplay "http://tc.v8.cache1.c.youtube.com/liveplay?mt=1370094978&sparams=algo
rithm,burst,cp,factor,id,ip,ipbits,itag,ns,source,upn,expire&newshard=yes&ipbits
=8&fexp=900352,924605,928201,901208,929123,929915,929906,929907,925714,929919,92
9119,931202,932802,928017,912512,912518,911416,906906,904476,930807,919373,90683
6,933701,912711,929606,910075&id=o2-wxVmdpgI&mv=m&burst=40&algorithm=throttle-fa
ctor&source=youtube&ns=yt-live&itag=33&ms=nxu&ip=84.223.187.10&upn=USMld6cMLHE&c
p=U0hWRVFMVF9MTkNONl9JRlhCOmVZVVFVdUZuNkpj&key=yt1&expire=1370116174&factor=1.25
&sver=3&signature=C8C8A628AD6B61B1E20BB3EA833E0EA4968D79CB.5C8FF2B93019989333240
9C903A049246C8CBAE8"
Evolution is a process too slow to save my soul
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da Darby_Crash »

LetOn.tv mi restituisce sempre urls per IPhone...

Avete l'indirizzo di un live streammato in Flash?

E anche uno stream live di Mips.tv, se fosse possibile.

Micast l'ho già integrato.
Evolution is a process too slow to save my soul
sesamotto
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 626
Iscrizione: martedì 23 aprile 2013, 23:02
Distribuzione: Ubuntu 12.04 32bit (i686)

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da sesamotto »

hug [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398813#p4398813][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:@ Darby,
grazie dei chiarimenti.

rai-mobile-0.4.1

Codice: Seleziona tutto

#!/bin/bash
## Rai-Mobile
# Copyleft 2012-2013
# Released under WTFPL v2.0

## Set Player
player="ffplay -autoexit"

# Relinker iPhone/iPad
live_chan='Rai1@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=1182259
Rai2@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=308718
Rai3@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=308709
Rai4@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746966
Rai5@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=395276
Raimovie@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=747002
Raipremium@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746992
Raigulp@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746953
Raiyoyo@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746899
Raistoria@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=746990
Raiscuola@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=747011
Rainews@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=489110
Raisport1@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=358025
Raisport2@http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=358071'

live_list=`echo "$live_chan" | cut -d'@' -f1`

rep_list='RaiUno
RaiDue
RaiTre
RaiCinque'

rep_date=`for i in {1..7}; do date -d "$i day ago" +%Y-%m-%d" "%A; done`

aspect_ratio='originale
4:3
16:9'

advanced='Play
Record'

function raimobile(){
    yad --width=200 --form --title="Rai-Mobile" --text="Scegli cosa vuoi vedere:" --item-separator="\n" --field="Rai Live:CB" "$live_list" --field="RaiReplay:CB" "$rep_list" --field="Data:CB" "$rep_date" --field="Aspect:CB" "$aspect_ratio" --field="Advanced:CB" "$advanced" --field "Televideo - Programmi":BTN "bash -c televideo" --button="gtk-cancel:1" --button="_Diretta:100" --button="_Replay:200" > /tmp/raimob-param
    case $? in
        100) railive ;;
        200) raireplay ;;
        *) exit ;;
    esac
}

function railive(){
    live_chan_ch=`cut -d'|' -f1 /tmp/raimob-param`
    relinker=`echo "$live_chan" | grep "$live_chan_ch" | cut -d'@' -f2`
    stream_rel=`curl -I "$relinker"  | grep 'Location: ' | awk '{print $2}' | sed 's/\r//'`
    if [ "$stream_rel" == "" ]; then
        yad --title="Error" --window-icon="dialog-error" --image="dialog-error" --text="ERRORE:\nStream non disponibile " --button="gtk-ok:0"
        continue
    fi
    qual_level=`curl "$stream_rel" | grep -v \# | sed 's/\r//'`
    qual_ch=`echo -e "$stream_rel\n$qual_level" | yad --list --height=300 --width=500 --title "Diretta - $live_chan_ch" --text="Seleziona lo stream da usare:" --column="Streams"`
    if [[ $? -ne 0 || "$qual_ch" == "" ]]; then continue; fi
    if [ X"$(echo "$qual_ch" | grep 'http://')" == "X" ]; then
        ## TODO Caratteristica del formato (format=m3u8-aapl)?
        stream_base_url=`echo "$stream_rel" | awk -F"[Mm]anifest" '{print $1}'`
        ## Stiamo usando yad... bisogna eliminare "|" alla fine di "$qual_ch".
        export stream="$stream_base_url${qual_ch%?}"
    else
        export stream="${qual_ch%?}"
    fi
    aspect=`cut -d'|' -f4 /tmp/raimob-param`
    play_rec=`cut -d'|' -f5 /tmp/raimob-param`
    if [[ "$aspect" == "originale" && "$play_rec" == "Play" ]]; then
        $player -window_title "Diretta - $live_chan_ch" "$stream"
    elif [[ "$aspect" != "originale" && "$play_rec" == "Play" ]]; then
        $player -window_title "Diretta - $live_chan_ch" -vf setdar="$aspect" "$stream"
    elif [ "$play_rec" == "Record" ]; then
        export live_rec_name="Rec_$live_chan_ch - $(date +%Y-%m-%d) - $(date +%H.%M.%S)"
        xterm -geometry 60x10 -title "Recording: $live_rec_name.mp4" -e "ffmpeg -i '$stream' -acodec copy -absf aac_adtstoasc -vcodec copy ~/'$live_rec_name'.mp4; echo 'Finished... Press Enter to exit.'; read" &
    fi
}

function raireplay(){
    rep_chan_ch=`cut -d'|' -f2 /tmp/raimob-param`
    rep_date_ch=`cut -d'|' -f3 /tmp/raimob-param | cut -d' '  -f1`
    wget -q http://www.rai.tv/dl/portale/html/palinsesti/replaytv/static/"$rep_chan_ch"_"${rep_date_ch//-/_}".html -O /tmp/rairep-idx

    grep -B1 '"t":' /tmp/rairep-idx | awk 'NR%3!=0 && NR%3!=2' | cut -d'"' -f2 > /tmp/rairep-tmp-hour
    grep '"t":' /tmp/rairep-idx | cut -d'"' -f4 > /tmp/rairep-tmp-title
    grep '"i":' /tmp/rairep-idx | cut -d'"' -f4 | awk '{print "id"$0}' > /tmp/rairep-tmp-idx_num
    grep '"urlTablet":' /tmp/rairep-idx | cut -d'"' -f4 > /tmp/rairep-tmp-ipad
    grep '"urlSmartPhone":' /tmp/rairep-idx | cut -d'"' -f4 > /tmp/rairep-tmp-iphone
    grep '"h264":' /tmp/rairep-idx | cut -d'"' -f4 > /tmp/rairep-tmp-android

    paste -d'|' /tmp/rairep-tmp-hour /tmp/rairep-tmp-title /tmp/rairep-tmp-idx_num /tmp/rairep-tmp-iphone /tmp/rairep-tmp-ipad /tmp/rairep-tmp-android > /tmp/rairep-param
    rm /tmp/rairep-tmp-*
 
    prog_ch=`grep -v '|||$' /tmp/rairep-param | awk -F'|' '{print $1" - "$2" - "$3}' | yad --list --height=500 --width=450 --title "RaiReplay - $rep_chan_ch - $rep_date_ch" --text="Seleziona il programma:" --column="Programmi"`
    if [[ $? -ne 0 || "$prog_ch" == "" ]]; then continue; fi
    prog_id="${prog_ch##*id}"
    ## Non può sbagliare il grep dell'id, l'output è tipo "12345|"
    prog_param=`grep "id$prog_id" /tmp/rairep-param`

    rm /tmp/rairep-* && touch /tmp/rairep-stream
    ## Stream HLS akamai "http://rai-i.akamaihd.net/[...].10.00_,600,800,1200,1500,.mp4.csmil/master.m3u8"
    iph_adap_stream=`echo "$prog_param" | awk -F'|' '{print $4}'`
    if [ X"$iph_adap_stream" != "X" ]; then
        echo "iPhone-adaptive|$iph_adap_stream" >> /tmp/rairep-stream
        iph_res=`echo "$iph_adap_stream" | grep -o ',[^,]*' | grep -v m3u8 | cut -d',' -f2`
        echo "$iph_res" | while read line; do
            iph_stream=`echo "$iph_adap_stream" | sed "s/\(,\)..*\(,\)/\1$line\2/"`
            echo "iPhone-$line|$iph_stream" >> /tmp/rairep-stream
        done
    fi
    ipa_adap_stream=`echo "$prog_param" | awk -F'|' '{print $5}'`
    if [ X"$ipa_adap_stream" != "X" ]; then
        echo "iPad-adaptive|$ipa_adap_stream" >> /tmp/rairep-stream
        ipa_res=`echo "$ipa_adap_stream" | grep -o ',[^,]*' | grep -v m3u8 | cut -d',' -f2`
        echo "$ipa_res" | while read line; do
            ipa_stream=`echo "$ipa_adap_stream" | sed "s/\(,\)..*\(,\)/\1$line\2/"`
            echo "iPad-$line|$ipa_stream" >> /tmp/rairep-stream
        done
    fi
    ## Stream mp4 non adattivo
    and_relinker=`echo "$prog_param" | awk -F'|' '{print $6}'`
    and_stream=`curl -I "$and_relinker" | grep 'Location: ' | awk '{print $2}' | sed 's/\r//'`
    if [ X"$and_stream" != "X" ]; then
        echo "Android-h264|$and_stream" >> /tmp/rairep-stream
    fi
    rairep_prog_name="RaiReplay - ${prog_ch% - id*} - $rep_date_ch"
    stream_ch=`cat /tmp/rairep-stream | yad --list --height=300 --width=500 --title "$rairep_prog_name" --text="Seleziona lo stream da usare:" --column="Streams"`
    if [[ $? -ne 0 || "$stream_ch" == "" ]]; then continue; fi
    export stream=`echo "$stream_ch" | awk -F'|' '{print $2}'`
    aspect=`cut -d'|' -f4 /tmp/raimob-param`
    play_rec=`cut -d'|' -f5 /tmp/raimob-param`
    if [[ "$aspect" == "originale" && "$play_rec" == "Play" ]]; then
        $player -window_title "$rairep_prog_name" "$stream"
    elif [[ "$aspect" != "originale" && "$play_rec" == "Play" ]]; then
        $player -window_title "$rairep_prog_name" -vf setdar="$aspect" "$stream"
    elif [ "$play_rec" == "Record" ]; then
        export rairep_rec_name="Rec_RaiReplay - $rep_date_ch - ${prog_ch% - id*}"
        xterm -geometry 60x10 -title "Recording: $rairep_rec_name.mp4" -e "ffmpeg -i '$stream' -vcodec copy -acodec copy -absf aac_adtstoasc ~/'$rairep_rec_name'.mp4; echo 'Finished... Press Enter to exit.'; read" &
    fi
    rm /tmp/rairep-*
}

function televideo(){
    if [ $(which televideo-rai) ]; then
        televideo-rai &
    else
        xterm -geometry 116x39 -e "w3m http://www.televideo.rai.it/televideo/pub/solotesto.jsp?pagina=501" &
    fi
}

export -f televideo

while [ $? -eq 0 ]; do
    raimobile
done
Dipendenze:
yad, curl, ffmpeg (ffplay), [libx264-*], xterm (televideo testuale).

Changelog:
Piccolo fix per i replay android in assenza di quelli iphone;
Cambiato qualche relinker (Rai1/RaiMovie);
Fix minori dei link iPhone;
Aggiunta funzione per televideo-rai (script python).

televideo-rai

Codice: Seleziona tutto

#!/usr/bin/env python
from gi.repository import Gtk
from gi.repository import WebKit

view = WebKit.WebView()

win = Gtk.Window()
win.set_position(Gtk.WindowPosition.CENTER_ALWAYS)
win.connect('destroy', Gtk.main_quit)
win.add(view)
win.show_all()

view.open('http://www.televideo.rai.it/televideo/pub/popupTelevideo.jsp?p=501&s=1&r=Nazionale&pagetocall=popupTelevideo.jsp')
## p=501 corrisponde ai programmi televisivi.
Gtk.main()
Ciao a tutti.
Ciao Hug e ciao ragazzi. Trovo veramente utile questo script per la Rai e non so come ringraziarvi. Tuttavia vorrei chiedervi se c'e' qualcosa di analgo per Windows perche' vorrei postarlo nel sito degli angeli dove, peraltro, sto cercando di diffondere come meglio posso le tante novita' che state sfornando (naturalmente rispettando il copyright e dando come punto di riferimento questo splendido thread). Grazie in anticipo se potrete darmi un'indicazione. :)
Avatar utente
hug
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 736
Iscrizione: lunedì 7 gennaio 2008, 10:15

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da hug »

@ Darby,
se capissi in che modo aiutarti lo farei volentieri.

@ Zerocoll,
ciao, grazie per il canale.

@ Sesamotto,
potresti per favore postare il link a questo sito di cui parli? grazie.
Avatar utente
BlueEyes
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1330
Iscrizione: giovedì 15 marzo 2012, 14:08

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da BlueEyes »

Hai ragione, Darby, i doppi apici (inizio/fine) hanno sistemato lo stream, via yt, di TopCalcio24, così:

Codice: Seleziona tutto

ffplay "http://tc.v8.cache1.c.youtube.com/liveplay?id=o2-wxVmdpgI&fexp=933401,927904,929204,916625,900352,924605,928201,901208,929123,929915,929906,925714,929919,929119,931202,932802,928017,927906,912512,912518,911416,906906,904476,930807,919373,906836,933701,912711,929606,910075&ns=yt-live&upn=CkLgQ3WnvnE&ipbits=8&source=youtube&cp=U0hWRVFNVF9MTkNONl9JR1hKOnA0YWVCcU5ZMzBZ&newshard=yes&expire=1370126974&sparams=algorithm,burst,cp,factor,id,ip,ipbits,itag,ns,source,upn,expire&itag=33&ip=84.223.187.10&algorithm=throttle-factor&factor=1.25&sver=3&mt=1370102606&ms=nxu&burst=40&mv=m&key=yt1&signature=9E60566C4D3A752F8B3EFF620AE55FA6C39AA640.1FCB345D99AC7663A3C15FDC6167B03407C2E291"
@ sesamotto.
Per il televideo Rai, puoi scegliere di aprirlo in file testo direttamente dal browser a questo indirizzo:

Codice: Seleziona tutto

http://www.televideo.rai.it/televideo/pub/solotesto.jsp?pagina=100
Ciao
sesamotto
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 626
Iscrizione: martedì 23 aprile 2013, 23:02
Distribuzione: Ubuntu 12.04 32bit (i686)

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da sesamotto »

hug [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398973#p4398973][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:@ Darby,
se capissi in che modo aiutarti lo farei volentieri.

@ Zerocoll,
ciao, grazie per il canale.

@ Sesamotto,
potresti per favore postare il link a questo sito di cui parli? grazie.
Con piacere Hug, eccolo

Codice: Seleziona tutto

http://www.angels-of-fire.com/forumz/forumdisplay.php?f=134
Naturalmente ritieni che non voglio fare nulla di cui sia sgradito a qualcuno. ;)
sesamotto
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 626
Iscrizione: martedì 23 aprile 2013, 23:02
Distribuzione: Ubuntu 12.04 32bit (i686)

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da sesamotto »

Codice: Seleziona tutto

@ sesamotto.
Per il televideo Rai, puoi scegliere di aprirlo in file testo direttamente dal browser a questo indirizzo:

Codice: Seleziona tutto
    http://www.televideo.rai.it/televideo/pub/solotesto.jsp?pagina=100

Ciao
Grazie BlueEyes
zerocoll
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1657
Iscrizione: mercoledì 20 gennaio 2010, 1:44

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da zerocoll »

darby riesci a integrare nel tuo api ustream e micast e leton e flashcast

x che ho trovato in rete un elenco di canali quelli messi in rete da gente solo x farsi qualche soldo tipo il canale che ti ho postato ieri top crime ma sono hostati su piu host
e pensavo che si potrebbe fare uno script dove prende la url aggiornata del player
tipo questa

Codice: Seleziona tutto

<!--inizo player--> 

<script type="text/javascript">ca="ffdfdgrr503";width="500"; height="360";</script><script src="http://micast.tv/embed.js" type="text/javascript"></script>        
<!--fine player-->
e in base della url iniziale lo passi a api.sh

spero di essermi fatto capire :D

ci sarebero un bel po di canali

Codice: Seleziona tutto

Top Crime
7 Gold
Rai Yoyo
Rai Gulp
Beppe Grillo Tv
Rai Premium
raimovie
tgcom 24
Sky News 24
Rai News 24
Sport Italia
Rai Sport 2
Rai Sport 1
mtv
CartoonRocks
Giallo
Rete 4
La Effe
La 7
La 5
Rai 4
Rai 3
Rai 2
Rai 1
D-max
Focus
Real Time
Italia 2
Italia 1
Canale 5

saluti ^_^
moroboshi_84
Prode Principiante
Messaggi: 124
Iscrizione: mercoledì 20 marzo 2013, 0:36
Desktop: Lubuntu
Distribuzione: Ubuntu 13.10 - x86_64

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da moroboshi_84 »

Bhè se vi accontentate... ho preparato una gui per l'api di darby in zenity dove si passa il link manualmente (necessita dei soliti sh fatti da lui, cioè runner, audioon, smil ed isml)...

PS: ma come la vedreste se si fa un deb... in modo da installare il tutto facilmente e magari controllarne la versione?

Codice: Seleziona tutto

#!/bin/bash
#link-param è un file che contiene il link dato in ingresso
#sel-link è un file che contiene il link alla diretta

clear

echo "Questo script è stato scritto per dare un ambiente grafico ed automatizzare i passaggi necessari per la corretta visualizzazione."
echo "Necessita di zenity, php, api.php, smthplayer (necessario per i link che usano i flussi smooth), ffplay (per riprodurre i flussi mms e HLS), questi ultimi vanno posizionati nella stessa cartella insieme a questo script"
echo "Il motore di questo script è realizzata da Darby ed è scaricabile al seguente link http://darbycrash.altervista.org/API/api-wiki.html"

function apilive(){
	zenity --width=300 --height=400 --title="GUI-API.PHP" --entry --text="Inserisci link" --ok-label="Diretta" --cancel-label="Cancella" > link-param

	case $? in
		0) playlink ;;
		*) exitlink ;;
	esac
}

function exitlink(){
rm link-param
rm sel_link
exit 0
}

function playlink(){

	link=`cat link-param`	
	echo "link: " $link
	php api.php "$link" --noplay
	all_link=`cat history.txt | sed "s#\r##g"`
	echo "all_link: " $all_link
#	Con zenity il tasto OK restituisce 0, il tasto Cancella 1
	zenity --list --height=250 --width=500 --title "GUI-API.PHP" --text="Seleziona il link da usare:" --column="link" $all_link > sel_link
	sel=`cat sel_link`
	echo "sel: " $sel
	
	if [ "$(echo "$sel" | grep 'mms://')" != "" ]; then
		echo "tipo mms"
		vlc "$sel" 2>/dev/null
	elif [ "$(echo "$sel" | grep 'QualityLevels')" != "" ]; then
		echo "tipo android"
		ffplay -i -v 0 -nostats -autoexit  "$sel"
	elif [ "$(echo "$sel" | grep '/smil:')" != "" ]; then
		echo "tipo HLS smil"
		bash smil.sh "$sel"
	elif [ "$(echo "$sel" | grep 'anifest?')" != "" ]; then
		echo "tipo smooth"
		bash runner.sh "$sel"
		zenity --question --title="GUI-API.PHP" --text "Hai visto e sentito? Se scegli no proviamo con audioon"
		if [ "$?" -eq "1" ]
		then
			play_audioon="yes"
			bash audioon.sh "$sel"
		else
			play_audioon="no"
		fi
	elif [ "$(echo "$sel" | grep '(format=m3u8-aapl)')" != "" ]; then
		echo "tipo HLS isml"
		bash isml.sh "$sel"
	else
		echo "tipo non riconosciuto"
		php api.php "$link"
	fi
}

while [ $? -eq 0 ]; do
	apilive
done
Avatar utente
BlueEyes
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1330
Iscrizione: giovedì 15 marzo 2012, 14:08

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da BlueEyes »

TopCalcio24. Sbaglio io nella ricerca del "link da aggiungere" ad api.php o i tizi pubblicano sempre lo stesso stream su youtube? Allego la figura. Ciao
Allegati
01.png
Avatar utente
Darby_Crash
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1025
Iscrizione: lunedì 8 novembre 2010, 17:50
Desktop: Plasma
Distribuzione: Debian GNU/Linux 9.4 (stretch)
Contatti:

Re: script multifunzionale per vedere le dirette televisive.

Messaggio da Darby_Crash »

zerocoll [url=http://forum.ubuntu-it.org/viewtopic.php?p=4398996#p4398996][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:darby riesci a integrare nel tuo api ustream e micast e leton e flashcast

x che ho trovato in rete un elenco di canali quelli messi in rete da gente solo x farsi qualche soldo tipo il canale che ti ho postato ieri top crime ma sono hostati su piu host
e pensavo che si potrebbe fare uno script dove prende la url aggiornata del player
tipo questa

Codice: Seleziona tutto

<!--inizo player--> 

<script type="text/javascript">ca="ffdfdgrr503";width="500"; height="360";</script><script src="http://micast.tv/embed.js" type="text/javascript"></script>        
<!--fine player-->
e in base della url iniziale lo passi a api.sh

spero di essermi fatto capire :D

ci sarebero un bel po di canali

Codice: Seleziona tutto

Top Crime
7 Gold
Rai Yoyo
Rai Gulp
Beppe Grillo Tv
Rai Premium
raimovie
tgcom 24
Sky News 24
Rai News 24
Sport Italia
Rai Sport 2
Rai Sport 1
mtv
CartoonRocks
Giallo
Rete 4
La Effe
La 7
La 5
Rai 4
Rai 3
Rai 2
Rai 1
D-max
Focus
Real Time
Italia 2
Italia 1
Canale 5

saluti ^_^
Mi serve un'url funzionante per LetOn e FlashCast.
Evolution is a process too slow to save my soul
Scrivi risposta

Ritorna a “Multimediale”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti