Come vedere Rai.tv senza Silverlight su Linux o Mac

La gran parte dei video sul web si possono vedere grazie al plugin di Flash o tramite i browser che supportano HTML5. Purtroppo lo stesso non si può dire per la Rai che fin dall'inizio ha deciso di adattare una tecnologia proprietaria e non multipiattaforma. La versione Open Source "Moonlight" non è all'altezza ed ha tuttora molti problemi di compatibilità.

Fortunatamente gli stessi contenuti vengono forniti anche tramite altri formati più accessibili, ma il loro utilizzo è volutamente riservato ai possessori di un iPad o un altro dispositivo con Safari iOS.
Ci sono anche dei plugin per Firefox che provano ad utilizzare questi flussi, ma allo stato attuale non funzionano perché probabilmente non sono più stati aggiornati, ecco quindi uno script che permette di vedere un video da una pagina Rai in modo relativamente semplice, utilizzando player come VLC o MPlayer.

Passo 1: Copiate il testo sotto nel file " rai.tv.rb ", es. con Gedit (Linux) o TextEdit (Mac)

#!/usr/bin/env ruby
# rai.tv.rb - 20120130 - http://grigio.org/
# usage: ./rai.tv.rb http://www.rai.tv/dl/RaiTV/programmi/media/ContentItem-90....html
require 'open-uri'
PLAYER="/Applications/VLC.app/Contents/MacOS/VLC" if RUBY_PLATFORM.downcase.include?("darwin")
PLAYER="/usr/bin/vlc" if RUBY_PLATFORM.downcase.include?("linux")
def get_video_url( page_url=ARGV[0] )
page = open(page_url)
page.each_line do |l|
return l.split[3].gsub(/;|"/,'') if l.include?("videoURL = ")
end
end
puts get_video_url.to_s
`#{PLAYER} #{get_video_url.to_s}`

Passo 2: Aprite il terminale e rendetelo eseguibile

chmod +x rai.tv.rb

Passo 3: usatelo

./rai.tv.rb http://www.rai.tv/dl/RaiTV/programmi/media/ContentItem-90....html

Dopo una 10 o 15 secondi VLC o MPlayer dovrebbe farvi vedere il video in streaming o darvi un errore. Se siete in questo caso aggiungete un commento con l'errore, vedrò se posso aiutarvi.

 

commenti

Anche su Mac OSX

Grazie innanzitutto, da 3 ani almeno non riuscivo a vedere i filmati della RAI per via di quella limitazione enorme con SilverLight.
Sul mio computer da sempre non gira nulla di Microsoft, vivo un'esperienza più felice, per questo non ho mai accettato che per vedere un film, nonostante abbia già tutti i codec possibili ed immaginabili nel mio OS, mi debba veder costretto ad installare un software proprietario che ruba standard.
Pertanto ho provato questo script su Mac ed ha funzionato in meno di 5 secondi.

Ho avuto un po di problemi perché nel mio MacBook ci sono 2 dischi e alcune applicazioni come VLC le tengo sul disco secondario.
Spiego la procedura per tutti gli altri MacUser.

Apro un nuovo documento in TextEdit.
Nel menù formato scelgo "Converti in formato solo testo" --> importante perché TextEdit ogni nuovo documento lo crea in modo predefinito come RTF
Incollo lo script.
Se ho posizionato VLC in una parte diversa del disco, devo modificare il percorso tra virgolette che porta al binario di VLC.
Salvo lo script in una posizione precisa, in modo che sia più facile tutto il resto delle operazioni, che è /Users/MIO_NOME_UTENTE --> attenzione qui perché nei nuovi sistemi Lion TextEdit potrebbe proporre di salvarlo nel cloud.
Apro Terminale [/Applicazioni/Utility/Terminale].
Incollo il comando per renderlo eseguibile 'chmod +x rai.tv.rb'. --> attenzione qui perché appena aprite terminale vi trovate nella vostra home, quindi dipende da dove avete salvato il documento. Il consiglio è di incollare 'chmod +x' dopo aver navigato fino al documento salvato.
Esempio. Se lo avete salvato sulla scrivania 'cd ~/Desktop', se nei Documenti 'cd ~/Documents' se nel disco rigido 'cd /'. Una volta fatto premete invio. La vostra shell di terminale vi porterà nella cartella in cui si trova lo script. Il consiglio comunque è di eseguire i comandi qui descritti alla lettera, pena il mancato funzionamento.
A questo punto potete incollare il comando sopra 'chmod +x rai.tv.rb' e premere invio, il vostro documento sarà reso eseguibile.
D'ora in poi potrete vedere ogni filmato su RAI TV con questo comando da Terminale './rai.tv.rb http://LINK_AL_FILMATO_SU_RAI_TV...'

grazie per aver testato lo

grazie per aver testato lo script e per i chiarimenti

Non funziona con rai sat premium

Ciao, ho provato il tuo codice usando il mac e utilizzando il link di rai premium. Praticamente mi risulta questo link: http://creativemedia4.rai.it/raitv.mp4 Che però non funziona. C'è qualcosa che non va nella procedura o è semplicemente Rai Premium che per ora non va? Vlc me lo apre però non si sente né si vede nulla. Grazie!

certo se uno non ha abitato

certo se uno non ha abitato per un secolo nella silicon valley, non sara' mai in grado di fare tutto quello che dite! ma per tutti quelli che hanno un computer e ci vogliono vedere la televisione in streaming senza doversi laureare ad harvard, lo avete un linguaggio piu' semplice?
grazie

Errore

404 Not found!...sicuramente la rai ha cambiato il link dello streaming...come posso trovare quello nuovo?

Interessante ma...

Ciao, trovo molto interessante questo tuo post, ma noto come i canali Rai1, Rai2 e Rai3 vengano decodificati in modo errato infatti quando lancio il programma inserendo l'url di
Rai1 =>http://www.rai.tv/dl/RaiTV/dirette/PublishingBlock-64203784-70f7-4b53-9d21-b14693850195.html?channel=Rai%201

per esempio, l'rlv viene decodificato in questo modo =>http://live.smoothstreaming.rai.it/live/218226_218227/rai1.isml/Manifest?aeauth=1342354351_609d25e5836da74981e147557b5eb33e

che sembrerebbe uan pagina xml.
A differenza degli altri canali da Rai 4 in poi l'url viene decodificato su un dominio mediapolis.rai.tv (http://www.rai.tv/dl/RaiTV/dirette/PublishingBlock-64203784-70f7-4b53-9d...)

Fammi sapere cosa ne pensi :)

