Registrare i video di Rai Play usando Stacher

Da qualche giorno diversi utilizzatori del mio script per scaricare i video da Rai Play mi stanno segnalando che si riscontrano difficoltà nel salvare i video in formato MP4, in particolare in quanto compare un messaggio di errore.

A questo punto è necessaria una piccola parentesi tecnica per capire cosa sta succedendo: lo script funziona “scansionando” i possibili URL di file in formato MP4, quindi chiede al sito Rai quali sono le qualità disponibili (più o meno pesanti) e per ciascun file verifica che il video sia effettivamente scaricabile. Infine, propone all’utente una lista di URL.

Perciò lo script non effettua (né ha mai effettuato) alcun tipo di download. Si limita a mostrare un elenco di link, mentre è l’utente che deve scaricare il file che preferisce.

Data la natura di script che viene eseguito all’interno della pagina, tramite l’aiuto di una piccola estensione, esso si deve limitare ai file MP4. Sarebbe infatti molto complicato creare un programma che registra i flussi video in formato HLS, operazione che richiede il salvataggio di numerosi frammenti che poi vanno nuovamente assemblati.

Di fatto lo script sta funzionando in modo corretto: prova a vedere se ci sono i video in formato MP4 e propone all’utente quelli che si possono salvare. Il problema sorge quando non ci sono file MP4 scaricabili perché Rai li sta bloccando tutti.

Ed eccoci qua.

Serve un altro software per registrare i video

La scelta di usare il termine “registrare”, quando fino a oggi ho sempre parlato di scaricare, non è casuale. Come accennato, i video su Rai Play non sono disponibili solo in formato MP4 ma ci sono anche dei flussi (separati per audio e video) in HLS, che si riconoscono dalla tipica estensione M3U8.

I primi si scaricano, i secondi si devono registrare e questo esula dal mio script. Bisogna usare un programma che registri sia il flusso video che quello audio e poi li unisca insieme per generare un file MP4 o MKV che prima non esisteva.

Per farlo da riga di comando si può usare yt-dlp, che è un fork (versione derivata) di youtube-dl. In questo post vorrei però suggerire l’uso di Stacher, una interfaccia grafica che semplifica l’uso di questi strumenti.

Ci sono tre passaggi che devono essere svolti:

  1. Installare Stacher e lo strumento ffmpeg
  2. Configurare il software
  3. Avviare la registrazione

I primi due passaggi devono essere svolti soltanto una volta, il terzo invece andrà ripetuto sempre.

Aggiornamento del 13 marzo 2024: grazie alla nuova versione del programma yt-dlp, gran parte di questa guida è ora “superflua”. Se volete solo il video in qualità massima installate Stacher e ffmpeg, poi saltate la parte di configurazione e andate direttamente in fondo alla fase di registrazione scegliendo la qualità “bestvideo+bestaudio”.

Sui pochissimi video in cui non dovesse funzionare quella voce, optate per la qualità “best” (funziona solo su programmi in cui non c’è la traccia audio a parte).

Lascio la versione precedente della guida per chi desidera scegliere la dimensione del video o il contenitore di uscita (MP4 / MKV).

Installare il necessario

Potete scaricare Stacher dal sito ufficiale cliccando qui. Il software è disponibile per macOS, Windows e Linux (DEB).

Dopo averlo installato, al primo avvio vi dovrebbe chiedere di scaricare youtube-dl (che in realtà sarà yt-dlp). Accettate e lasciate che proceda.

A questo punto è importantissimo scaricare e scompattare una versione specifica di ffmpeg nella cartella del programma. Ciò si può vedere anche cliccando sul menù Something not working? all’ultima voce, che tratta i problemi audio.

Cliccandoci sopra si aprirà questa pagina web con le istruzioni. A questo punto è importante fare una distinzione in base al sistema operativo usato.

Nota bene: saltando questo passaggio è quasi certo che verranno scaricati video senza audio, o si riscontreranno altri problemi.

FFmpeg su Windows

Il progetto yt-dlp fornisce delle versioni già compilate specifiche per Windows, pertanto si può consultare la pagina dei rilasci per vedere che ci sono diversi file ZIP.

Le versioni vengono rilasciate in automatico ogni giorno e purtroppo mi sono reso conto che quelle di alcune date non funzionano. Quando ho pubblicato l’articolo le ultime fornite erano versioni perfettamente funzionanti, ma non tutte sono ancora disponibili.

Vi invito caldamente a usare la versione del 14/02/2024. Essa attualmente non è più disponibile online, quindi ho ricaricato l’archivio sul mio account GitHub per preservarlo. Metto il link diretto allo ZIP su questo pulsante:

Poi è necessario importarlo usando la comodissima voce presente al menù Tools > Import FFmpeg *.zip file. Non bisogna fare altro.

FFmpeg su Linux e macOS

Su queste piattaforme lo strumento va installato con gli appositi gestori di pacchetti. Nel caso di macOS in particolare va usato Homebrew (potete fare riferimento al link indicato in precedenza).

Questo però non basta. Infatti sul sito Rai emerge un piccolo problema di comunicazione tra yt-dlp e ffmpeg che può far fallire la fusione delle tracce audio, nella fase di Postprocessing.

Per questo motivo ho preparato per voi tre script specifici che “mascherano” ffmpeg e correggono i parametri da passare al programma “vero”. Procedete così:

  1. Scaricate l’archivio GZIP con i tre script
  2. Estraetelo in una cartella a piacere
  3. Aprite Stacher e andate su Tools > Open Stacher Home Folder
  4. Copiate i tre file all’interno della cartella appena aperta
I tre file copiati all’interno della cartella di Stacher

In seguito la posizione corretta di ffmpeg dovrà essere configurata nelle impostazioni di Stacher.

Configurare il software

Purtroppo anche Stacher, tramite i suoi strumenti, va in confusione in quanto rileva la presenza di file MP4 ma non riesce a scaricarli. Dobbiamo pertanto “insegnare” al programma quali sono i flussi che deve registrare.

Aprite il menù Stacher > Settings > Advanced. Premete il pulsante per confermare che siete sicuri di ciò che state facendo. 🙂

Scorrete fino a trovare la voce Always run with these arguments, sbloccatela tramite il lucchetto a fianco e incollate la seguente stringa nella casella di testo:

--audio-multistreams,,-S,,protocol:m3u8,width,,--remux-video,,mp4

Vi ricordo che per incollare basta premere Ctrl+V, o Cmd+V su macOS.

Ora passate all’opzione seguente, vale a dire Custom Format. Dopo averla sbloccata, incollate questa stringa consigliata:

(Rai Lazza/bestvideo[width<=9999])+mergeall[format_id*=hls-aac]/best[width<=9999]

Se invece volete soltanto la lingua italiana, senza altre lingue né l’audiodescrizione, potete provare con un’alternativa (ma non garantisco):

(Rai Lazza/bestvideo[width<=9999])+hls-aac-Italiano/best[width<=9999]

Se usate Linux oppure macOS, dovrete anche tornare su alla voce ffmpeg location e selezionare la cartella dove avete copiato i tre file essenziali per registrare correttamente, cioè .stacher nella vostra home.

Vi ricordo che si tratta di una cartella nascosta, quindi potrebbe essere necessario attivare l’opzione per vedere i file nascosti. Generalmente va premuto Ctrl+H sui sistemi Linux e Shift+Cmd+. su macOS, ma verificate voi in base alla configurazione e versione del vostro sistema operativo.

Ora potete chiudere le impostazioni.

Le opzioni che abbiamo scelto servono a selezionare le qualità migliori tra i flussi video, inoltre istruiscono il programma per specificare che vogliamo unire anche eventuali flussi audio separati.

Questo comprende anche l’audiodescrizione o la lingua originale, se presente.

Se vi state chiedendo il perché della stringa Rai Lazza, in realtà non serve a niente, salvo a farvi riconoscere qual è l’opzione giusta al momento di far partire la registrazione. 😉

Avviare la registrazione del video

Nel momento in cui volete registrare una puntata da Rai Play, copiate l’URL della pagina del sito e incollatela nella barra di Stacher. Prima di tutto, assicuratevi di selezionare la qualità corretta del video, cliccando sul menù del formato.

Dovreste riconoscerla in modo abbastanza semplice dal nome “Rai Lazza”:

Lista dei formati disponibili nell’interfaccia di Stacher

Una volta selezionato il formato corretto, cliccate l’icona a forma di freccia verso il basso e attendete che il download venga completato. Per impostazione predefinita i video vengono collocati nella cartella Download, ma potete scegliere la posizione che preferite.

Il risultato sarà un file MP4 con le tracce unite, a meno che non decidiate di cambiare formato come descritto in fondo all’articolo.

Chi vuole sul serio qualcosa trova una strada, gli altri una scusa.

Proverbio di origine africana

Ovviamente questo è un metodo possibile, ce ne sono anche altri che consentono di scegliere quali tracce audio si desidera salvare, eccetera. Ma per iniziare dovrebbe essere sufficiente.

Se i file MP4 continueranno a essere in gran parte bloccati, il mio script per il browser avrà sempre meno senso di esistere. Chi lo sa, dopo tanti anni potrebbe andare finalmente in pensione!


Domande frequenti

