RaiNix: uno script per vedere le trasmissioni RAI senza browser su Linux
RaiNixV3 è’ un agile script (licenza GPL) dello stesso autore del vecchio plugin su browser Firefox gentilmente offerto ed ospitato in download qui. Permette la visione/registrazione ed il restreaming dei programmi RAI (comprese le Radio) e di RAI Replay senza l'uso del browser, evitando la pubblicità iniziale e senza registrazione per l'accesso a Rai Replay e OnDemand. Con l'opzione del menu principale 'Rai Play Vods' si scarica in automatico anche l'altro script 'RaiNixVod' per vedere/registrare e mettere in restreaming i programmi OnDemand della RAI. Lo script funziona, con opportuni accorgimenti, anche su FreeBSD. Per gli utenti Windows e Apple MacOS sono disponibili in download apposite versioni ( 'RaiWin' e 'RaiMac') che hanno funzionalità analoghe allo script per Linux come spiegato dopo nell'articolo. A causa dei continui cambiamenti RAI, lo script necessita di frequenti aggiornamenti. Pertanto, è gradita qualsiasi segnalazione. La versione 'RaINixV3' (versione patchata 3.2.1 dell'8 febbraio 2021) ) è in download cliccando qui oppure andando nell’apposita sezione 'DOWNLOAD' di questo sito.
COME USARE RAINIXV3
Dipende da curl, wget, dialog, ffmpeg, youtube-dl (facoltativo) e jq. Il tool jq (preferibilmente dalla versione 1.5) si è reso necessario dato l'ampio uso della RAI del formato json. Supporta un'ampia scelta di player multimediali: mpv, SMplayer (con mpv settato a player di default), QMPlay2, VLC, parole, Bomi Player. Per le registrazioni di default lo script usa il tool 'selsta/hlsdl' su Linux e su Windows (ambiente WSL), di cui è disponibile in download un binario eseguibile già pronto in un file .zip (leggere il README per le istruzioni) hlsdl.zip per Linux. Comunque, se non installato, viene usato automaticamente ffmpeg.
Una volta scaricato lo script, eventualmente renderlo eseguibile e poi lanciarlo da terminale con il comando ./rainixv3.sh. Con bash -x rainixv3.sh è possibile attivare il debug. Si sceglie dal menu quello che si vuole riprodurre e una volta scelto il canale/programma si opta per la riproduzione oppure per registrare e fare il restreaming si sceglie l'opzione apposita.
Il menu iniziale dispone inoltre dell'opzione 'Cineteca Rai movie' che permette di scorrere i generi ed i titoli dei film accessibili su Rai Movie, rendendo il canale più fruibile per l'utente. In basso l'utile funzione di ricerca 'Rai Search' che permette di ricercare il video o la trasmissione che interessa mediante l'inserimento di parole-chiave. Inoltre con la la funzione di ricerca, inserendo una parola significativa più 'film', potrete cercare anche l'opera cinematografica relativa sul canale RaiMovie. E' inoltre possibile configurare la risoluzione dei video e attivare anche la risoluzione per la registrazione con le apposite opzioni del menu principale.
COME REGISTRARE
ATTENZIONE!: si ricorda che l'uso di questa funzionalita' dei flussi sia di RaiNixV3 che di altri noti strumenti è responsabilità esclusiva dell'utilizzatore finale e deve essere usata solamente per motivi personali di studio, senza ledere i diritti Rai.
Si può registrare usando direttamente l’opzione 'Record' oppure durante la visione, ridando il focus sulla finestra dove c'è il menu con i programmi e poi di nuovo con 'Record'. E' possibile registrare e contemporaneamente vedere la trasmissione o vederne un'altra. Questa opzione è attivata nello script nella riga 'Multiprocess=1', settando a '0' il valore si ritorna ad un singolo uso. La registrazione viene archiviata di default nella cartella 'Video' della directory utente. Usando la funzione di ricerca, lo script chiede se si desidera registrare oppure vedere. Infine è stata introdotta la possibilità di escludere la finestra Xterm di controllo del flusso di registrazione (cambiare in HideRecorder="1”). Se VLC ha difficoltà a riprodurre registrazioni in formato AVI settare LiveRecFmt="mkv". Con Windows Media Player su Windows settare su 'mkv' o 'avi'. Con l'opzione apposita nel menu principale è possibile attivare il controllo della risoluzione in registrazione.
COME FARE IL RESTREAMING
Una volta scelto un canale/programma è possibile avviare un restreaming locale dello stesso. L'opzione reindirizza il flusso anziche' sul default player verso l'indirizzo locale del PC dove lo script e' attivo. Il protocollo usato di default è 'http' con porta 8530. In alternativa si possono usare sia il protocollo rtp all'indirizzo rtp://239.101.101.1:1234 che il protocollo rtsp all'indirizzo 192.168.xx.xx:8554/live. Con rtsp si deve usare un server rtsp (ad esempio rtsp-simple-server). Lo script con il protocollo 'http' troverà, di norma, in automatico l'indirizzo IP (ad esempio: 192.168.x.x) del computer host (sempre che non siano presenti interfacce virtuali, bridges, vbox etc etc). Con l'avvio del restreaming appare prima una finestra terminale con il tool scelto in esecuzione (ffmpeg di default ma modificabile con hlsdl), mentre dopo qualche secondo apparirà anche una piccola finestra di monitor senz'audio. Per questa funzione il default è ffplay, ma è modificabile anch'esso. In questa maniera un qualsiasi altro dispositivo (smartphone, tablet, AndroidTV ecc.) collegato sulla rete locale può riprodurre il flusso direttamente collegandosi agli indirizzi citati con un media player in grado di gestire flussi di rete 'mpegts' (ad esempio VLC/MPV o altre app per Android e iOS). I dispositivi che non hanno a disposizione questo tipo di player ma che siano in grado di usare il protocollo standard DLNA possono usare come middleware un mediaserver (consigliati Serviio o Jellyfin) in grado di gestire come input flussi di rete e permettere alla TV, via DLNA/uPnP, di riprodurre il contenuto. Il tutto senza ricorrere a protocolli proprietari del tipo Chromecast o SmartShare. In genere il local restreaming e' risultato piu' efficiente usando come tool hlsdl anziche' ffmpeg. Il tool hlsdl è però utilizzabile solo con il protocollo 'http'.
COME CONFIGURARE
Entrambi gli script sono facilmente configurabili intervenendo in alcune righe di codice situate nella parte iniziale. Queste le principali modifiche possibili (fare attenzione anche ai commenti inseriti a lato):
a) modificare l’ordine dei player per i canali TV e per le Radio nella riga 'PlayersLive= e PlayersRadio=;
b) Recorder= modifica l'ordine dei recorder (hlsdl, ffmpeg o youtube-dl);
c) con HideRecorder="1” scompare la finestra Xterm che controlla il flusso di registrazione. In tal caso non si ha a schermo il controllo del flusso ed anche un eventuale stop va fatto con riga di comando;
d) con NoTerm=0 si ripristina eventualmente la finestra Xterm anche durante la visione dei video;
e) con Wsl=1 (solo per Windows) si modifica il comportamento dello script in altri ambienti (modificare solo se ci sono problemi nell’uso);
f) con AudioCodec="libmp3lame" si cambia l’output del formato audio delle registrazioni in mp3, utile per problemi di compatibilità;
g) con LiveRecFmt= si cambia formato per il contenitore della registrazione delle dirette (usare 'avi', 'mkv' 'mp4') ed è utile per problemi di compatibilità con VLC, devices Apple iOS ed altro;
h) con ReplRecFmt= si cambia formato contenitore delle registrazioni per Rai Replay (usare 'avi', 'mkv' o 'mp4) utile per problemi di compatibilità come punto h);
i) con Savedir= si cambia la directory dove scaricare le registrazioni (default: /<directory home utente>/Video);
l) con ResLive= si cambia il tool usato per il restreaming (0=ffmpeg 1=hlsdl);
m) con ResProtocols= si modifica l'ordine del protocollo usato per il restreaming ('http' di default oppure rtp o rtsp);
n) con MonPlayers= si modifica l'ordine del player usato come 'monitor' durante il restreaming (ffplay di default).
RAINIXV3 CON ALTRI SISTEMI OPERATIVI OLTRE LINUX
A) Versioni a 32 o 64 bit di Windows XP, Vista, 7, 8 e 10 possono usare un file batch RaiWin.bat che ha funzionalità analoghe a RaiNixV3. Scaricare da qui il file.zip, scompattare e lanciare, dopo aver attentamente letto il file README, il programma eseguibile RaiWin. Deriva inizialmente da una versione in porting per Windows a cura di @Panunzio poi riadattata da Shorewall e Bird52. Questa versione per Windows non supporta però il restreaming (almeno per ora ). Solo con Windows 10 a 64bit potrete usare l’ambiente WSL (Windows Subsystem Linux) dove lo script funziona normalmente a patto che sulla Linux caricata in WSL ci siano installate le dipendenze e gli applicativi richiesti. Per installare e gestire un ambiente WSL leggere questo articolo.
B) Apple MacOS può usare una versione appositamente modificata per MacOS versioni 10.11 e superiori. Scaricare da qui il file .zip, scompattare e leggere attentamente il file README per l'uso in ambiente MacOS.
C) FreeBSD e derivate se lo script non parte, va lanciato con bash rainixv3.sh. Per registrare con FreeBSD cambiare eventualmente l'ordine dei recorder nella riga 'Recorders=' mettendo ffmpeg o youtube-dl al primo posto (hlsdl non è disponibile).
PROBLEMI NOTI (ISSUES)
RaiNixV3 è stato testato nei seguenti ambienti Linux (Fedora 31/33 workstation, Ubuntu 18.04 LTS e 20.04, Mageia 5 e seguenti, Slackware 14.2, Manjaro/ArchLinux rolling release, MX-19 Linux/Debian Buster e Debian Bullseye). Inoltre funziona come già detto su FreeBSD (dalla 10 in poi), Windows 10 (in ambiente WSL) e MacOS (versioni 10.11 e seguenti). L'utente 'Mitm' ha inoltre gentilmente segnalato che lo script è in grado di girare su un Raspberry con sistema operativo Raspbian.
Lo script agisce solamente estraendo i link dalle pagine del sito RAI limitandosi a passarli al player/recorder impostato dall'utente. Pertanto:
- Non esegue nessuna manipolazione sul flusso, per cui problematiche di riproduzione (ad esempio buffering) sono da addebitarsi unicamente all'associazione Player/Linea/Server Rai. Va quindi verificata con uno speed test la banda utilizzabile dal computer;
- Se un video non si carica con messaggi di 'non trovato' ecc. è probabile che quel video non sia disponibile sul sito della RAI nonostante risulti nell'elenco;
- Nel caso di problemi di banda si può tentare con il player QMPlay2 che permette la modifica VBR per i flussi hls RAI agendo sulle opzioni di settings del player stesso. Però, con risoluzioni più basse, alcuni streaming potrebbero non partire perchè non disponibili sui server RAI.
- Se con ffmpeg si notano asincronie a/v e' preferibile usare hlsdl oppure youtube-dl per registrare. A volte puo' essere utile cambiare anche il formato di output (avi/mkv/mp4) rispetto ai default;
- Nel menu' di RAI Replay sono omesse alcune entrate (RaiNews 24, Rai Scuola, Rai Sport) per il semplice motivo che anche usando il browser risultano quasi prive di contenuti.
- se durante il restreaming con protocollo http appaiono più indirizzi è probabile che abbiate più interfaccia di rete attive (ad esempio eth0 e virbr0). Controllate con ifconfig da terminale. In tal caso nello script provate a decommentare la riga con LocalIp=$(ip addr...) e commentare quella con LocalIp=$(ip route...). Oppure usate il protocollo rtp.
- Il protocollo 'rtp' per il restreaming può non funzionare. Il problema potrebbe verificarsi con alcuni modem-router in comodato d'uso di alcuni provider. In tal caso usare il protocollo 'http' di default oppure rtsp (quest'ultimo avviando un rtsp server come rtsp-simple-server).
- (solo FreeBSD e derivate) qualora ffmpeg abbia problemi può rendersi necessario compilarlo dai ports con l'opzione SDL e X264 abilitate. La compilazione fornirà anche il player 'ffplay' che nei pacchetti binari non è disponibile.
Volutamente gli script non fanno auto-update viste le numerose possibilita' di modifica da parte utente. Ma se vuole crearsi uno automatismo x conto suo puo' farlo mettendo dentro un piccolo script:
curl -L "https://www.paolodistefano.na me/joomla/download/visitatori- guest/rainixvod/scarica.html" > RainixVod_
curl -L "https://www.paolodistefano.na me/joomla/download/visitatori- guest/rainixv3/scarica.html" > RainixV3_
Poi puo' incremententarlo facendo un md5sum dei files scaricati e di quelli vecchi decidendo se rimpiazzarli nel caso l'hash non sia identico.
Shore
Un'ultima curiosità: l'aggiornamento del tuo script è fattibile in automatico?
Ho cercato su github ma non ho trovato nulla...
Ancora grazie e complimenti per il progetto.
I relinker delle dirette sono stabili. Per cui prende il relinker del canale live che le interessa (RaiNix lo scrive nella log quando lo avvia) e si crea un comando da schedulare con chron di questo tipo:
hlsdl -b -f http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=2606803 -o /tmp/Rai1.mp4
Questo e' un esempio con il relinker di Rai 1
Shore
Volevo chiederti, non è che per caso si possa provvedere a temporizzare una registrazione?
Ammettiamo, ad esempio, che io voglia registrare un programma su Rai 3 ogni giorno, alle 10.00; lo si può fare, usando la riga di comando ed un cronjob apposito, o bisogna sempre passare dall'interfaccia del programma???
Grazie infinite...
Controllare se i programmi descritti nell'articolo siano già installati (curl, dialog ecc.). La maggior parte delle distro Linux già ce li ha e cmq sono facilmente reperibili nei repository della propria distro. Uguale per i mediaplayer (mpv o smplayer). Poi scaricare il file, aprire un terminale dare prima chmod +x rainixv3.sh per renderlo eseguibile e poi lanciare con ./rainixv3.sh. Il restreaming si prova aprendo su altro computer,tablet o smartphone un app che legga i flussi di rete (VLC sia per android che per iOS) e poi aprire quel flusso dando l'indirizzo http://192.168.1.xx:8530 a quell'app. Nel caso di dubbi riscriva pure
Buongiorno,verifichi che che il restreaming avvenga corettamente. Avvii un flusso in 'restream' e verifichi che il piccolo monitor compaia. Si colleghi usando un'altro pc o smartphone con un player (VLC o MPV o alto) all'indirzzo che le e' stato indicato all'avvio del restream. Dovra' vedere il flusso sul device scelto. Ho visto che la sua TV supporta il DLNA. Quindi puo' accedere a risorse multimediali condivise in rete locale.
Per far arrivare lo stream alla TV le serve un mediaplayer in grado di gestire flussi di rete e farli vedere alla TV. Nei test sono stati usati Serviio e Jellyfin.
Sulla personalizzazione dei mediaserver non viene fornito supporto.
Non conosco questo sistema operativo. Da una veloce indagine sembrerebbe difficile trovare un app mediaplayer da associare. Non resta che provare con un mediaserver attraverso DLNA se supportato dalla TV
Ho una Smart TV Panasonic (Mod. TX-40DX600E), basata su Firefox OX, che ha chiuso il Marketplace subito dopo il mio acquisto, senza nemmeno distribuire la app RaiPlay.
Come potrei installare e utilizzare RaiNix con tale dispositivo?
Ancora auguri e grazie in anticipo per la gentile disponibilità che vorrete eventualmente riservarmi.
GPL
Come già detto questi inconvenienti sono dovuti ai flussi del sito RAI. Si verificano specie di sera e con le dirette RAI1, RAI2 e RAI3. In genere riprovando dopo qualche minuto il flusso funziona. Lo script recupera i link e li passa al mediaplayer e se ci sono problemi di flusso all'origine non ci può far nulla
Sorry. Got a timeout from Raiplay.it site. Try later. Hit ENTER to EXIT
Quello che mi stupisce è l'errore di timeout a brevissimo tempo. Uso Kubuntu 18.04 LTS, Grazie per la risposta, Ed.
Questo difetto potrebbe dipendere dai server RAI. Lo script recuperati i link li passa al player e eventuali problemi nei flussi in genere non derivano dallo script. Comunque grazie per la segnalazione
Uso linux mint 19.3 cinnamon, mpv 0.32 e ffmpeg 4.3.2, jq 1.5
Mi scusi ma il problema che segnala, se c'e', non e' x nulla chiaro. Per prima cosa ci comunichi il suo O.S., poi di quale login parla? RaiNix accede a Raiplay senza effettuare nessun login. Ci scriva la sequenza delle opzioni che selezione e che portano al suo errore.
Sta parlando di streaming live, replay o vod? Tks
Grazie
Grazie per la segnalazione ma almeno per ora non e' negli intenti di Rainix supportare strumenti x il restreaming su altri devices
saluti
La patch e' nella versione 3.1.7
X chi non la usa e' del tutto trasparente.
Shore
Grazie mille. Il mio suggerimento era fatto per integrare questa piccola modifica nello script, cosi' da non doverlo fare singolarmente ad ogni nuova versione di rainix ...
Se le torna comodo puo' provare a farlo da solo aggiungendo tre righe di code :-).
1) copia su un file externo tutta la sezione di confingurazione (comincia col commento here you can change some settnigs)
2) aggiunge queste tre righe alla fine della sezione prima che cominci il code inline:
#-------------------Use external conf to override defauls
if [ -f "$ScriptHome/$Me.conf" ]; then
. "$ScriptHome/$Me.conf"
fi
#---------------------------------------------------------------------------------
#------- Changing after this point you can do only damages
Ma nessuno le garantisce che in futuro la sezione variabili possa cambiare e si trovi a dover modificare la conf comunque.
Non potrebbe aver senso mettere un file di configurazione a parte? visto che mamma rai costringe a dover aggiornare molto di frequente lo script... Grazie molte per questo gioiellino
Grazie del riscontro... effettivamente dopo Debian s'era riscontrato lo stesso problema con le derivate ArchLinux e lo script è stato cambiato per far fronte a queste nuove configurazioni
la versione 3.1.6 funziona perfettamente su Ubuntu 20.04.
Ho testato riproduzione e registrazione, tv e radio.
Ho provato lo script in originale e poi ho apportato alcune personalizzazioni (cartella di registrazione e player radio vlc).
Il commento relativo ai problemi con openssl mi sembrava facesse riferimento a Debian, ma forse intendevate anche le derivate.
In ogni caso, adesso va di nuovo alla grande, grazie a voi.
Se posso essere utile per qualsiasi test vogliate fare, consideratemi disponibile.
Grazie ancora e buon lavoro.
Prova scaricando l'ultima versione 3.1.6 inserita oggi. Può darsi che il problema sia dovuto alla nuova configurazione del file /etc/ssl/openssl.cnf in alcune distro Linux e in seguito ad update. Con questa versione dovrebbe funzionare., anzi fammi sapere
seleziono un qualsiasi programma e clicco play/set
compare un messaggio che dice:
live stream not found or not playable ...
(tranne rainews, raiplay, cineteca e radiorai che funzionano correttamente).
Se clicco su record si apre una finestra di xterm con le opzioni di hlsdl e non succede niente.
Se possono essere utili delle prove mirate, ditemi cosa fare.
Se volete contattarmi più velocemente e direttamente potete usare la mia email.
Ho usato Rainix per anni e ha sempre funzionato.
Grazie
Per prima cosa che significa 'RaiNix funziona solo con RaiNews, Cineteca etc..' ?. Parliamo di riproduzione o di registrazione? In riproduzione funziona tutto? Se il problema e' la registrazione per cortesia indicare esattamente la selezione fatta a menu' del programma da registrare. E poi allegare il comando che RaiNix ha impostato copiandolo dalla log.
Se il comando riprodotto sui nostri sistemi funziona il problema e' locale.
Sì, lo avevo scaricato ieri sera, le prove le ho fatte con quello che è disponibile anche adesso.
ho fatto alcune prove per le dirette usando hlsdl a terminale.
Prima di tutto voglio dire che a me funziona senza installare pacchetti aggiuntivi (libcurl4 è già installato e libcrypto si riferisce in realtà a openssl, che pure risulta installato).
Il problema sembra quello di ottenere il file .m3u8 che risulta interpretabile da hlsdl.
Ho provato con videodownloadhelper, ma se faccio fare all'estensione funziona, mentre se prendo lo url che mi fornisce e lo passo a hlsdl, poi questo mi dice che non trova lo stream perché l'accesso viene negato (errore 403).
Ho provato con uno script per Violentmonkey (Greasemonkey) che si chiama Inject2Download:
- se clicco sul link che mi fornisce, mi scarica un .m3u8 che passato a hlsdl ritorna lo stesso errore che ricevevo con vdh;
- se, invece, copio il link e lo inserisco in fondo al comando di hlsdl, allora tutto funziona correttamente.
Prova a scaricare di nuovo, la versione è sempre 3.1.5 ma ci sono state delle patch in data 21 maggio. Si, la directory per hlsdl va bene /usr/local/bin. In questo momento lo script su una Debian Buster gira... e fammi sapere
da un po' di tempo lo script funziona solo con rainews, raiplay, cineteca e radiorai; per il resto dice che lo stream non lo trova, idem il debug.
Vorrei sapere se si tratta di un problema comune o se affligge solo me.
Ne approfitto per chiederti se l'eseguibile di hlsdl vada inserito in /usr/local/bin, opportunamente rinominato.
Al momento sto usando Ubuntu 20.04 lts e la versione 3.1.5 del tuo prezioso script, fino a un paio di mesi fa funzionava tutto perfettamente.
Grazie, a presto
Uso linuxmint 19.3 vedo tutto, ma la registrazione non parte.Ho fatto diversi cambiamenti, ma nulla. Se incollo il log finale che indica la stringa di download, allora parte. Puoi aiutarmi? Grazie ancora
Grazie Enrico. Un fbk e' sempre gradito. Ancora di piu' se positivo...
su Fedora 31 funziona benissimo. Grazie mille per questo fantastico strumento
Ha fatto un ottimo lavoro di debug. Ma il suo e' un problema locale, mai verificatesi ad altri.
Ha bypassato il problema forzando sessioni http Vs https ma non ci sembra corretto inserire la patch nello script in download.
Verifichi se inserendo l'opzione -k nel curl invece funziona.
Credo dipenda alla sua versione di curl/openssl.
"curl: (35) error:141A318A:SSL routines:tls_process_ske_dhe:d h key too small"
quando cerca di ricavare l'EmbedLink nella funzione PlayLive.
Con un po' di ricerche ho visto che il problema sembra essere nel certificato di https://mediapolis.rai.it, per cui ho semplicemente aggirato il problema aggiungendo un " -e 's|^https|http|'" nella sed di Relinker, fatta sempre nella funzione PlayLive subito prima di ottenere l'EmbedLink.
HTH
In questo momento testando su una Manjaro Linux RaiSport e raiSport HD partono... cmq prendiamo atto per ulteriori prove
Segnalo che nella mia linuxbox per fare funzionare quest'ultima versione ho dovuto installare "recode".
Cmq, raisportHD e raisport non partono, dando lo stesso errore riportato sopra.
Grazie per questa ennesima patch alle bizze della rai
Grazie della segnalazione. Per ora e si spera momentaneamente il download è stato sospeso
1 it
2 Radio Rai
3 Rai Replay
4 Set Video Qualiti
dando invio su "1 it" restituisce l'errore: Stream error' --infobox ' Sorry. Live stream not found or not playable. Check Xterm window & rainixv3.sh log for details.
Che esistesse Raiplay come canale a se stante nn ne ero proprio a conoscenza. Non l'ho mai visto comparire sul menu' di RaiNix. Magari ti e' comparso occasionalmente mentre sperimentavano questa roba qui: http://www.rainews.it/dl/rainews/articoli/rai-fiorello-palinsesti-reti-autunnale-salini-foa-Raiplay-f0707671-5f20-4b66-a0fe-f76568722112.html.
Prima bisogna capire che passa per la capa a quelli della RAI poi, casomai, se non ci sara' bisogno di stravolgimenti di code su RaiNix si valutera'.
Shore
OOps c'è stato un 'qui pro quo'...
Si la pagina usata come base per estrarre i dati di Replay e' stata 'impacchettata' in una unica linea di code.
Quindi il parsing del contenuto diventa impossibile.
Se non trovo un tool/comando Linux un grado di eseguire un html beautify 'on the fly' facendo retrieve della pagina sara' impossibile ripristinare la funzione.
E speriamo che non facciano lo stesso con le altre pagine :-(
Si è così... grazie della segnalazione e si spera di risolvere. Per adesso si può usare la funzione di ricerca su Rai Replay conoscendo il nome del programma. Questa funziona
grazie
Debian Testing-Buster
Debian Testing-Buster
Funziona benissimo su Linux Mint XFCE 19.
Perfetto.
Enrico, ci spiace ma questo thread come ha visto e' dedicato alla risoluzione dei problemi, eventuali, di RaiNix e non alla risoluzione dei problemi delle piattaforme Linux che lo ospitano. Visto che lo script e' ben conosciuto anche sul forum ubuntu-it.org puo' rivolgersi li se non lo ha gia' fatto.
S.
Certamente. Ho estratto dal codice di rainix soltanto le righe necessarie per scaricare sulla macchina il link al contenuto dello stream, una playlist m3u, perfettamente leggibile sulla stessa macchina con un media player (come Parole) ed eventualmente catturabile con MEncoder (v.1.2.1). E tutto ciò nonostante la vers.installata di ffmpeg (3.4.2) apparentemente comprenda il protocollo hls tra i formati riconosciuti. Invece la compilazione ex novo di ffmpeg (v.4.1), abilitando la libreria gnutls, finisce in un vicolo cieco, giacché il sorgente cerca invano un gnutls.pc
Qualcuno sa come se ne esce?
grazie
Lo script aggira la protezione e non serve registrazione.
Pero'questo errore "http://mediapolisvod.rai.it/r elinker/relinkerServlet.htm?co nt=*****: Input/output error
Did you mean file:http://mediapolisvod.rai. it/relinker/relinkerServlet.ht m?cont=*****" mi sembra abbia poco a che fare con il codice di RaiNix e, credo, con MPV che ho testato con varie releases di ffmpeg, anche obsolete. Il suo sistema sta cercando di leggere il link come fosse un file locale. Cerchi di capire cosa ha cambiato/aggiornato su Ubuntu da quando ha cominciato a ricevere quei messaggi di errore.
Modificando ffplay (ffmpeg v. 4.0.2) come Player scelto nello script la visione delle dirette e di Rai Replay è OK. E' probabile che la versione usata di ffmpeg sia un tantino obsoleta. Installi l'ultima versione e vediamo
http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=*****: Input/output error
Did you mean file:http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=*****
Dipende dal fatto che il nuovo sito RAI richiede la registrazione dell'utente?
grazie,
e
Se all'estero provi ad usare un servizio VPN (free o a pagamento). Settandolo su un indirizzo localizzato in Italia dovrebbe funzionare dato che la connessione risulterà comunque in Italia.
Su Firefox è possibile usare un addon VPN switcher che ci fa figurare in Italia, in modo da aggirare le limitazioni per l'estero.
É possibile fare qualcosa del genere anche con lo script?
Grazie, Leo
Grazie per la segnalazione. Probabilmente questo accade con la versione 3 di ffmpeg. Lo script è stato modificato come segnalato. Si consiglia comunque d'installare livestreamer che è la scelta di default nello script per registrare mentre ffmpeg si attiva solo se livetreamer non è installato.
No, evidentemente mi sono spiegato male.
Quello che vorrei è andare col mio browser su raiplay.it, trovato un programma che mi interessa, copiare l'URL della pagina del programma, darla in pasto a rainix e fargli recuperare l'URL dello stream per vederlo o scaricarlo.
Peraltro poi mi sono accorto che è abbastanza banale ricavare lo stream dalla pagina di raiplay di un programma, basta un:
curl URL-DI-RAIPLAY | grep -o 'data-video-url="[^"]*' | cut -d '"' -f 2
Ho dato un'occhiata allo script per vedere se riuscivo ad aggiungere questa funzione ma è troppo complesso (e poco documentato) per le mie capacita', quindi mi sono fatto un semplice script ad hoc, pero' forse potreste considerare questa possibile estensione.
Impostando RecorderOpt="" il problema scompare e le registrazioni sono perfette.
E' un problema solo mio?
FFmpeg e' solo recentemente rientrato nelle distro *Buntu, dopo una divagazione sul fork libav.
I suoi problemi sono dovuti alle personalizzazioni che Canonical fa nei suoi sw.
Per questo e'stata introdotta la possibilita' di effettuare la registrazione usando Livestreamer. Se lo script lo trova istallato sul sistema e' la sua scelta preferenziale per il recording.
Il ritardo dell'aperura delle finestre e' un altro problema tipico di Ubuntu. Sembra dovuto allo user agent usato da curl per catturare il flusso. Ma solo su Ubuntu.
Puo' modificare la flag Legacy=0 a Legacy=1. Questo cambia alcune cose nello script.
Se anche cosi' nn va dovra' andare x tentativi e trovare uno UA buono x la sua distro.
Sw
Quello che chiede RaiNixV2 lo fa gia'.
Scrive una log con tutte le azioni fatte ed i link usati.
Basta lanciare un replay e poi prendere l'ultima entrata scritta.
Del tipo: RaiTre mpv --demuxer-thread=yes --demuxer-readahead-secs=15 http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=4vFNjoLx3JweeqqEEqual
Lo script già lo fa con la sola limitazione temporale sui replay oltre la settimana. Per trasmissioni più vecchie può usare l'estensione Grab any media (http://grabanymedia.altervista.org/?doing_wp_cron=1483037833.0854690074920654296875) per Chrome e Chromium. Il link dell'esempio fatto è ricavato con quella estensione
No, io parlavo dell'URL della pagina di raiplay.it che si visita col browser e contiene il player flash e le varie informazioni sulla puntata.
Sarebbe magnifico se rainix riuscisse a ricavare l'URL del video e a mostrarlo (purtroppo le solite estensioni tipo flashgot non riescono, come neanche youtube-dl).
Se conosce o ha ricavato l'URL è sufficiente da terminale lanciare mpv o vlc con il link. Ad esempio con: vlc http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=6ohkwpaVi20eeqqEEqual&output=45&pl=mon,native vedrà una puntata di ballarò del 28 giugno scorso
(Purtroppo da linux il sito raiplay funziona ancora male, lentissimo, si blocca spesso, in molti casi si sente solo l'audio e non si vede il video, vergogna RAI!)
http://precismultipla.altervista.org/stockage/05.PNG
Ho settato così i vari parametri:
Legacy="0" # Set to 1 to use old Mobile relinkers
PlayersLive="mpv ffplay livestreamer dummy" # Set your LIVE & REPLAY player priority order
PlayersVod="mpv ffplay vlc dummy " # Set your VOD player priority order
Complimenti a lei e all'autore. Saluti
test con la versione Mistero Buffo di rainixv2. I settaggi sono
analoghi a Lisbeth (ffplay come primo lettore) con legacy=0 di default.
Appare e scompare (in qualche millisecondo) la mascherina del video
in nero e tutto si blocca. E dire che i pacchetti necessari li ho
scaricati tutti (e con successo) dal repo di Debian: ffmpeg (per ffplay),
livestreamer e vlc. Ne manca qualcuno? Saluti
che ho trovato usando rainix 1.5.4 'Lisbeth'.
Il mio S.O. è una macchina virtuale guest Debian 8.6 (Jassie) su host Win-10.
Il blocco è questo: http://precismultipla.altervista.org/stockage/02.PNG
ed il debug quello seguente: http://precismultipla.altervista.org/stockage/debug.txt
Cordiali saluti
Beppe, prima di tutto grazie per l'apprezzamento.
Il fatto di non comparire in prima persona nell'articolo e' una mia scelta. Sono io che ho dato all'amico Paolo piena licenza nel presentare lo script sul suo sito e metterlo in download. Non sono uno sviluppatore, piuttosto un creativo, e non uso github. I miei script sono principalmente tool personali che talvolta rilascio pubblicamente. E spesso con nick diversi.
Solo ultimamente ho aggiunto nell'hdr di RaiNix/V2 la licenza Gpl ed una mail di riferimento.
Non amo troppa interazione con il pubblico.
L'unico appunto che mi sento di fare all'articolo è la mancanza assoluta di riferimenti diretti all'autore dello script. Non mi pare di vedere né il nome, nel il sito o eventuali pagine di github. Addirittura il download viene fatto fare dal dominio di questo blog, e la cosa non mi sembra molto rispettosa nei confronti dell'autore. Se invece i riferimenti ci sono ma sono io che non li sto vedendo, allora come non detto.
Mi scusi Enrico, ma alla luce della soluzione (istallazione di MPV) e' doveroso da parte mia fare delle precisazioni.
1) La descrizione che Lei ha fatto del problema e' del tutto fuorviante.
Lo script non andava in crash.
Casomai non partiva il player. E sono due cose diverse.
A eventuali segnalazioni generiche di problemi mi riservo di non dare piu' seguito.
2) Nelle note 2.0 all'inizio dello script (che e' sempre bene leggere) c'e' scritto che LIVESTREAMER, quando si avvia come player (per i flussi HDS e' il default), usa come riproduttore MPV.
La nota indica anche il punto del programma (il nome della funzione) dove semplicemente commentando una riga e togliendo il commento ad un'altra si puo' modificare il riproduttore usato da Livestreamer.
Saluti
Shorewall
Ma RaiNix ultima versione funziona? Provi poi a settare a 0 la riga con Legacy come consigliato da shorewall. Forse ci metterà più tempo a caricare ma vediamo se funziona
Ho installato vlc, reinstallato livestreamer con pip, il test funziona, xterm c'è, ma lo script crasha sempre.
Come suggerito nell'articolo faccia partire lo script cosi': bash -x RaiNixV2 (o il nome che eventualmente Lei ha dato allo script scaricandolo) da console.
Poi salvi la log, la comprima, e la carichi su qualche host che fornisce spazio gratuito fornendoci il link per il download.
Non ho ben capito se va in cash facendo partire un canale oppure prima e non Le si apre il menu' principale. Tenendo impostata la flag Legacy=0 funziona?
Ha ragione, chiedo scusa. HO una ubntu 14.04 minimale con LXDE; ho scaricato livestreamer da qui http://www.ubuntuupdates.org/ppa/getdeb_apps?dist=trusty
la versione di rainixv2 mi sembra proprio la 2.3, almeno scorrendo il file trovo una linea che dice changelog v 2.3 o qualcosa del genere.
Tenga d'occhio il sito e presto la trovera' tra i download.
Nel merito del titolo, ho una Debian Stretch su cui ho installato anche mvp e livestreamer, oltre ad ffmpeg.
Se registro e poi tento di riprodurre, con Vlc non sento niente, e con Mvp solo i primi attimi d audio (meno di un secondo).
Qualche consiglio od indicazione di ulteriori test da fare?
Ancora complimenti. Marco
Tutti e due gli script funzionano alla perfezione su ubuntu 16.04. Favoloso!
Grazie! Grazie mille all'autore che ha ancora modificato lo script per permettere di vedere nuovamente le dirette e grazie anche a Paolo che ha segnalato il problema. Sono molto contento
Stasera mi posso vedere la gialappa's...
Purtroppo si, la RAI ha cambiato le carte in tavola. Sono fuori RAI1, RAI2 e RAI3 ed altre. Per adesso avvertiamo dell'inconveniente e vediamo se si può fare qualcosa....
questa sera ho provato a vedere rai 4 (la gialappa's...) ma non va. Ho provato anche altri 2 canali a caso (rai 1 e 2) ma non vanno lo stesso. Presumo abbiano cambiato qualcosa da parte Rai. Spero che lo sviluppatore abbia ancora voglia di aggiornarlo, non sono più abituato a vedere la rai da firefox...
okkey
grazie
Ci sono problemi in effetti su quel canale. Purtroppo non sono lo sviluppatore e ospito solo il download dello script. Comunque provi da terminale questo lungo indirizzo: ffplay http://chunkp-i.akamaihd.net/hls/live/233254/hlspushingest_2/playlist.m3u8?aeauth=1464874426_0e37f0590c74c23a6ac712b501b4427c
oggi raisport1 non si trova, avrà cambiato url?
gli altri a posto
grazie
Smplayer si può usare solo per riprodurre lo streaming delle radio, cambiando la riga 'RadioPlayer="vlc"' con smplayer. Per le TV lo script usa o ffplay o avplay
Io ho provato a cambiare #PlayerBin="ffplay" in #PlayerBin="smplayer", ma non ha funzionato.
Grazie
Riesco a vedere i canali a registrare e rivedere i file con Mplayer.
Il tutto è molto interessante, mi piace molto l'approccio con questo script che è anche fonte di apprendimento.
Quindi mi complimento per questo lavoro.
Mi permetto di suggerire che sarebbe bello raggiungere la possibilità di ottenere dei file video visibili anche con altri lettori. Ho provato a convertire i file con Kdenlive ed altri video-editors ma l'operazione risulta impossibile. Trovo la visualizzazione solo con Mplayer sia un po' limitante.
Capisco che ci siano problemi e spero che piano piano si riescano a risolvere.
Comunque sia grazie di tutto.
Carlo
E' un problema con il codec audio AAC proveniente da streaming. Con VLC può succedere. La migliore soluzione è usare MPlayer o analoghi (SMplayer) che riproduce sicuramente
Adesso registra ma il file .avi non si vede e non si sente con il programma Video (Totem).
Invece con VLC si vede ma non si sente l'audio.
Sto testando con LinuxMint 17.2 (Rafaela)
Intanto scaricare la nuova versione 1.5.1 che effettivamente ha corretto un bug nella registrazione. Poi, come descritto nell'articolo modificato, una volta partito lo streaming ricliccare sulla finestra principale (quella con l'elenco dei programmi) e dare CTRL più tasto 'c'. Il flussso si interrompe e parte la registrazione che crea un file nelle directory /tmp/Rai (a meno che non venga cambiata dall'utente)
Per cortesia potresti spiegarlo meglio?
A me invece il CamelCasing piace.
Lo uso da sempre, mi rende piu' chiaro il significato delle variabili e meno piatta la lettura del codice.
Qestione di gusti
Grazie per il suggerimento. Appena la RAI mi cotringera' a rimettere mano al codice la mancanza di ffmpeg per il recording dara' solo un warning.
Infatti nel caso manchi ffmepg come recorder ma sia presente comunque avplay come player, si potrebbe indicare che la funzione di registrazione non sarà disponibile e proseguire, senza necessariamente uscire.
Grazie per lo scirpt
Complimenti per lo script. Anche se non sopporto il cAmElCaSiNg per i nomi delle funzioni e/o variabili...
Sta girando su un Linux PowerPC G5 QuadCore 8Gb RAM e RadeonHD4670 1GB DDR3 (senza openfirmare flash ma BIOS)con driver radeon DRM su una Debian Sid/Stretch + experimental.
Linux debian 4.2.0-1-powerpc64 #1 SMP Debian 4.2.3-1 (2015-10-06) ppc64 GNU/Linux
Distributor ID: Debian
Description: Debian GNU/Linux unstable (sid)
Release: unstable
Codename: sid
Adesso mi tocca pagare il canone RAI! ;-P
Roberto
E' in download sul sito una versione con patch di RaiNix che ripristina, almeno per ora, la visione di RAI3. Può provarla
Ho provato iFred, ma non mi funziona, neanche con le indicazioni di sostituire avplay a ffplay
Boh, aspetterò che qualcuno risolva per rainix, ringraziandolo in anticipo. Intanto sono costretto a guardare il tg3 con winzozz del pc della figlia.
R.
Si è così. Il perchè lo spiega Kowalski. Usare iFred per RAI3
Dimenticavo, alcuni canali RAI, incluso Rai3 (e Mediaset) sono visibili anche con lo script iFred che puo' erre quindi un bypass (spero momentaneo) al problema RAI3
Grazie alla solita MS in RAI hanno di nuovo cambiato protocollo (ovviamente proprietario) sul alcuni canali. Spero di riuscire ad intercettare qualche flusso per dispositivi mobili da utilizzare al posto di quello nativo, ma non posso fare una stima del tempo necessario e se la cosa e' fattibile.
R.
Devo dire che non e' sempre cosi' con Linux ( Ubuntu 14.04 ) !
Mi sembra che in messaggio di sistema sia piu' che chiaro:
La tua Ubuntu usa avplay un fork derivato da libav. Non ffplay.
E sono due cose diverse.......
In questo caso il tuo avplay non accetta il loglevel (e forse anche infbuf).
Come ti ha gia detto Paolo da questa riga: Player="ffplay -infbuf -loglevel info -vf scale=720:404"
prova a togliere le opzioni dopo il player una ad una e vedi se parte.
Ma non ti nessuna garanzia che avplay riproduca i flussi RAI correttamente.
Grazie, non solo per questo ma anche per l'aiuto che ci avete offerto negli ultimi anni tra script vari ed estensioni_firefox per aggirare la tortuosa e dubbia macchina del servizio pubblico televisivo :)
Prova a togliere dal codice con un editor di testo l'opzione di ffplay '-infbuf' come è scritto nell'articolo stesso nella parte finale
cliccando su uno qualsiasi dei canali video presenti in RaiNix mi apre una finestra di ffplay che mi scrive:
avplay version 0.8.17-4:0.8.17-0ubuntu0.12.04 .1, Copyright (c) 2003-2014 the Libav developers
built on Mar 16 2015 13:28:23 with gcc 4.6.3
Unrecognized option 'infbuf'
Failed to set value '-loglevel' for option 'infbuf'
per quanto riguarda le radio invece tutto bene, grazie per la risposta.
Questo conferma che il problema non e' RaiNix. Ma un problema locale del tuo xterm/Xserver (perche' su Deb Rainix e' stato testato e funziona correttamente).
Se hai istallato lo gnome-terminal (e ti parte senza errori) prova a sostituire la parte iniziale delle righe dove viene richiamato 'xterm'
(partendo da xterm fino al '-e' compreso)
con questa stringa: gnome-terminal -x
lasciano come sono le ultime due variabili del player e del link.
xterm mi dice:
"xterm: Xt error: Can't open display:
xterm: DISPLAY is not set"
ma anche se gli assegno 0 (zero) o qualunque altro numero, mi fa lo stesso errore.
Luigi, non e' questone di DEB. I test fatti dall'amico Barabba ( http://www.mmbarabba.it/4015/#more-4015 ) ne hanno verificato il perfetto funzionamento. Mi sembra che tu abbia problemi con la variabile DISPLAY del tuo X server.
A proposito X e' partito correttamente?
Da console il comando 'xterm' che ti dice?
Ecco qui (e' troppo lungo, mi limito alla parte finale):
+ xterm -iconic -e ffplay -infbuf -vf scale=720:404 'http://httpstream2.rai.it/Italy/rai1.isml/QualityLevels(56000)/manifest(format=m3u8-aapl).m3u8'
xterm: Xt error: Can't open display:
xterm: DISPLAY is not set
+ TestPlay
+ '[' 4820 '!=' '' ']'
++ ps -A
++ grep 4820
+ Active=
+ '[' '' = '' ']'
+ Running=
+ Alerted=1
+ BoxTitle='Streaming error'
+ BoxMsg='Sorry. Stream not found or not playable. Retry changing Video Quality or check Xterm window for details'
Ha provato con il comando bash -x o sh -x? Dipende dal terminale in uso nella distro
Mi dice:
"xterm xt error can't open display xterm display is not set"
Uso una Debian.
Come posso fare?
Grazie.
Per cui le dirette di RaiNix sono state bloccate cosi' come gli OnDemand non sono piu' visibili con l'addon RaiView.
Per quanto riguarda RaiNix e' gia' stato risolto il problema e lo troverete aggiornato sul qito quanto prima.
Grazie a Paolo per la sua continua collaborazione e supporto
K.