Confermo

Penso sia dovuto al fatto che alcuni video live hanno la pubblicità davanti, oppure bisogna investigare se il token influisce nella scoperta del vero video.

PASSO 2

purtroppo, da vero profano, non so nemmeno cosa significhi aprire il terminale e renderlo eseguibile... qualcuno potrebbe darmi un aiuto più dettagliato? Vorrei guardarmi anch'io la rai in streaming...
grazie

Il terminale

lo trovi premendo CTRL + SPAZIO e digitando "term". Il comando che devi scrivere per rendere lo script eseguibile è quello indicato.

ho un mac OS. quando provo a

ho un mac OS. quando provo a salvare il file testo.rb mi dice che non posso salvar ein qsto formato, ma solo in .rtf

Non succede niente

Ciao,
io lavoro con OSX 10.6.8 e VLC 2.0.1. Quando eseguo lo script sul terminale non ho alcun errore, VLC si apre regolarmente, ma non succede nulla. Suggerimenti?

Script

Quindi avrai eseguito:
./rai.tv.rb http://mio-video-rai..html

Mi sembra strano che non ti scriva nulla, su quale video l'hai provato?

Alternative

Senza voler sminuire l'ottimo post, non serve tirare giù Ruby. Con qualunque linguaggio decente che supporti connessioni HTTP ed espressioni regolari, basta cercare 'videoURL =' dalla pagina del video. In effetti penso che metterò su la stessa cosa con bash, wget, grep. Casomai posterò ancora.

Certo

Io l'ho fatto in ruby perché lo uso già per altre cose e lo trovo semplice. Porting in altri linguaggi sono benvenuti.
NB: chi usa mac os, ruby, bash, python,.. se li trova già installati quindi uno vale l'altro

Ma va?!

Ruby è già installato sul Mac?! Buono a sapersi, grazie!

Funziona benissimo!! Bisogna

Funziona benissimo!! Bisogna ricordarsi di mettere l'indirizzo tra le doppie apici

Mi fa piacere che ti

Mi fa piacere che ti funzioni. Personanalmente non mi è mai capitato di mettere i doppi apici.
Ciao

Mica ho capito sai? Puoi

Mica ho capito sai? Puoi spiegare meglio come usare quello script? Mi interessa molto. Grazie.

