skip to main | skip to sidebar
40 commenti

Come scaricare i video di Ustream?

Questo articolo vi arriva gratuitamente e senza pubblicità grazie alla gentile donazione di “cricim*” ed è stato aggiornato dopo la pubblicazione iniziale. Se vi piace, potete incoraggiarmi a scrivere ancora.

Conoscete qualche tecnica efficace per catturare e identificare i video dagli archivi di Ustream? Ho provato vari software, compreso iTube Studio di iSkySoft, ma non sono riuscito finora a trovare una soluzione efficiente per gli streaming HD di Ustream, per cui mi appello alla vostra competenza collettiva.

Come ben sapete, visto che ne parlo spessissimo qui, su Ustream vengono trasmessi in diretta e poi archiviati vari flussi di streaming video dalla Stazione Spaziale Internazionale che mostrano vedute meravigliose della Terra in alta definizione (per esempio ISS HD Earth Viewing Experiment qui) e permettono di seguire gli astronauti al lavoro all'interno e all'esterno della Stazione (Live ISS Stream qui). C'è anche il canale TV della NASA (NASA Public) qui.

Dopo la diffusione in diretta, lo streaming viene reso disponibile a blocchi (solitamente di due o tre ore), che sono elencati a destra della finestra di streaming se si clicca sulla scheda Videos, come mostrato qui sopra. Ciascuno di questi blocchi ha un proprio link, per esempio:

http://www.ustream.tv/recorded/58363439

Un metodo che funziona per scaricare un blocco è immettere il suo link in http://savevideo.me/it/, cliccare su Scaricare e attendere un attimo; quando compare l'immagine del video, si fa clic destro su Scaricare video file e si salva il file corrispondente. I file sono piuttosto pesanti (anche 6 gigabyte), ma per me non è un problema, perché il Maniero Digitale ha una connessione piuttosto veloce (90 megabit reali in download).

Il formato di archiviazione è piuttosto caotico: risalire alla data e all'ora di uno specifico video è complicato e a volte i link nell'elenco non corrispondono alla cronologia effettiva. Se conoscete qualche trucco per ricavare questi dati, segnalatemelo nei commenti. Tutto quello che ho trovato fin qui è che la struttura dei nomi dei file è la seguente: un numero univoco, invariabile per tutti i video di uno stream, seguito dall'ultima parte dell'URL del video. Per esempio:

http://www.ustream.tv/recorded/58361660

linka un file di nome 1_9408562_58361660.mp4 e tutti i file dello stream Live_ISS_Stream iniziano con 1_9408562_.

In particolare, se avete qualche tecnica che consenta lo scaricamento batch di questi file, segnalatemela: quello che sto cercando è in sostanza un modo affidabile per mettere in coda i vari file, in modo che quando finisce lo scaricamento di uno inizi automaticamente lo scaricamento del successivo. L'ideale sarebbe un sistema che mi consenta di indicare semplicemente uno stream (per esempio questo) e mi scarichi automaticamente tutti i blocchi di quello stream, uno dopo l'altro.

Mi piacerebbe infatti avere un modo per archiviare e rivedere i momenti salienti delle giornate degli astronauti per poterveli mostrare e per presentarli alle mie conferenze. Quando sono al lavoro al Maniero, tengo quasi sempre un monitor con lo streaming della ISS, e questo mi ha permesso di cogliere dal vivo parecchie chicche, ma so che comunque mi sto perdendo molto nei giorni e nelle ore in cui non sono davanti al monitor che mostra le immagini dallo spazio. Per esempio, ho visto soltanto per caso questa vite che scappa, oppure questa giocosa sequenza di capriole di Samantha a notte fonda il 13 marzo scorso:


I commenti sono a vostra disposizione per ogni suggerimento: le soluzioni che girino su Mac o che siano indipendenti dal sistema operativo sono particolarmente benvenute.


Aggiornamenti


Molti di voi, via mail/tweet/commenti, hanno suggerito l'uso di VLC da riga di comando, come descritto per esempio in questa pagina del manuale di VLC, ma questo non risolve il problema di identificare l'URL dello stream da catturare, che non è esplicito e va catturato con qualche altro sistema (Savevideo, appunto, oppure brutalmente Wireshark), e di mettere in coda i blocchi uno dopo l'altro per lo scaricamento.

Da un amico dell'associazione italiana ISAA (Italian Space and Astronautics Association, quelli degli ottimi siti in italiano Astronauticast e Astronautinews, per intenderci) e dai commenti qui sotto arriva il suggerimento di Livestreamer, uno script Python multipiattaforma che fra le varie opzioni permette anche di salvare su disco uno stream.

