Scaricare facilmente video con tecnologia Silverlight (Smooth Streaming) in Linux

È già da un po’ di tempo che se ne parla, i siti di alcune delle maggiori televisioni (Rai e Mediaset) utilizzano la tecnologia Silverlight per pubblicare molti video che si possono (ri)vedere online. Si tratta di un sacco di programmi, fiction, telegiornali, eccetera forniti direttamente dalle suddette reti televisive, quindi si tratta di uno streaming perfettamente legale.

Il problema è che Silverlight è una tecnologia proprietaria di Microsoft che non è molto ben supportata da Linux. È vero, esiste il progetto Moonlight (sostanzialmente fermo), il quale però non supporta a pieno la riproduzione dei video di questi portali. Inoltre non è possibile scaricare le puntate offerte con tecnologia Smooth Streaming allo stesso modo in cui si fa solitamente con i siti che pubblicano video in Flash. Perciò tutto questo complica usi perfettamente legittimi (e prevedibili) dei video, come ad esempio poterli guardare in treno senza avere un computer con connessione 3G.

Per Linux esiste un progetto chiamato smooth-dl, realizzato da Antonio Ospite, un prolifico sviluppatore di software libero. Per i dettagli sul progetto e la tecnologia di Smooth Streaming, vi rimando al suo articolo che è scritto molto meglio di quanto potrei fare io.

Smooth-dl è però ancora in uno stato “non perfetto”, nel senso che non supporta tutti i siti che offrono video con questa tecnologia, ma lavora bene con il sito Rai. Esiste un software più completo chiamato ismdownloader, che però è realizzato per Windows. Perciò ho deciso di realizzare uno script che “maschera” il programma sotto Wine, e arricchisce la visualizzazione dello stato del download calcolando la percentuale rimanente e mostrandola a video. Di seguito vi spiegherò come effettuare la prima configurazione e poi usare lo script. Se volete fare la stessa cosa usando Mac OS X leggete la guida dedicata.

Creare l’ambiente Wine

Per evitare di “far confusione” e mischiare il programma che useremo per il download con altri eventuali software che girano sotto Wine, vi farò creare un “contenitore” personalizzato con una copia a se stante del disco “C:” simulato. Per prima cosa quindi nel terminale create la directory, dichiaratela come il prefisso di Wine che andrete ad utilizzare e poi “forzate” Wine all’uso dell’architettura a 32bit:

mkdir -p $HOME/.smoothwine
export WINEPREFIX=$HOME/.smoothwine
WINEARCH=win32 winecfg

Appena finisce di creare la configurazione e vi apre la finestra di Wine, potete chiuderla e proseguire. A questo punto vi servirà Winetricks, che solitamente (perlomeno su Ubuntu) viene installato assieme a Wine, altrimenti provvedete ad installarlo dal vostro gestore di pacchetti. Winetricks si occuperà di scaricare l’ambiente .Net Framework, che servirà poi ad eseguire il programma per il download vero e proprio dei video:

winetricks dotnet20

Seguite la semplice procedura nella finestra che si aprirà e .Net verrà installato. Ora non vi resta altro da fare che cliccare questo link e salvare il file EXE, per poi copiarlo nella cartella che potete aprire usando questo comando:

xdg-open $WINEPREFIX/drive_c

Questo termina la configurazione di Wine. Giunti a questo punto potete procurarvi una copia dello script smooth.sh col comando seguente, che lo salva nella vostra cartella home:

wget "http://cl.ly/code/3d063j2H1p1M/smooth-lin.sh" -O $HOME/smooth.sh
chmod +x $HOME/smooth.sh

Ovviamente se volete potete spostarlo dove vi pare, l’importante poi è richiamarlo correttamente.

Scaricare i video in Smooth Streaming

La parte di configurazione di cui sopra andrà fatta solo la prima volta, in seguito potete limitarvi all’utilizzo dello script come segue. Supponendo che lo script sia nella vostra home e la vostra directory corrente nel terminale sia altresì la medesima cartella, potete semplicemente richiamarlo come segue:

./smooth.sh "http://url/del/manifest" "nome"

Il primo parametro sarà l’URL del cosiddetto file “manifest” relativo al video. Qui viene il problema: ogni pagina web avrà un manifest diverso, e il metodo per ricavarne l’URL varia da sito a sito. Per questo motivo non posso dirvi dettagliatamente come fare a trovarlo in generale, perché la spiegazione sarebbe molto lunga. Per certi siti come quelli di Rai e Mediaset ci sono già delle indicazioni in rete, in ogni caso questo sarà oggetto di un mio prossimo articolo, dedicato appositamente a scovare gli URL dei video online.

Il secondo parametro è il nome (preferibilmente senza spazi) desiderato per il file video (senza estensione). Una volta terminato il download, il video verrà salvato nella vostra home con estensione MKV. Sebbene il contenitore sia Matroska, la codifica vera e propria di audio e video dipende soltanto dal sito web da cui scaricate, quindi potrebbe variare. In ogni caso con VLC e gli opportuni codec dovreste riuscire a visualizzare tutto e potete sempre convertire i video con Arista Transcoder.

Esempio di utilizzo dello script con una puntata di "Ris Roma" dal sito Video Mediaset
Esempio di utilizzo dello script con una puntata di “Ris Roma” dal sito Video Mediaset

Note finali

Come ogni cosa, anche lo script ha i suoi limiti. Il download non si può mettere in pausa, perché il programma originale non lo permette, e ogni tanto succede che l’eseguibile sotto Wine vada in crash. In generale comunque funziona bene, e avendo aggiunto il calcolo della percentuale (non presente in origine) penso di averlo reso abbastanza gradevole anche dal punto di vista estetico. La codifica del video finale è un po’ un terno al lotto, ma quasi sempre non crea nessun problema con VLC.

L’unico difetto visibile dei video è la presenza sporadica di lievissime macchioline nere, ma a dire il vero non so se imputare la cosa al programma che si occupa del download oppure al sito web che fornisce i video. In definitiva comunque i risultati sono buoni e con una risoluzione niente male. Il prezzo da pagare è l’uso di Wine e di qualche componente proprietario, ma d’altronde abbiamo a che fare con tecnologie Microsoft ed è difficile evitarlo del tutto.

Un’altra cosa (facilmente sistemabile) è che gli MKV prodotti possono dare problemi con l’avanzamento veloce e il riavvolgimento. Leggete questo articolo per sapere come risolvere. 😉

Spero di poter finire presto anche il post dedicato a “scovare gli URL” in modo da poter completare questa serie di articoli sul salvataggio dei video, che sembrano essere i più gettonati nel blog. Che ne pensate dello script? Vi tornerà utile?