Dopo aver ricevuto numerosi commenti al post, aggiungo una sezione relativa alle principali domande che sono state pubblicate dai lettori.

Perché su Windows il programma scarica tre file separati con video e tracce audio ma non li unisce?

Per un caso malauguratissimo, quando ho scritto l’articolo l’ultima versione del programma ffmpeg era perfettamente funzionante, ma alcune versioni rilasciate nei giorni successivi invece davano problemi. Chi ha seguito la mia guida nei primi tempi dopo la pubblicazione potrebbe aver riscontrato questo errore.

Perché su Linux e macOS il programma scarica tre file separati con video e tracce audio ma non li unisce?

Questo si verifica per un problema che dipende da come il software interagisce con ffmpeg. L’articolo è stato aggiornato fornendo degli script che aggirano il problema.

Come fare a ottenere un video in “formato” MKV?

In realtà MKV è un contenitore video, così come MP4. Il formato della traccia video sul sito Rai rimane comunque H264. Detto ciò, per cambiare il contenitore è sufficiente cambiare il parametro relativo al remuxing, per esempio così:

--audio-multistreams,,-S,,protocol:m3u8,width,,--remux-video,,mkv

In sostanza dovete solo modificare la parte finale da mp4 a mkv.

I video sono in alta qualità, come si può registrare in bassa qualità?

Questa è forse la domanda più strana e inaspettata che potessi ricevere. Di solito le lamentele arrivano se un video si vede male, non se si vede bene. 🙂 In ogni caso, nella stringa consigliata ho incluso un filtro sulla larghezza (in pixel) del flusso video.

Potete notare che ci sono dei pezzi relativi al valore 9999:

best[width<=9999]

Questa stringa si ripete più volte. Per ottenere una qualità inferiore vi basterà rimpiazzare il valore 9999 con la larghezza massima che volete ottenere. Vi ricordo che molti video sul sito Rai sono disponibili in 1920×1080, 1440×810, 1280×720, 1024×568.

Dunque potreste scegliere di cambiare la stringa così:

(Rai Lazza/bestvideo[width<=1280])+mergeall[format_id*=hls-aac]/best[width<=1280]

Tuttavia dovete fare attenzione: non tutti i video sono disponibili in tutte le risoluzioni, perciò il valore indica solo un limite massimo. Potreste ottenere una qualità molto inferiore rispetto a quella che avete richiesto.

Perché si ottiene l’errore 403: Forbidden?

Generalmente i casi sono due: o vi trovate all’estero e la Rai vi sta bloccando, oppure non avete configurato il software come scritto nella guida.

Come si possono salvare i sottotitoli?

Conviene usare l’apposita opzione presente in Stacher, come ha consigliato l’utente Yupi in un suo commento.

Stacher registra solo da Rai Play o funziona anche con altri siti web?

Il software che si occupa di registrare i video è yt-dlp, il quale supporta centinaia di siti web. Tuttavia questo articolo è specifico per Rai Play e di conseguenza anche i parametri che vi ho consigliato.

Gli altri siti dovrebbero funzionare ma non escludo che i parametri che vi ho fatto impostare possano causare qualche “pasticcio”. Siamo comunque fuori tema rispetto a questo post. 😉


Aggiornamento del 12/02/2024: i parametri da inserire sono stati modificati per tenere conto di alcuni video con qualità “strane”, che altrimenti sarebbero sfuggite.

Aggiornamento del 25/02/2024: è stato aggiunto un metodo per risolvere i problemi di registrazione di alcuni video su Linux e macOS. Ho inserito anche una sezione di domande frequenti.

Aggiornamento del 27/02/2024: ora viene indicata una specifica versione di ffmpeg per Windows, per assicurarsi che chiunque segua la guida usi la stessa build.

Aggiornamento del 13/03/2024: grazie alla nuova versione del programma yt-dlp, alcune parti di questa guida sono ora superflue. Ho aggiunto una nota che spiega che gli utenti senza necessità particolari possono limitarsi a usare “bestvideo+bestaudio”.