Pgc segnala che esiste anche un'altra pagina che riassume i link ai video di Ustream: per esempio, per il Live ISS Stream la pagina è http://www.ustream.tv/channel/live-iss-stream/videos/.
Invia un commento
I commenti non appaiono subito, devono essere tutti approvati da un moderatore. Lo so, è scomodo, ma è necessario per tenere lontani scocciatori, spammer, troll e stupidi: siate civili e verrete pubblicati qualunque sia la vostra opinione; gli incivili di qualsiasi orientamento non verranno pubblicati, se non per mostrare il loro squallore.
Inviando un commento date il vostro consenso alla sua pubblicazione, qui o altrove.
Maggiori informazioni riguardanti regole e utilizzo dei commenti sono reperibili nella sezione apposita.
NOTA BENE. L'area sottostante per l'invio dei commenti non è contenuta in questa pagina ma è un iframe, cioè una finestra su una pagina di Blogger esterna a questo blog. Ciò significa che dovete assicurarvi che non venga bloccata da estensioni del vostro browser (tipo quelle che eliminano le pubblicità) e/o da altri programmi di protezione antimalware (tipo Kaspersky). Inoltre è necessario che sia permesso accettare i cookie da terze parti (informativa sulla privacy a riguardo).
Commenti
Commenti (40)
Io solitamente utilizzo questa plugin x firefox
Fast Video Download
https://addons.mozilla.org/en-US/firefox/addon/fast-video-download-with-searc/?src=userprofile

Ho fatto questa prova:
Sono andato su http://www.ustream.tv/recorded/60488575
Ho selezionato un video a caso ed portandomi con il cursore sull'icona di Fast Video Download
il programma inizia a scaricare il video in formato flv ( poi facilmente convertibile )
Unico problema, non tecnico, e che i video sono sempre molto grossi ( superano facilmente i 2 gb )
Teoricamente, youtube-dl (yt-dl.org) supporta ustream — in pratica c'è una issue aperta https://github.com/rg3/youtube-dl/issues/3998 secondo la quale non funziona (e posso confermare non funziona qua per me.)
senza usare alcuna estensione: http://pasty.link/
non è proprio quello che cerchi, ma forse qualcuno può affinare.
Per registrare il live, a bassa o alta risoluzione (in quest'ultimo caso devi usare il plugin python-librtmp), puoi usare livestreamer (http://docs.livestreamer.io/). Nel sito è indicato che il plugin ustream puoi essere usato anche i VOD, ma io l'ho usato sempre registrare i live e non so aiutarti in altro modo.
Ciao Paolo, in rete ho trovato questa roba:

https://ustream.zendesk.com/entries/22573283-How-To-Batch-Download-All-Recorded-Videos-from-Your-Ustream-Channel-
Puoi usare anche questo programma, anche per Mac:

http://www.download-you-tube.com/download-videos-from-ustream.html?lang=it

90 megabit *reali* in download... ho dovuto rileggere due volte la frase, pensavo fosse un refuso.

Io abito a mezz'oretta di strada dal confine con la Svizzera (Vallese); solo ad inizio anno 2015 grazie alle nuove infrastrutture sono riuscito a passare ad una "7 mega", tutt'altro che reali (di giorno scaricare a più di 400 KBps è utopia pura), prima avevo una 2 mbps, sempre altamente teorici. Alla faccia del "piano anti digital divide".

Scusate per l'off topic e per lo sfogo, ma certe cose vanno dette, viste le martellanti campagne pubblicitarie sulla "fibra" dei vari operatori.
cal,

quello è un clone di iTube. Non so neanche se è abusivo o autorizzato. Me ne tengo alla larga, grazie :-)
cal,

quelle istruzioni riguardano soltanto chi è iscritto a Ustream e solo per scaricare i propri video, non quelli altrui.
Unknown,

Pasty.link non mi riconosce l'URL e rimane fermo a "please wait". Sbaglio qualcosa io?
Paolo, pasty.link penso abbia solo un problema momentaneo... l'ho usato giorni fa ed andava tranquillamente, gli altri servizi ho appena provato e sembrano andare... puoi provare dai tasti EXAMPLE sotto il box principale, come vedi vanno quasi tutti tranne proprio ustream oggi... puoi contattare l'autore qui per segnalare il problema: http://www.p0l.it/rai/
Io generalmente uso la console di firefox per identificare l'URL, filtrando per estensione e per tipo (application/octet-stream), salvo tutte le URL in un file di testo separate da uno spazio o da un return, e lo do in pasto a wget (correggimi ma dovrebbe girare anche su Mac). Puoi anche provare con DownThemAll, le rare volte che mi sono trovato su Win ha funzionato, ma non ho modo di provarlo ora su questo sito in particolare. Il primo metodo funziona comunque, la pecca è che devi copincollare manualmente le URL dalla console, *forse* con Firebug è automatizzabile ma devo ancora provare. Se per caso ti trovassi ad usare KDE, Kget fa un parsing degli Appunti automatico riducendo di molto i click necessari, specie per poco materiale per volta.
ho autoaffinato l'idea... ma manca ancora un automatismo.
in livestreamer si può indicare anche direttamente il link del VOD. Ho provato a mettere cinque link in un file di testo e poi a passarlo a livestreamer e sono riuscito a creare facilmente l'output cercato. Il problema è che non sono come passare in Linux (ma tanto tu usi osx) un nome diverso per ogni stream:

while read p; do livestreamer $p worst -oFileName; done <batch

dove batch contiene i link in formato http://www.ustream.tv/recorded/60478391
e FileName è il nome del file risultante

Così com'è il secondo stream non parte perchè vuole sovrascrivere il primo, ma è solo questione di sintassi del loop. Qualcuno lo saprà risolvere

Il problema è che i link si devono prendere a mano dalla lista accanto al live, ma se sono pochi, si fa comunque presto.

Ciao
Ciao.

Usando la funzione "copy link" di video-downloadhelper per firefox si riesce a scaricare il video in jdownloader, che non solo ti permette di mettere in coda i vari file, in modo che quando finisce lo scaricamento di uno inizi automaticamente lo scaricamento del successivo. ma anche di creare code personalizzate, dividere i download in pacchetti, rinominare i download e i pacchetti prima di procedere al download, vedere i link del download e molto altro.

Prima che qualcuno lo dica, jdownloader non serve (solo) ad aspettare, si può usare benissimo anche con siti senza quella necessità. ;-)
Questo commento è stato eliminato dall'autore.
Questo commento è stato eliminato dall'autore.
Versione corretta e aggiornata (e tre... mannaggia alla mia distrazione!):

Tutti i video sono archiviati in sequenza anche qui: http://www.ustream.tv/channel/live-iss-stream/videos.

Infatti i numeri coincidono, mi pare (ne ho verificati alcuni) e sono visibili nella page source. L'ultimo per esempio: http://www.ustream.tv/recorded/60491621 in questo momento è quello in alto a sinistra e si trova nel sorgente come:

