2012-03-08 10 views
29

È possibile estrarre la trascrizione della didascalia chiusa dai video di Youtube?Come estrarre la trascrizione della didascalia chiusa dai video di YouTube?

Abbiamo oltre 200 webcast su youtube e ognuno dura almeno un'ora. Youtube ha sottotitolato per tutti i video ma sembra che gli utenti non abbiano modo di ottenerlo.

Ho provato l'URL in questo blog ma non funziona con i nostri video.

http://googlesystem.blogspot.com/2010/10/download-youtube-captions.html

Grazie

risposta

14

seguente documento dice solo il proprietario del canale può farlo tramite l'interfaccia youtube di serie: https://developers.google.com/youtube/2.0/developers_guide_protocol_captions?hl=en

correzione economico: È possibile fare clic sul " pulsante "trascrizione interattiva" e copia il contenuto in questo modo. Ovviamente si perdono i millisecondi in questo modo.

Risoluzione estremamente economica: Un account YouTube personale - in modo che più persone possano modificare e caricare file di didascalie.

soluzione Challenging: L'API di YouTube consente il download e l'upload di file di sottotitoli tramite HTTP ... Si può scrivere un'applicazione API di YouTube per fornire un'interfaccia utente del browser per il caricamento o il download per qualsiasi utente o gli utenti particolari.

Ecco un esempio di progetto per questo in Java http://apiblog.youtube.com/2011/01/youtube-captions-uploader-web-app.html

qui è molto semplice esempio di un caricamento di lavoro per tutti: http://yt-captions-uploader.appspot.com/

+4

