Ricerca tra la vecchia roba

Scaricare sottotitoli da youtube

Posted: Marzo 8th, 2010 | Author: | Filed under: google, Hack, Video | 12 Comments »

Non so se ve ne siete accorti, ma adesso youtube mette a disposizione anche alcuni video con sottotitoli annessi, sottotitoli che non sono "hardcodati" dentro il video, ma vengono aggiunti "sopra" il video dal player; per curiosità ho cercato se era possibile estrarli ed ho scoperto che sì, è possibile.

Un video su youtube è identificato da una certa sequenza di caratteri e numeri, passati alla variabile GET identificata con v (per capirci http://www.youtube.com/watch?v=jHoxZF3ZgTo ha jHoxZF3ZgTo come identificativo del video); una volta che si è a conoscenza dell’identificativo del video che ci interessa, chiamiamolo per semplicità $id, possiamo sapere quali sottotitoli sono disponibili per esso tramite la comoda URL

 http://video.google.com/timedtext?v=$id&type=list

Essa restituirà una pagina XML contenente la descrizione dei sottotitoli available, come per esempio

<transcript_list docid="-8324286654099914438">
  <track id="0" name="English" lang_code="en" lang_original="English" lang_translated="English" lang_default="true"/>
  <track id="2" name="French" lang_code="fr" lang_original="Français" lang_translated="French"/>
  <track id="3" name="Polish" lang_code="pl" lang_original="Polski" lang_translated="Polish"/>
  <track id="1" name="Spanish" lang_code="es" lang_original="Español" lang_translated="Spanish"/>
</transcript_list>

a questo punto si sceglie il name che più ci aggrada e lo si può scaricare in formato XML con questa URL

 http://video.google.com/timedtext?lang=$lang_code&v=jHoxZF3ZgTo&name=$name

dove bisogna sostituire opportunamente le $variabili  con i valori ottenuti dalla URL precedente. Attenzione che il formato non è direttamente usabile da un lettore, bisognerebbe trasformarlo in .srt (formato standard dei sottotitoli) e penso bastino poche righe di sed che se qualcunon avesse voglia di scrivere nei commenti, lo lascio come esercizio al lettore che ormai è tardi (per citare Vasco Rossi) altrimenti vi è un programma chiamato google2RST che può scaricare per voi e convertire i sottotitoli ma è un programma Java e secondo me è da folli quando basterebbe la shell. Good Hacking…


12 Comments on “Scaricare sottotitoli da youtube”

  1. 1 Night said at 3:18 pm on Maggio 2nd, 2010:

    Ciao! Grazie per la guida ma non riesco ad usarla. Posso chiedere qualche delucidazione? Le $variabili che vanno sostituite sono solo 2 giusto? Sono solo Lang_code e name? Per fare una prova stavo provando a scaricare i sottotitoli di questo filmato:
    http://www.youtube.com/watch?v=DN1FAarpJc8
    Sono arrivato a questo URL:
    http://video.google.com/…1FAarpJc8&type=list
    e poi a quest’ultimo:
    http://video.google.com/…o&name=IT_Subtitles
    che però non mi visualizza i sottotitoli….dove sbaglio? Grazie.

  2. 2 packz said at 4:12 pm on Maggio 2nd, 2010:

    nell’ultimo per sbaglio hai messo l’id del video uguale a quello del mio post; l’URL corretto è

    http://video.google.com/…T_Subtitles&lang=it

  3. 3 Night said at 4:50 pm on Maggio 2nd, 2010:

    Caspita! Hai ragione! Scusami! Che svista madornale! Sono quindi riuscito a scaricare il file xml però ora sto provando ad usare google2RST ma senza successo…mi sarei aspettato di trovare un file setup nell’archivio .zip che ho scaricato e invece ci sono un botto di file…tra i quali non trovo nessun file su cui fare un tradizionale doppio click. Posso chiederti ancora qualche suggerimento a riguardo?

  4. 4 packz said at 8:06 pm on Maggio 2nd, 2010:

    esistono due file dentro l’archivio, uno è run.sh e l’altro run.bat; il primo serve sui sistemi unix mentre l’altro per quelli winzoz, comunque il vero programma è GoogleSRT.jar che è da eseguire usando l’interprete Java.

    Nota: per usare il run.sh devi renderlo eseguibile (chmod +x da terminale oppure da file manager clicchi con il destro e vai sulla voce “proprietà” del menù contestuale e cerchi una voce adeguata).

  5. 5 Night said at 9:28 pm on Maggio 2nd, 2010:

    Grazie per la spiegazione. Io uso ancroa windows, purtroppo…., e quindi il doppio click sul file .jar è andato bene e sono risucito a concludere. GRASSIE MILLE!! Ho invece problemi con un altro filmato:
    http://www.youtube.com/watch?v=yhc5kUBDypU
    Da cui passo al seguente URL:
    http://video.google.com/…c5kUBDypU&type=list
    che come mi aspetto mi dice che c’è un sottotitolo in italiano però per passare allo step successivo dovrei avere due dati: il lang_code (che qui c’è) e il name, che invece non c’è! Infatti scrivendo l’ultimo URL indicato nella tua guida mi viene fuori questo:
    http://video.google.com/…5kUBDypU&name=$name

    Cosa si può fare?

  6. 6 packz said at 9:48 pm on Maggio 2nd, 2010:

    non è che non c’è, semplicemente è la stringa vuota: l’URL giusto è

    http://video.google.com/…v=yhc5kUBDypU&name=

  7. 7 Night said at 2:29 am on Maggio 3rd, 2010:

    Ahhhh, ho capito. Grazie mille per le info.

  8. 8 blucontractor said at 11:28 am on Maggio 26th, 2010:

    Ciao,seguita la tua procedura ma mi scrive:

    “Impossibile visualizzare la pagina XML
    Impossibile visualizzare l’input XML tramite il foglio di stile . Correggere l’errore, quindi fare clic su Aggiorna, oppure riprovare in un momento successivo.

    ——————————————————————————–

    Per il documento XML è necessario specificare un elemento di primo livello. Errore durante l’elaborazione della risorsa “ht…”

    Ando’ sbajo ???

  9. 9 blucontractor said at 11:56 am on Maggio 26th, 2010:

    Come non detto ,ho risolto,usato Google srt ed ora ho il mio file “output.srt”,come lo faccio diventare parte del filmato scaricato da youtube?

    Ciauz

  10. 10 packz said at 12:43 pm on Maggio 26th, 2010:

    se per “far parte” intendi visualizzarli mentre vedi il filmato, devi trovare l’opzione per selezionare quel file per i sottotitoli nel tuo player.

    Se invece intendi che vuoi un nuovo filmato con i sottotitoli hardcodati, allora lì devi usare un programma tipo mencoder il quale utilizzo però è troppo articolato da poterterlo spiegare qui…

  11. 11 Tommaso said at 3:41 pm on Ottobre 10th, 2010:

    Ciao! Senti ho bisogno di scaricare i sottotitoli in italiano da questo video http://www.youtube.com/watch?v=IC8zH5dkslY

    seguendo i tuoi consigli sono arrivato fino a qui

    http://video.google.com/timedtext?v=IC8zH5dkslY&type=list

    ma cme vedi non c’è l’elenco dei sottotitoli..cosa devo fare?

    Grazie in anticipo e scusa pe ril disturbo!

  12. 12 packz said at 6:04 pm on Ottobre 10th, 2010:

    Non so perché su questo video la procedura non funziona, sugli altri continua a funzionare, forse dipende dal fatto che esistono solo i sottotitoli in italiano…