50 pensieri riguardo “Scaricare facilmente video con tecnologia Silverlight (Smooth Streaming) in Linux

  1. ho eseguito tutta la procedura ed è andato tutto liscio finchè non ho lanciato il comando di script “smooth” ed è venuto fuori quanto segue:
    Verrà scaricato il video dall’url http://replaytv.rai.it/ondemand/VOD_HD/replay_nogeo/sfidemarcosimoncellisicpergliamici-1510201222.40.00/sfidemarcosimoncellisicpergliamici-1510201222.40.000.ism/manifest

    Caricamento in corso…

    Pulizia in corso…
    mv: impossibile eseguire stat di “/home/andrea/.smoothwine/drive_c/simoncelli.mkv”: File o directory non esistente

    Download terminato, il video si trova in /home/andrea/simoncelli.mkv

    Il file simoncelli non c’è nella home

    cosa non funziona?

    1. Purtroppo i manifest della Rai sono “tristemente noti” per essere non standard, sicché può essere che il download non funzioni. Prova con un manifest di qualche altro sito e in teoria dovrebbe andare.

    1. Non mi ricordo se l’avevo provato con Mono, probabilmente non mi andava di installare tutto il runtime, e visto che già avevo installato Wine ho deciso di usare quello… Come gestisci il discorso del path? Gli dai un percorso in stile Unix direttamente? Hai provato a usare il mio wrapper con Mono? Fammi sapere. 🙂

      Edit: anzi ho provato un attimo fa, e il programma fallisce con questo errore:

      Unhandled Exception: System.TypeLoadException: A type load exception has occurred.
      [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: A type load exception has occurred.

      Mi pareva strano di non averci neppure provato. 😀 Questo dopo aver installato il pacchetto libmono-corlib2.0-cil, altrimenti fallisce con un errore di libreria assente.

  2. In che senso non trovato? Me lo hai fornito tu l’URL del Manifest, vuol dire che esiste. 😛 Se intendi che non lo scarica be’, ho appena provato e funziona perfettamente. Ma sinceramente mi pareva che gli stream su Video Mediaset fossero accessibili solo dall’Italia, quindi non so se dal Brasile tu riesca a scaricarlo… Dovresti usare un proxy oppure Tor. 😉

  3. canc3lla il commento , ma ti consiglio di modificare la riga dove spieghi dove scaricare ismdowloader, non lo scrivi il nome e elimini in passaggio in mezzo rigo alla prima lettura si salta che è un piacere. probabile che anche il tipo sopra abbia fatto come me. cancella pure anche questo commento è per te. forse scrivo qualcosa nel mio blog. con play mediaset funziona ? è l’unico modo di vedere qualcosa dal brasile . grazie

  4. ma ti consiglio di modificare la riga dove spieghi dove scaricare ismdowloader, non lo scrivi il nome e elimini in passaggio in mezzo rigo alla prima lettura si salta che è un piacere.

    Effettivamente qualcuno potrebbe pensare di copiare i comandi e basta, cosa che non va fatta… casomai lo sottolineo nel post. 😛

    con play mediaset funziona ? è l’unico modo di vedere qualcosa dal brasile . grazie

    Mi pare di aver letto in giro che gli stream di Premium Play sono crittografati, quindi non funziona. Ma per quanto riguarda la puntata di cui parlavamo prima quindi sei riuscito a scaricarla? Hai dovuto usare un proxy?

  5. si sono riuscito a scaricarla andrea.
    ovviamente bisogna aggirare i controlli geoip, quasi sempre presenti, con programmi di ip marquerading o proxy ad ok oppure semplicemente ,come ho fatto io, usare un pc in italia con desktop remoto.
    sinceramente un pò di tempo fa ho provato con un programmino che ti altera l’ip di provenienza ma non ha funzionato.
    la prossima volta cercherò di usare una vpn ad una mia linuxbox per redirigere il traffico ma non so se funzionerà, nel caso userei un ip della lan remota.
    mi scuso per la confusione sinceramente pensavo non avresti pubblicato le mie elucubrazioni fatte nelle notti sudamericane.

  6. Matteo se ti capita di riprovare dall’estero, prova col mio script per Video Mediaset che trovi sotto nei trackback. In teoria il mio script fornisce il link direttamente tramite IP e non so se i controlli geografici abbiano effetto. Ho provato a usarlo con Tor che mi faceva passare per un utente degli USA e sono riuscito ugualmente a salvare il video…

  7. Ciao Lazza, scusa se mi permetto di disturbarti. Ho seguito bene le istruzioni del tuo blog… ma qualcosa non va… il tuo script funziona e riesco a scovare il link diretto al video di dellaraireplay, per intenderci… ma… c’è un ma… ecco qui ti faccio l’esempio

    Verrà scaricato il video dall'url *copiata dal browser grazie allo script"
    
    Caricamento in corso...
    
    Pulizia in corso...
    mv: impossibile eseguire stat di "/home/XYZ/.smoothwine/drive_c/prova.mkv": File o directory non esistente
    
    Download terminato, il video si trova in /home/XYZ/prova.mkv
    

    non capisco cosa ci sia di sbagliato… la directory l’ho creata seguendo le istruzioni… e tra l’altro del file “prova.mkv” non c’è traccia.

    Ti ringrazio in anticipo nel caso mi risponderai e per la pazienza.
    Ciao

    ps. ho visto l’ultimo post e non sono la sola ad avere questo problema… dunque significa che è “pestifero” il sito della nostraraitv?

    1. Aspetta un momento… che URL scovi con i miei script su Rai Replay che ti fanno volerli scaricare come Smooth Streaming? Me lo incolli nel commento? Sono sicuro che il mio script per Greasemonkey trova solo link a file in formato MP4 quando agisce su Rai Replay. Diverso invece il discorso per il sito di Mediaset, dove c’è anche l’URL allo Smooth Streaming.

  8. Anche a me viene quell’errore “File o directory non esistente” provando a scaricare questo video: http://www.rai.tv/dl/replaytv/replaytv.html?refresh_ce#day=2013-03-14&ch=1&v=190616&vd=2013-03-14&vc=1
    Il problema è di ismdownloader, ti allego l’output da terminale: https://www.dropbox.com/s/85i6oy7z4pnhhyt/konsole.txt
    Volevo vedere se il file scaricato era uguale a quello MP4 che sono riuscito a scaricare con il tuo script apposito da Chrome.

    (P.S.: la cartella di Wine che ho creato è wine-smooth e non smoothwine, ma ho editato lo script alla riga 14 quindi dovrebbe essere a posto)

    1. Non puoi usare i Manifest Rai perché usano codec particolari e formati XML non standard. Per il sito Rai devi usare il mio script per Greasemonkey che ti darà il link al video. So che mi avevi detto di avere qualche problema con Greasemonkey ma prova con Chromium e Tampermonkey.

  9. Ciao.
    In caso di file con protezione DRM immagino non ci siano grosse soluzioni, vero?
    Oggi ho tentato di salvare un video da Rai YoYo per farlo vedere ai miei bimbi, ma non sono riuscito…

    Questo è quanto eseguito/ottenuto da terminale Dos in Windows:

    ismdownloader "http://smoothreplay.rai.it/ISM/replaytv_world/raiyoyo_world/pomeriggio_world/2145810/2145810.ism/manifest" "C:\gruffalo.mkv"
    ismdownloader v2.0.0.0 beta
    Created by DVB-Crew
    
    Manifest:
    Url: http://smoothreplay.rai.it/ISM/replaytv_world/raiyoyo_world/pomeriggio_world/2145810/2145810.ism/manifest
    Duration: 00:26:58.1615419
    
    Stream 1:
    H264 1024x576 (1024x576) @ 1800 kbps [selected]
    H264 920x516 (1024x576) @ 1500 kbps
    H264 920x516 (1024x576) @ 1200 kbps
    H264 700x392 (1024x576) @ 800 kbps
    H264 512x288 (1024x576) @ 600 kbps
    H264 512x288 (1024x576) @ 400 kbps
    
    Stream 2:
    AAC 2 channels 48000 Hz @ 48 kbps [selected]
    
    Recording duration:
    00:00:00ERROR: Encrypted content (DRM)!
    

    Ti ringrazio comunque un sacco per l’impegno e la competenza che metti in tutti i tuoi articoli e tutorial.
    Sei un mito!

  10. Troppo buono coi complimenti. 😛 Grazie. 😀

    In caso di file con protezione DRM immagino non ci siano grosse soluzioni, vero?

    No, però consolati, i video della Rai non li puoi comunque scaricare dalla versione Smooth Streaming, perché anche quelli che non cifrano li mettono in AVC. Ok, potresti usare ismdownloaderavc1 però è scomodo doversi ricordare ogni volta…

    Ti consiglio invece di provare il mio script per il sito Rai! 😀 Ti permette di salvare i video in MP4 o rippare la versione per tablet, a seconda di cosa è disponibile. Per quello stesso video su Rai Yoyo ti fornisce la seguente riga di comando per ffmpeg:

    ffmpeg -i "http://podcastmhp1cr-i.akamaihd.net/i/podcastmhp/replaytv_world/raiyoyo_world/pomeriggio_world/2145810_,800,1800,.mp4.csmil/index_1_av.m3u8?null=&id=" -qscale 0.00001 GRUFFALO.mp4
    

    Buona visione. 😉

    1. A dire il vero avevo già lo script installato e ben utilizzato da diverso tempo, solo che sono arrivato al link del filmato in smooth streaming direttamente dal sito di Rai YoYo (http://www.raiyoyo.rai.it), non pensando di provare da Rai.tv…

      Scusa l’ignoranza, ma lanciando da terminale il comando ffmpeg ecc.ecc. che hai riportato tu e che compare grazie al tuo script ricevo il messaggio di errore sullo streaming in input per “Invalid pixel aspect ratio 1024/1024 ecc..” (vedi sotto):

      "ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
        built on Nov  9 2013 19:09:46 with gcc 4.8.1
      *** THIS PROGRAM IS DEPRECATED ***
      This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
      [applehttp @ 0x1d197a0] max_analyze_duration reached
      [applehttp @ 0x1d197a0] Estimating duration from bitrate, this may be inaccurate
      Input #0, applehttp, from 'http://podcastmhp1cr-i.akamaihd.net/i/podcastmhp/replaytv_world/raiyoyo_world/pomeriggio_world/2145810_,800,1800,.mp4.csmil/index_1_av.m3u8?null=&id=':
        Duration: 00:26:59.00, start: 10.101000, bitrate: N/A
          Stream #0.0: Video: h264 (Main), yuv420p, 1024x576 [PAR 1024:1024 DAR 16:9], 25 tbr, 90k tbn, 50 tbc
          Stream #0.1: Audio: aac, 48000 Hz, stereo, s16
          Stream #0.2: Data: [21][0][0][0] / 0x0015
      [buffer @ 0x21ad100] w:1024 h:576 pixfmt:yuv420p
      [mpeg4 @ 0x1e97620] Invalid pixel aspect ratio 1024/1024, limit is 255/255
      Output #0, mp4, to 'GRUFFALO.mp4':
          Stream #0.0: Video: mpeg4, yuv420p, 1024x576 [PAR 1024:1024 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
          Stream #0.1: Audio: aac, 48000 Hz, stereo, s16, 200 kb/s
      Stream mapping:
        Stream #0.0 -> #0.0
        Stream #0.1 -> #0.1
      Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height"
      

      Solo che non saprei che parametri dare a ffmpeg o che scappatoia utilizzare per risolvere il problema.

      Ancora grazie di tutto e ciao!

  11. Orpo! 😯 Ho la stessa tua versione:

    andrea@farore:~$ ffmpeg -version
    ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
      built on Nov  9 2013 19:09:46 with gcc 4.8.1
    *** THIS PROGRAM IS DEPRECATED ***
    This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
    ffmpeg 0.8.9-6:0.8.9-0ubuntu0.13.10.1
    libavutil    51. 22. 1 / 51. 22. 1
    libavcodec   53. 35. 0 / 53. 35. 0
    libavformat  53. 21. 1 / 53. 21. 1
    libavdevice  53.  2. 0 / 53.  2. 0
    libavfilter   2. 15. 0 /  2. 15. 0
    libswscale    2.  1. 0 /  2.  1. 0
    libpostproc  52.  0. 0 / 52.  0. 0
    

    Sicuro di avere tutti i codec installati?

    1. Avevo i libavcodec53, che ora ho disinstallato per poi installare i libavcodec-extra-53;
      ho fatto un piccolo passo avanti, ma ho ancora qualcosa che non funziona:

      mediacenter@mediacenter-ESPRIMO-P2560:~$ ffmpeg -version
      ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
        built on Nov  9 2013 19:09:46 with gcc 4.8.1
      *** THIS PROGRAM IS DEPRECATED ***
      This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
      ffmpeg 0.8.9-6:0.8.9-0ubuntu0.13.10.1
      libavutil    51. 22. 1 / 51. 22. 1
      libavcodec   53. 35. 0 / 53. 35. 0
      libavformat  53. 21. 1 / 53. 21. 1
      libavdevice  53.  2. 0 / 53.  2. 0
      libavfilter   2. 15. 0 /  2. 15. 0
      libswscale    2.  1. 0 /  2.  1. 0
      libpostproc  52.  0. 0 / 52.  0. 0
      mediacenter@mediacenter-ESPRIMO-P2560:~$ ffmpeg -i "http://podcastmhp1cr-i.akamaihd.net/i/podcastmhp/replaytv_world/raiyoyo_world/pomeriggio_world/2145810_,800,1800,.mp4.csmil/index_1_av.m3u8?null=&id=" -qscale 0.00001 GRUFFALO.mp4
      ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
        built on Nov  9 2013 19:09:46 with gcc 4.8.1
      *** THIS PROGRAM IS DEPRECATED ***
      This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
      [applehttp @ 0xd3a9a0] max_analyze_duration reached
      [applehttp @ 0xd3a9a0] Estimating duration from bitrate, this may be inaccurate
      Input #0, applehttp, from 'http://podcastmhp1cr-i.akamaihd.net/i/podcastmhp/replaytv_world/raiyoyo_world/pomeriggio_world/2145810_,800,1800,.mp4.csmil/index_1_av.m3u8?null=&id=':
        Duration: 00:26:59.00, start: 10.101000, bitrate: N/A
          Stream #0.0: Video: h264 (Main), yuv420p, 1024x576 [PAR 1024:1024 DAR 16:9], 25 tbr, 90k tbn, 50 tbc
          Stream #0.1: Audio: aac, 48000 Hz, stereo, s16
          Stream #0.2: Data: [21][0][0][0] / 0x0015
      File 'GRUFFALO.mp4' already exists. Overwrite ? [y/N] y
      [buffer @ 0x11ce300] w:1024 h:576 pixfmt:yuv420p
      [libx264 @ 0xeb8820] using SAR=1/1
      Errore di segmentazione (core dump creato)
      
  12. Per favore, indenta il codice con quattro spazi o un Tab, così viene convertito in listato. 😉 Così:

        codice codice codice
    

    Io ho sempre consigliato di installare per intero tutti i codec della mia guida, altrimenti non c’è nessuna garanzia che funzioni. 😛 Nel dubbio prova a seguirla e dopo vedi se ti dà ancora problemi. 😀

    1. Ok per l’indentazione del codice; scusa, ma non sono troppo pratico, quindi spero di farlo correttamente da qui in avanti.
      Ho seguito la tua guida per installare i codec e non ho avuto errori di installazione. Per scrupolo, ho anche lanciato un sudo apt-get update visto che poco prima dell’installazione dei codec avevo fatto un aggiornamento di componenti base di Ubuntu suggerito dal gestore aggiornamenti, ma il mio risultato purtroppo è stato questo:

      mediacenter@mediacenter-ESPRIMO-P2560:~$ ffmpeg -version
      ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
        built on Nov  9 2013 19:09:46 with gcc 4.8.1
      *** THIS PROGRAM IS DEPRECATED ***
      This program is only provided for compatibility and will be removed in a future release. Please use avconv    instead.
      ffmpeg 0.8.9-6:0.8.9-0ubuntu0.13.10.1
      libavutil    51. 22. 1 / 51. 22. 1
      libavcodec   53. 35. 0 / 53. 35. 0
      libavformat  53. 21. 1 / 53. 21. 1
      libavdevice  53.  2. 0 / 53.  2. 0
      libavfilter   2. 15. 0 /  2. 15. 0
      libswscale    2.  1. 0 /  2.  1. 0
      libpostproc  52.  0. 0 / 52.  0. 0
      mediacenter@mediacenter-ESPRIMO-P2560:~$ ffmpeg -i "http://podcastmhp1cr-i.akamaihd.net/i/podcastmhp    /replaytv_world/raiyoyo_world/pomeriggio_world/2145810_,800,1800,.mp4.csmil    /index_1_av.m3u8?null=&id=" -qscale 0.00001 GRUFFALO.mp4
      ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
        built on Nov  9 2013 19:09:46 with gcc 4.8.1
      *** THIS PROGRAM IS DEPRECATED ***
      This program is only provided for compatibility and will be removed in a future release. Please use avconv     instead.
      [applehttp @ 0x1b5c7a0] max_analyze_duration reached
      [applehttp @ 0x1b5c7a0] Estimating duration from bitrate, this may be inaccurate
      Input #0, applehttp, from 'http://podcastmhp1cr-i.akamaihd.net/i/podcastmhp/replaytv_world/raiyoyo_world    /pomeriggio_world/2145810_,800,1800,.mp4.csmil/index_1_av.m3u8?null=&id=':
        Duration: 00:26:59.00, start: 10.101000, bitrate: N/A
          Stream #0.0: Video: h264 (Main), yuv420p, 1024x576 [PAR 1024:1024 DAR 16:9], 25 tbr, 90k tbn, 50 tbc
          Stream #0.1: Audio: aac, 48000 Hz, stereo, s16
          Stream #0.2: Data: [21][0][0][0] / 0x0015
      File 'GRUFFALO.mp4' already exists. Overwrite ? [y/N] y
      [buffer @ 0x1ff0100] w:1024 h:576 pixfmt:yuv420p
      [mpeg4 @ 0x1cda620] Invalid pixel aspect ratio 1024/1024, limit is 255/255
      Output #0, mp4, to 'GRUFFALO.mp4':
          Stream #0.0: Video: mpeg4, yuv420p, 1024x576 [PAR 1024:1024 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
          Stream #0.1: Audio: aac, 48000 Hz, stereo, s16, 200 kb/s
      Stream mapping:
        Stream #0.0 -> #0.0
        Stream #0.1 -> #0.1
      Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate,     width or height
      

      Per disperazione ho quindi provato ad aprire il link con Vlc e poiché si riusciva a vedere l’ho salvato con la procedura Converti/Salva di Vlc spuntando l’opzione “Dump raw input”.
      Ora riesco ad aprire il file tranquillamente con Vlc o Kaffeine indifferentemente, quindi al momento ho bypassato il problema, ma se tu riuscissi a capire che cosa c’è che non va in quello che ho fatto mi faresti un gran piacere; mi secca tanto non capire dove sbaglio o cosa non funziona.
      Di nuovo grazie e scusa per il disturbo.

  13. scusa, ma non sono troppo pratico, quindi spero di farlo correttamente da qui in avanti

    Non preoccuparti, l’hai fatto quasi perfetto. Mancava una riga bianca sopra e sotto al blocco. 😛 In effetti non è scontato ma le ultime versioni di WordPress consentono di scrivere i commenti in una versione leggermente estesa di Markdown e questo facilita molto la vita di chi vuole intervenire nella discussione. 🙂

    A questo punto l’unica cosa che mi viene in mente di chiederti è verificare se hai attivato tutti i repository proposed, backports eccetera dalle sorgenti software. Però è strano! Usi Ubuntu a 32 bit o 64 bit? Prova anche a fare ffplay -i [URL] e vedere se te lo riproduce o no. 🙂

    Per disperazione ho quindi provato ad aprire il link con Vlc e poiché si riusciva a vedere l’ho salvato con la procedura Converti/Salva di Vlc spuntando l’opzione “Dump raw input”.

    Io quella non sono mai riuscito a farla funzionare, pensa te! 😀

    1. CIao!
      Ho controllato nelle sorgenti software e l’unica voce non spuntata era quella “saucy proposed”, quindi spuntata quella ho scaricato un po’ di aggiornamenti che prima non erano proposti, ma direi che non riguardavano codec, anche perchè sia prima che dopo gli aggiornamenti ho provato anche

      ffplay -i "http://podcastmhp2cr-i.akamaihd.net/i/podcastmhp/replaytv_world/raiyoyo_world/pomeriggio_world/2145810_,800,1800,.mp4.csmil/index_1_av.m3u8?null=&id=" -qscale 0.00001 GRUFFALO.mp4
      

      e ha riprodotto il video tranquillamente…
      Riprovando invece con ffmpeg -i ecc. ecc. continuo a ricevere l’errore di ieri…
      Ho Ubuntu in versione 64 bit.
      Sono contento di essere riuscito a scaricare il video con Vlc (e magari a darti uno spunto per tue eventuali prove con lo stesso programma…), ma a questo punto getto la spugna sul provare a capire perchè ho il problema con ffmpeg e non voglio farti perdere tempo.

      Grazie ancora per la disponibilità e buon proseguimento!
      A presto.

  14. a questo punto getto la spugna sul provare a capire perchè ho il problema con ffmpeg e non voglio farti perdere tempo

    È proprio strano perché abbiamo la stessa identica versione di tutto. 😯 Ti scrivo via email per discutere meglio il problema ed eventualmente se trovo una soluzione la scrivo anche sul blog per i futuri lettori. 😉 Nel frattempo, se vuoi (visto che hai anche Windows) puoi provare ffmpeg.exe e dovresti non avere problemi, funziona addirittura con Wine.

    1. Mmm… tu per caso riesci a visualizzarlo? Io no, e guardando nel codice della pagina l’unico video linkato sembra puntare a un file non valido. Se riesci a vederlo mi puoi dare qualche informazione sulla tua configurazione software?

  15. Sì in realtà io cercavo proprio di evitare quello… Anche perché il link videourl che hanno messo è un po’ strano, diverso dai soliti. Ad ogni modo c’è una simpatica sorpresa se lo scarichi con user-agent vuoto, ecco:

    wget -q -U "" "http://mediapolis.rai.it/relinker/relinkerServlet.mp4?cont=au0rdUD9jeceeqqEEqual&contenttype=wmv" -O - | strings
    

    L’output è:

    <ASX VERSION="3.0"><ENTRY><REF HREF="mms://wms1.rai.it/raicdn/junior/94808.wmv" /></ENTRY></ASX>
    

    Che puoi scaricare con mimms o mplayer senza problemi. Altre versioni non ne ho trovate.

  16. Devi usare uno user-agent vuoto, come ti dicevo poc’anzi. Comunque ti ho scritto nel commento il contenuto del file ASX dove compare la riga mms:// che puoi copiare e incollare. 😉

  17. Eh? 😯 L’ho appena provato di nuovo e funziona. Forse il tuo wget non ha molta simpatia per lo user-agent vuoto, prova a mettere tipo -U "a" e vedi se va…

  18. con

    wget -q -U "a" "http://mediapolis.rai.it/relinker/relinkerServlet.mp4?cont=au0rdUD9jeceeqqEEqual&amp;contenttype=wmv" -O - | strings
    

    mi da:

    [1] 16101
    -O: comando non trovato
    [1]+  Uscita 1                wget -q -U “a” “http://mediapolis.rai.it/relinker/relinkerServlet.mp4?cont=au0rdUD9jeceeqqEEqual
    
    1. Mmm sicuro di aver messo le virgolette giuste e non quelle “stupide” che WordPress mette qui nei commenti?

    1. Forse perché non hai corretto il trattino – che WordPress modifica nei commenti, trasformandolo in un trattino “tipografico”. C’è un motivo se ho postato il comando di wget in forma di codice sorgente, altrimenti la parte che determina l’output a video -O - non funziona. 🙂 Probabilmente ora nella tua home directory o nella cartella dove ti trovavi hai un file che si chiama “trattino” – il quale contiene il contenuto che wget ha scaricato. 😀

      In conclusione, o digiti il comando o ti conviene copiarlo dai miei commenti, che credo abbiano virgolette e trattini a posto. 😉

  19. A me quel link funziona esattamente nello stesso modo dell’altro. Controlla se per caso non stai facendo qualche errore nel comando. 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *