Uno strumento completamente open (è uno script in Python!) per scaricare filmati da Youtube e salvarli sul proprio disco in formato FLV; per completare il documento, alcuni consigli su come convertire questi file.
Argomenti novità
Soggiornare nel Salento!
Il Meteo

JapiMeteoVolete sapere com'è il tempo da noi? Usate il nostro servizio meteo!

Come salvare i file FLV

Tags/parole chiave: salvare file flvvideofilmati youtubeflv

I file FLV: Flash Video

I file con estensione FLV (Flash Video) sono quelli che è possibile visualizzare sul sito di YouTube; non sono utilizzabili con altri player (o lettori casalinghi di CD e DVD) se non sui PC per il tramite di un player software realizzato in Flash.

Ma qualcuno per lentezza della connessione, per esigenze di archiviazione o per voler rivedere i filmati sul proprio lettore casalingo, potrebbe aver bisogno di salvarli sul proprio PC e di convertirli in un altro formato come, ad esempio, MPEG: vediamo come eseguire l'operazione con il nostro Linux.

Salvare il filmato

Prima di tutto, desideriamo precisare che le informazioni fornite sono a solo scopo didattico; come evidenziato nei termini di utilizzo di YouTube, nessuno è autorizzato a scaricare i filmati pubblicati.
Partiamo, quindi, dal problema più complesso: salvare il filmato sul proprio disco. Trattandosi di un flusso di dati (altresì chiamato stream), non si potrebbe salvare. Al contrario è necessario un programma che, avviata l'esecuzione del video sul sito remoto, si occupi di accumulare, uno dietro l'altro, tutti i bytes di cui il video è fatto.

Esiste una estensione per Firefox che si occupa di far questo, ma utilizza un sito esterno che salva il filmato e lo scarica verso il vostro PC: al contrario, si vuole essere autonomi.

La solita ricerca su Google mi ha condotto ad un sito spagnolo dove si parla di uno scaricatore (downloader) realizzato in Python. Il vantaggio di questa soluzione è che, trattandosi di uno script si può facilmente leggere, comprenderne il significato e, quindi, effettuarne la conversione (il porting) su altri linguaggi. Pertanto, sulla pagina http://bitbucket.org/rg3/youtube-dl/wiki/Home di può scaricare lo script nella sua versione più recente, quella del 7 Marzo 2010 (almeno per il momento...).

Farlo funzionare con il nostro sistema

La prima cosa da fare è aggiornare il primo rigo con la posizione esatta dell'interprete Python sul sistema che noi usiamo. Per farlo, usiamo il semplice comando "whereis python" e sostituiamo -con un qualsiasi editor- la risposta ottenuta al primo rigo di youtube-dl che diventa: #!/usr/bin/python. Ora lo script è pronto per funzionare, a patto di renderlo eseguibile (chmod 755 youtube-dl) [Come segnalato da Zarro]!

Avviamo il download del video

Niente di più facile. Al prompt ($), senza essere amministratori, scriviamo:

$ ./youtube-dl http://www.youtube.com/watch?v=nome_video -o nome_video.flv

Ed il nostro video sarà scaricato e salvato in formato FLV.

Ed ora, convertiamolo!

Dopo qualche minuto -più o meno quanto dura il filmato- avremo il nostro bel video in formato Flash Video. Purtroppo, così com'è non si più vedere nel nostro amatissimo Xine o sul fido lettore DVD comprato al supermercato per 20 Euro! Quindi bisogna convertirlo in un formato più adatto allo scopo.

Per la conversione abbiamo utilizzato un ottimo software Open Source: ffmpeg. E' disponibile già compilato per diverse distribuzioni; per la nostra Slackware l'abbiamo scaricato da LinuxPackages.net.

Per la conversione, usare il seguente comando:

$ffmpeg -i Nome_Video.flv Nuovo_Video.mpg

E basta: dopo qualche secondo, dipendente dalla velocità del proprio PC, otterremo il bel video MPEG standard e visibile ovunque!

Aggiornamento: Risolviamo i problemi

Ma il comando usato per la conversione può non essere in grado di funzionare in presenza di frame-rate non standard.

Ad esempio, cercando di convertire un filmato in MPG (formato gradito al mio lettore casalingo di DVD), ho ottenuto il seguente errore: MPEG1/2 does not support 15/1 fps. In questo caso la trascodifica si interrompe, lasciandoci con un palmo di naso.

La soluzione al problema è semplice: forzare il frame rate originario di 15 frame al secondo a quello standard di 25 fps. Per far questo basta aggiungere l'opzione -r 25 al comando che, in questo caso diventa:

$ ffmpeg -i video_input.avi -r 25 video_out.mpg

I filmati codificati a 15 fps, secondo quanto ho potuto constatare, presentano, già in visualizzazione come FLV, un imperfetto sincronismo tra audio e video; la ricodifica a 25 fps crea un filmato perfettamente sincrono.

Alcuni miglioramenti

Spesso alcuni video, una volta convertiti, non hanno audio. Per risolvere il problema, è possibile usare ffmpeg con alcuni parametri aggiuntivi. Ad esempio:

$ ffmpeg -i input.flv -ab 56 -ar 22050 -b 500 -s 320x240 output.mpg

Dove:

  1. -ab è il bit-rate audio
  2. -ar è il sample rate dell'audio
  3. -b è il bit-rate del video
  4. -s la dimensione del video finale

La shell di Linux

Come avete visto, il tutto è stato eseguito da shell di comando. Sfatiamo subito un mito: Linux dà il suo massimo non sulla parte grafica, ma sulla parte testuale. Questo ci permette di sfruttare al massimo le potenzialità del sistema e riteniamo sia meno frustrante memorizzare due comandi al posto di una stupida sequela di click-qua e click-la per ottenere, poi, un semplice download/conversione di file!


Documento scritto e/o curato da Franco
Data pubblicazione: 05/05/2007 (16:50)
Ultimo aggiornamento: 02/12/2017 (09:18)


Condividi questo documento su Facebook...

 

I commenti a questo post

Lascia un commento o leggi quelli scritti dagli altri (4 follow-up).

Internet
Il menu del Post:
I più letti! novità
ContattaciPreferitiHome page RSS
Japigia di P.B. Arcano, Casarano (Lecce)
Realizzazione siti Internet, Portali, Grafica computerizzata.
E' vietato il plagio, anche parziale, dei contenuti del sito.
Per informazioni e suggerimenti: Contattateci!
Copyright by Japigia.com 2000/2012
Partita IVA 03471380752 - REA CCIAA Le/224124
*** Questo Sito Web NON utilizza Cookie ***
Japigia.com: Un sito Internet ogni giorno diverso!