Scaricare sottotitoli da youtube
Posted: Marzo 8th, 2010 | Author: packz | 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…
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.
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
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?
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).
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?
non è che non c’è, semplicemente è la stringa vuota: l’URL giusto è
http://video.google.com/…v=yhc5kUBDypU&name=
Ahhhh, ho capito. Grazie mille per le info.
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 ???
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
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…
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!
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…