Script

Ciao, per usarlo apri un editor di testo, incolli lo script e lo lo chiami per esempio: rai.tv.rb

Poi dal terminale lo rendi eseguibile:
chmod +x rai.tv.rb
dopodiché lo lanci con:
./rai.tv.rb http://pagina-con-il-video-che-vuoi-vedere-della-rai

Quindi se tutto va bene si apre VLC con il video in streaming (ovviamente devi avere anche ruby e vlc installati).
sudo apt-get install ruby vlc

Fammi sapere se ti funziona, oppure dimmi il punto che non ti è chiaro.
Ciao

Ma questo script lo hai

Ma questo script lo hai inventato tu?

Anche a me non funziona

Schermata nera di vlc.

./rai.tv.rb http://www.rai.tv/dl/RaiTV/programmi/media/ContentItem-7050ef40-55e8-420...
http://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=fv8CPxc1d0...
[0x100202b98] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[0x1002f1278] ts demux error: cannot peek
[0x10026ad68] main playlist: stopping playback
[0x10026ad68] main playlist: stopping playback
[0x10318d538] access_mms access error: cannot read data 2
[0x1031955b8] auhal audio output error: could not get number of streams: [?ohw?] (2003332927)
2012-02-10 10:45:11.211 VLC[13388:4b47] -[NSConcreteAttributedString initWithString:] called with nil string argument. This has undefined behavior and will raise an exception in post-Leopard linked apps. This warning is displayed only once.

A me si apre VLC ma poi non

A me si apre VLC ma poi non succede nulla

Su quale url hai eseguito il

Su quale url hai eseguito il comando? Hai ricevuto qualche errore in console?

Qualsiasi

Qualsiasi indirizzo.
Comunque ecco quanto mostra la console.
./rai.tv.rb http://www.rai.tv/dl/RaiTV/dirette/PublishingBlock-64203784-70f7-4b53-9d...
http://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=180090
VLC media player 1.1.12 The Luggage (revision exported)
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0x9f2120] main libvlc: Esecuzione di vlc con l'interfaccia predefinita. Usa 'cvlc' per utilizzare vlc senza interfaccia.
Blocked: call to setlocale(6, "")
Blocked: call to setlocale(6, "")
Blocked: call to setenv("_PX_CONFIG_ORDER", "", 1)

Strano a me funziona. Ho

Strano a me funziona. Ho provato a fare anche un video (solo che si legge poco o niente) http://www.youtube.com/watch?feature=youtu.be&v=DsoQLW8BNfA&gl=IT hai provato ad aspettare un po' ? I codec ubuntu-restricted-extras li hai?

Stesso problema qui, non

Stesso problema qui, non funge :( Ho atteso un bel po' e ho i restricted-extras...

ciao, se mi scrivete che

ciao, se mi scrivete che errore vi da sul terminale, vedo se posso aiutarvi

ciao, a me da un errore

ciao, a me da un errore ancora prima di partire...

localhost:desktop erio$ /Users/erio/Desktop/\ rai.tv.rb
/Users/erio/Desktop/ rai.tv.rb: line 1: {rtf1ansiansicpg1252cocoartf1038cocoasubrtf360: command not found
/Users/erio/Desktop/ rai.tv.rb: line 2: syntax error near unexpected token `}'
/Users/erio/Desktop/ rai.tv.rb: line 2: `{\fonttbl\f0\fmodern\fcharset0 Courier;}'
localhost:desktop erio$ /Users/erio/Desktop/\ rai.tv.rb
/Users/erio/Desktop/ rai.tv.rb: line 1: {rtf1ansiansicpg1252cocoartf1038cocoasubrtf360: command not found
/Users/erio/Desktop/ rai.tv.rb: line 2: syntax error near unexpected token `}'
/Users/erio/Desktop/ rai.tv.rb: line 2: `{\fonttbl\f0\fmodern\fcharset0 Courier;}'

probabilmente ho trovato un

probabilmente ho trovato un metodo piu' semplice. C'è un estensione per Chrome che permette di modificare lo user agent per siti specifici. Programmandolo per "ipad" su rai.tv viene utilizzato html5 invece di silverlight. Attenzione che il video parte solo dopo 10 secondi sul mio mac.

Rispetto a quando è stato

Rispetto a quando è stato scritto l'articolo le cose sono cambiate, cambiare l' userAgent per avere il video in h264 può essere una soluzione