Ogni collegamento in questa risposta non è aggiornato. YouTube API 2.0 è stato sostituito da [API 3.0] (https://developers.google.com/youtube/v3/docs/captions) e il download di sottotitoli sotto questa API [comporta "un costo di quota di circa 200 unità"] (https://developers.google.com/youtube/v3/docs/captions/download). Non riescono a menzionare come viene allocata questa quota ea chi, quindi questa soluzione non sarà utile alla maggior parte delle persone che vogliono solo scaricare le didascalie piuttosto che ammirare alcune API. – 7vujy0f0hy

+0

in qualche modo è possibile generare una trascrizione automatica tramite l'API di YouTube V3? – manish1706

1

È possibile scaricare i sottotitoli in streaming da YouTube con KeepSubsDownSub.

È possibile scegliere tra Trascrizione automatica o sottotitoli forniti dall'autore. Offre anche la possibilità di tradurre automaticamente i sottotitoli in inglese in altre lingue utilizzando Google Translate.

+1

Sembra che KeepSub non esista più. – Marcus

+2

DownSub (http://downsub.com/) è un'alternativa a KeepSubs. L'ho usato solo una volta (oggi) e sembra che abbia funzionato bene. –

+1

A partire dal 02-19-17 DownSub spinge il malware: scarica una versione compromessa del programma di installazione di Flash –

14

Ecco come ottenere la trascrizione di un video di YouTube (quando disponibile):

  • andare su YouTube e aprire il video della vostra scelta.
  • Fare clic sul pulsante "Altre azioni" (3 punti orizzontali) situato accanto al pulsante Condividi.
  • Fare clic su "transcript"

Anche se la sintassi può essere un po 'goffo questa è una soluzione abbastanza buona.

Fonte: http://ccm.net/faq/40644-youtube-how-to-get-the-transcript-of-a-video

3

(obbligatorio 'questo è probabilmente un youtube interna.interfaccia COM e potrebbe rompersi in qualsiasi momento ')

Invece di collegamento a un altro strumento che fa questo, ecco una risposta alla domanda di 'come fare questo'

ho usato fiddler per ispezionare la youtube.com Traffico HTTP e c'è una risposta da /api/timedtext che contiene le informazioni sulla didascalia chiusa come XML.

Sembra che una risposta simile:

<p t="0" d="5430" w="1"> 
     <s p="2" ac="136">we&#39;ve</s> 
     <s t="780" ac="252"> got</s> 
    </p> 
    <p t="2280" d="7170" w="1"> 
     <s ac="243">we&#39;re</s> 
     <s t="810" ac="233"> going</s> 
    </p> 

mezzi a tempo 0 è la parola we've e al tempo 0+780 è la parola got e al tempo 2280+810 è la parola going, ecc Questo tempo è in millisecondi quindi per il tempo 3090 vorresti aggiungere &t=3 all'URL.

è possibile utilizzare qualsiasi strumento per cucire insieme l'XML in qualcosa di leggibile, ma qui è il mio script Power BI Desktop di trovare parole come "privilegio":

let 
    Source = Xml.Tables(File.Contents("C:\Download\body.xml")), 
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Attribute:format", Int64.Type}}), 
    body = #"Changed Type"{0}[body], 
    p = body{0}[p], 
    #"Changed Type1" = Table.TransformColumnTypes(p,{{"Attribute:t", Int64.Type}, {"Attribute:d", Int64.Type}, {"Attribute:w", Int64.Type}, {"Attribute:a", Int64.Type}, {"Attribute:p", Int64.Type}}), 
    #"Expanded s" = Table.ExpandTableColumn(#"Changed Type1", "s", {"Attribute:ac", "Attribute:p", "Attribute:t", "Element:Text"}, {"s.Attribute:ac", "s.Attribute:p", "s.Attribute:t", "s.Element:Text"}), 
    #"Changed Type2" = Table.TransformColumnTypes(#"Expanded s",{{"s.Attribute:t", Int64.Type}}), 
    #"Removed Other Columns" = Table.SelectColumns(#"Changed Type2",{"s.Attribute:t", "s.Element:Text", "Attribute:t"}), 
    #"Replaced Value" = Table.ReplaceValue(#"Removed Other Columns",null,0,Replacer.ReplaceValue,{"s.Attribute:t"}), 
    #"Filtered Rows" = Table.SelectRows(#"Replaced Value", each [#"s.Element:Text"] <> null), 
    #"Added Custom" = Table.AddColumn(#"Filtered Rows", "Time", each [#"Attribute:t"] + [#"s.Attribute:t"]), 
    #"Filtered Rows1" = Table.SelectRows(#"Added Custom", each ([#"s.Element:Text"] = " privilege" or [#"s.Element:Text"] = " privileged" or [#"s.Element:Text"] = " privileges" or [#"s.Element:Text"] = "privilege" or [#"s.Element:Text"] = "privileges")) 
in 
    #"Filtered Rows1" 
10

È possibile visualizzare/copiare/scaricare un file xml timecoded di il file sottotitoli del youtube accedendo

http://video.google.com/timedtext?lang=[LANGUAGE]&v=[YOUTUBE VIDEO IDENTIFIER] 

Per esempio http://video.google.com/timedtext?lang=pt&v=WSVKbw7LC2w

NOTA: questo metodo non scaricare autogen didascalie chiuse, anche se si ottiene la lingua giusta (forse c'è un codice speciale per le lingue generate automaticamente).

+3

A partire da maggio 2017 questo non funziona più (suppongo che video.google.com non funzioni più per l'API di YouTube.) Qualsiasi altro strumento di Google per estrarre i sottotitoli? – OxC0FFEE

+1

Grazie per l'heads-up, MA ... devi avere imbattersi in qualche problema: questa soluzione funziona ancora, l'ho appena testata, potrebbe esserci qualche opzione di formattazione (lingua, forse?). Pubblica il link del video e controllerò direttamente. –

+0

Funziona per il tuo esempio @tonygil tuttavia non funziona per ... http://video.google.com/timedtext?lang=en&v=odPD-H0LMkc (https://youtu.be/odPD-H0LMkc) –

2

Scegliere Open Transcript dal menu a discesa ... a destra del voto su/giù e condividere collegamenti.

Si aprirà un div di scorrimento Transcript sul lato destro.

È quindi possibile utilizzare Copy. Si noti che non è possibile utilizzare Select All ma è necessario fare clic sulla riga superiore, quindi scorrere verso il basso utilizzando il pollice scorrevole, quindi fare clic con il tasto Maiusc sulla parte finale.

Nota che puoi anche cercare all'interno di questo testo usando la normale ricerca di pagine web.

Problemi correlati