392 pensieri riguardo “Registrare i video di Rai Play usando Stacher

  1. Ha funzionato tutto a meraviglia in questi mesi, improvvisamente da ieri ha cominciato a scaricare con audio fuori sincrono. Non ne capisco il motivo perchè i file ffmpeg sono sempre gli stessi e non sono stati toccati. Ho notato che si è aggiornato automaticamente youtube-dl, non so se sia parte del problema.

  2. Buongiorno Lazza, grazie per il tuo articolo e per le spiegazioni su Stacher.
    Ho trovato molto interessante la funzione “prompt”, in modo di poter scegliere di volta in volta che tipo di risoluzione video scaricare, audio, etc.
    Mi domandavo, pero’, come si potesse fare, tramite quella funzione, a scaricare un video assieme al doppio audio… riesco, infatti, a selezionare solo uno stream audio per volta.
    Quel che mi piacerebbe ottenere e’ un file video con la risoluzione scelta, doppio audio e sottotitoli (questi sono riuscito a scaricarli con file separato senza problemi, e potrebbero andar tranquillamente bene cosi’).
    Grazie infinite per l’eventuale consiglio.

    1. Ti ringrazio. Quindi l’unico modo per scaricare un video col doppio audio tramite stacher e’ utilizzare le stringhe che hai indicato tu, da aggiungere alle impostazioni nella sezione “advanced”? E se volessi un video in HD (720p) dovrei inserire 1280 al posto di 9999, giusto?
      Grazie ancora di tutto.

    2. In linea di massima sì, tieni conto che il valore che tu inserisci è un limite sulla larghezza (ma puoi anche cambiare e inserirlo sull’altezza se ti trovi meglio), poi dipende da quali video sono presenti. Se un video non c’è a 1280×720, ti ritroverai con quello inferiore.

  3. salve, non riesco a vedere nulla riguardo i programmi degli europei di calcio: no partite, no talk-comments ecc. NON dico scaricare ma nemmeno vedere! Risulta anche a voi?

    1. Normalmente dovresti vederli, dato che sono protetti credo dipenda dal tuo browser che non è abilitato a vedere contenuti protetti, per fare una prova, cambia browser e vedi se hai lo stesso problema.

  4. Prima era tutto più semplice e intuitivo. Adesso è complesso tra rettifiche, aggiunte, consigli sovrapponibili. L’esperienza della “registrazione” è solo per superesperti che interpretano fra le righe delle spiegazioni. Dopo vari tentativi, tutto appare difficile fin dal download dei file. Scarichi cartelle di programmi che poi non sai installare. Le restrizioni, i diritti, i paletti, gli artifici, i tecnicismi rendono l’uomo schiavo e suddito. Registrare i video di Rai Play, come suggerisce il titolo, in meno di tre passaggi è una chimera ormai: questo è l’ideale. Ci vogliono invece 199 parametri per appropriarsi di un video di un minuto. Ci vuole qualcosa dove si inserisce l’url e poi in automatico si scarica il video. Non si può fare? Ok. Lasciamo perdere. Ringrazio tutti per gli sforzi compiuti per rendere comprensibile il testo. Non è così, ahimè. Grazie lo stesso.

    1. Non si scoraggi!

      Windows:

      Stacher:

      https://stacher.io/

      Stacher si installa in:

      C:\Users\Walter.stacher
      C:\Users\Walter\AppData\Local\Stacher
      C:\Users\Walter\AppData\Local\SquirrelTemp
      C:\Users\Walter\AppData\Roaming\Stacher

      Sostituire a Walter il nome utente.
      La cartella AppData è nascosta,deve essere resa visibile da opzioni cartella.
      La disinstallazione di stacher da pannello di controllo lascia delle tracce,occorre procedere
      manualmente:i percorsi sono indicati sopra.
      Se ci sono dei problemi di funzionamento di Stacher si può disinstallare e reinstallare.

      Ffmpeg:

      https://github.com/Lazza/ffmpeg-wrapper-scripts/releases/download/1.0.0/ffmpeg-N-113645-g1e7d2007c3-win64-gpl.zip

      Poi è necessario importarlo usando la comodissima voce presente al menù Tools > Import FFmpeg *.zip file.

      Configurazione consigliata:(seguire le istruzioni on line)

      –audio-multistreams,,-S,,protocol:m3u8,width,,–remux-video,,mp4

      (Rai Lazza/bestvideo[width<=9999])+mergeall[format_id*=hls-aac]/best[width<=9999]

      Rai Lazza funziona perfettamente:provi a scaricare
      https://www.raiplay.it/video/2024/07/Departure-III-ep4-1ddfaf94-70ea-46bc-b5bf-ec61c453544f.html

      Se Stacher non dovesse funzionare sono stati commessi errori di configurazione.
      Fare attenzione alle operazioni di copia e incolla delle
      stringhe consigliate.

  5. Cari stacheristi, il 18 luglio 2024 (ossia pochi giorni fa) tutto funzionava. Da ieri (20/7) la stringa si posiziona su PENDING e non funziona nulla. Prima, se c’erano problemi, dava ERROR ma ora tutto tace, e a voi?

  6. Davvero ottimo programma, lo sto usando da un paio di giorni,solo che unendo il file video con il file audio con avidemux. mi viene l’audio in ritardo e di molto rispetto al labiale…Come posso fare ?
    Grazie mille da Rita

Lascia un commento

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