< a href="/recorded/60491621" class="shadowbox" > (ho messo uno spazio per evitare che sia interpretato come un href.

A questo punto basta scrivere uno script che ad esempio una volta al giorno (magari di notte quando c'è più larghezza di banda):

(1) legge la pagina di archivio
(2) estrae il numero degli stream dalle righe di quel tipo
(3) confronta con una lista se il video già esiste in archivio.
(4) se non esiste lo scarica eseguendo l'opportuno comando vlc (per esempio).

Appena trovo il tempo se ne hai bisogno te lo scrivo, ma io ricorrerei a quella pagina con uno degli strumenti indicati. Ci hai provato? Problemi? Ho capito male quello che chiedi?
ho ripreso l'idea di pgc. Salva in un file la pagina http://www.ustream.tv/channel/live-iss-stream/videos.rss, poi da riga di comando dai il comando grep -i "guid" videos.rss > lista.txt dove videos.rss è il nome del file. Ottieni la lista completa dei link, tipo:

http://www.ustream.tv/recorded/60471406
http://www.ustream.tv/recorded/60465500
http://www.ustream.tv/recorded/60458544
http://www.ustream.tv/recorded/60452217
non resta che "pulirla" e passarla al batch che ti ho indicato prima (a cui però occorre aggiungere la possibilità di cambiare nome)

Ciao
Questo commento è stato eliminato dall'autore.
Pgc,

Npn ci ho ancora provato e hai capito bene. Va bene per gli streaming attuali, ma cerco anche qualcosa per quelli passati.

Fra l'altro, non capisco il criterio di archiviazione di quella pagina che hai segnalato. Alcuni video sono cortissimi, altri durano 15 ore. Ci sono giorni interi mancanti.
Andy,

Paolo, scusa, il mio precedente commento non l'hai pubblicato per qualche motivo?

No, semplicemente era in coda di moderazione insieme agli altri di altri commentatori.
No, semplicemente era in coda di moderazione insieme agli altri di altri commentatori.

Scusa, come non detto. Dimenticavo che l'ordine di approvazione dei commenti a volte non è... in ordine. :-)
(ho anche fatto in tempo ad eliminare la domanda).

Se c'è qualche problema con il mio "espediente" fammi pure un fischio.
Ustream non archivia tutto. Vedi http://www.ehow.com/info_12078494_ustream-videos-archived.html.

Però da oggi in poi puoi archiviare tutto quello che vuoi. Basta fare qualcosa di simile a quello che dice Andy, almeno per adesso, per poi automatizzare il tutto appena hai uno script in grado di farlo.
Paolo ma i video della NASA sono anch'essi di pubblico dominio quindi si possono scaricare liberamente?
GetRight hai già provato? prova ad usare le versione pima o pari alla 6.3c reperibili su http://www.oldversion.com/
Infine, giusto perchè mi piace finire ciò che ho iniziato (almeno fin dove posso):
Non è un bacth, sono quattro righe separate. Se qualcuno è capace di farne uno script, glielo copio... :)

curl -0 http://www.ustream.tv/channel/live-iss-stream/videos.rss > videos.rss
grep -i "" videos.rss | sed 's/[\x01-\x1F\x7F]//g' > lista.txt
cat lista.txt | awk '{print substr($0, 7 ,39)}' > batch.txt
i=1;while read p; do livestreamer $p worst -oFileName$i; i=$(($i+1)); done <batch.txt

La prima riga prende l'elenco dei file presenti(*)
La seconda e la terza puliscono la lista (assumendo che la lunghezza della stringa sia costante per ogni canale)
La quarta recupera uno alla volta tutti i file video.

(*) in verità su Linux e Windows (e volendo su mac osx) si può usare wget:
wget http://www.ustream.tv/channel/live-iss-stream/videos.rss

ho usato curl -0 (zero) perchè è direttamente utilizzabile in Linux e OSX. Non so se l'ultima riga funziona anche in OSX, ma il ciclo while esiste nei computer Apple.
In dos si può usare for /F

sorry la seconda riga è stata corretta automaticamente, tolgo il segno di minore (<) e maggiore (>) prima e dopo guid altrimenti non viene pubblicato:

grep -i "guid" videos.rss | sed 's/[\x01-\x1F\x7F]//g' > lista.txt
io per alcuni stream ( non ustream ma si potrebbe provare a vedere se funziona) ho usato Atube catcher ha la us afunziona stream catcher inoltre ma più scomoda anche la screen record...la sua funzione principale è scaricare video da youtube ma le poche volte che lo ho usato per gli stream ha funzionato.
non mi pare ce ne fosse nessuno da ustream però magari si prova
Non è un bacth, sono quattro righe separate. Se qualcuno è capace di farne uno script, glielo copio... :)

Uno script bash è comunque l'insieme di più righe/comandi bash eseguiti in sequenza automatica.
Basta metterli in un file di testo e farlo iniziare per "#!/bin/bash" senza virgolette, oppure lanciarlo passandolo come parametro al medesimo interprete.
Se proprio crei il file con mktemp e mantieni il riferimento in una variabile, così non lasci residui nel percorso in cui esegui lo script.

Non so se l'ultima riga funziona anche in OSX

In teoria si, dato che entrambe le piattaforme sono unix, e la parte bash dovrebbe essere sempre quella "open". (come la maggior parte delle cose apple, anche se poi ci mettono la loro grafica e dicono che le hanno fatte loro).

L'unica cosa è forse quella che per lanciarlo senza scomodare il terminale bisogna creare un lanciatore, perché non ti permette di flaggarlo direttamente come eseguibile.
seguendo i suggerimenti di andy ho ricavato uno script dalle righe che ho postato e già che c'ero l'ho migliorato un po'.
Ora il nome del file è uguale al numero dello streaming e prima di scrivere verifica che il file non esista. In questo modo lo script può essere avviato più volte di seguito e verranno scaricati solo gli streamer nuovi.
Ho notato che la regola esposta da pgc per l'elenco dei video non è valida per tutti i canali; per esempio nel canale nasahdtv i video sono in http://www.ustream.tv/nasahdtv/videos e di conseguenza l'elenco rss è in http://www.ustream.tv/nasahdtv/videos.rss

Non sono riuscito ad usare mktemp perchè mi dava due errori: "poche x e nome ambiguo", ma posso lasciare a qualcun altro il compito di migliorare lo script.

(ho tolto nella riga di grep i simboli < e > prima e dopo guid perchè altrimenti il testo non passa correttamente, ma nello script vanno messi)

#!/bin/bash
rm -f videos.rss
curl -0 http://www.ustream.tv/channel/live-iss-stream/videos.rss > videos.rss
grep -i "guid" videos.rss | sed 's/[\x01-\x1F\x7F]//g' > lista.txt
cat lista.txt | awk '{print substr($0, 7 ,39), substr($0,38,8)".flv"}' > batch.txt
while IFS=\ read url nomefile
do
if [ ! -f $nomefile ]
then
livestreamer $url worst -o$nomefile;
fi
done <batch.txt

il comando rm iniziale serve solo se si usa wget. Al posto di worst si può usare il nome della qualità desiderata.
poche x e nome ambiguo

Leggere l'help no, eh?

mktemp assegna al file un nome seguito da una sequenza di caratteri casuale, assicurandosi di non sovrapporsi ad un file esistente, secondo il pattern predefinito tmp.XXXXXXXXXX (lanciandolo senza parametri, quindi file=`mktemp`, con le apici rovesciate "alt-gr + apostrofo").

Se vuoi usare un pattern personalizzato per il nome del file, le X devono essere almeno 3, tutte maiuscole e dopo il punto.
@andy,
ma un po' di educazione, no? Il manuale lo avevo letto, mi era sfuggito che dovevano essere tutte maiuscole.
@giubbe
Scusa, era retorico, non insultativo. :-)
Altrimenti non sarei stato a spiegarti.
Uff
Insisto col plugin x Chrome
https://chrome.google.com/webstore/detail/fvd-video-downloader/lfmhcpmkbdkbgbmkjoiopeeegenkdikp
Ciao!
Mi sembra opportuno segnalare un altro modo con cui scaricare il singolo file da Ustream senza usare altri siti o altri downloader.

Occorre tener presente che quando si collega a Ustream un sistema che non supporta Flash (per esempio un iPad) il sito offre il video attraverso il tag HTML5 "video", gestito direttamente dal browser, senza proporre il player Flash.

Se, utilizzando Firefox, disattivo il plugin Flash e carico la pagina di Ustream che contiene il video, posso aprire il menu di contesto direttamente sul player e disporre delle comode opzioni "Copia indirizzo video" e "Salva video come..." per effettuare il download.

La stessa cosa posso ottenere (qui però occorre una "estensione" del browser) modificando lo "User agent" (la stringa di informazioni sulla propria identità che ogni browser invia ai server http) e fingendo di essere un iPad (o altro dispositivo iOS).
LA soluzione più immediata, per firefox, consiste nell'installare i componenti DownThemAll e FlashGot, configurare DTA come gestore dei download nelle opzioni di FG, e assicurarsi che la casellina "mostra pulsante sulla toolbar" (vado a memoria) sia checkata.

Da questo momento, ogni volta che si preme play su un video "non in diretta" il pulsantino di DTA comincia a lampeggiare: cliccandoci sopra si mette in coda il video, e nel frattempo si può passare al successivo, metterlo in coda, ecc.

Parduz (BO)
@andy
ops, sorry. Devo pensare prima di scrivere! Grazie per le dritte, lo script finale è anche merito tuo
E dunque, nessun commento sulla notizia dell'uscita dell'imminente libro della Cristoforetti "La solitudine dei primi nello spazio" ( Cristoforetti, Armstromg et al., ed Verne, 17 euro)?
...

:)
Ciao sono Anna, ho messo dei miei video su ustream da fotocamera samsung e volevo farne un download per metterli sul mio pc. Ho provato in tutti i modi ma non ci riesco. Ho comprato anche il software Streaming Video Recorder ma non si riesce. Qualcuno a qualche dritta da darmi. Grazie
ho messo dei miei video su ustream da fotocamera samsung

Cioè la fotocamera samsung carica in automatico i video su piattaforme pubbliche?

Se è come spero i video sono stati caricati come privati, sotto log-in, per cui qualunque programma usi andrebbe configurato con tua user e password per poter vedere i video sotto log-in, con jdownloader si può fare (ma con ustream va solo in combinazione con videodownloadhelper, sopra spiegavo come), con gli altri programmi non so.

Spero che non hai buttato i tuoi soldi con quel software che hai comperato.