2012-03-08 140 views

回答

14

以下文檔說,只有通道的所有者可以通過標準的YouTube界面做到這一點: https://developers.google.com/youtube/2.0/developers_guide_protocol_captions?hl=en

便宜的解決辦法: 您可以點擊「交互式轉錄「按鈕 - 並以此方式複製內容。 當然,你會以這種方式失去毫秒。

非常便宜的修復程序: 共享的YouTube帳戶 - 以便多人可以編輯和上傳字幕文件。

挑戰的解決方案: YouTube的API允許下載,並通過HTTP ... 你可以寫一個YouTube API應用程序提供上載或下載任何用戶或特定用戶瀏覽器的用戶界面的字幕文件上傳。

這是在Java中的一個這樣的例子項目 http://apiblog.youtube.com/2011/01/youtube-captions-uploader-web-app.html

下面是爲大家的工作上傳的很簡單的例子: http://yt-captions-uploader.appspot.com/

+4

此答案中的每個鏈接都過時了。 YouTube API 2.0已被[API 3.0](https://developers.google.com/youtube/v3/docs/captions)取代,並且在此API下下載字幕[導致「約200單位的配額成本」]( https://developers.google.com/youtube/v3/docs/captions/download)。他們沒有提及這個配額是如何分配給誰的,所以這個解決方案對於大多數只想下載字幕而不是對某些API感興趣的人不會有用。 – 7vujy0f0hy 2017-03-29 01:44:27

+0

以某種方式可以通過Youtube V3 API生成自動轉錄腳本? – manish1706 2018-01-08 04:27:15

1

您可以從YouTube的KeepSubs下載流字幕DownSub

您可以從自動抄本或作者提供的隱藏式字幕中進行選擇。它還提供了使用Google翻譯自動將英文字幕翻譯成其他語言的可能性。

+1

看起來KeepSubs不再存在。 – Marcus 2016-07-04 17:42:36

+2

DownSub(http://downsub.com/)是KeepSubs的替代品。我只用了一次(今天),它似乎工作正常。 – 2016-08-02 21:16:34

+1

截至02-19-17 DownSub推送惡意軟件:它下載Flash安裝程序的黑客版本 – 2017-02-20 02:15:28

14

下面是如何獲得YouTube視頻的(如果有)的成績單:

  • 轉到YouTube和打開您所選擇的視頻。
  • 點擊位於「共享」按鈕旁邊的「更多操作」按鈕(3個水平點)。
  • 點擊「成績單」

雖然語法可能是一個小傻瓜,這是一個相當不錯的解決方案。

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

3

(強制性「這可能是一個內部的YouTube。COM接口,並且可能在任何時間「)

而不是鏈接到另一個工具,這是否打破,這裏是一個答案,‘如何做到這一點’

我用fiddler檢查問題的youtube.com HTTP流量,並且有一個來自/api/timedtext的響應,其中包含作爲XML的隱藏式字幕信息。

看來,這樣的迴應:

<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> 

意味着在時間0這個詞we've和時間0+780這個詞got和時間2280+810這個詞going等,這一次是在毫秒,所以時間3090你想要追加&t=3的URL。

你可以使用任何工具拼接在一起的XML爲可讀,但這裏是我的Power BI Desktop腳本找到像「特權」的話:

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

您可以查看/複製/下載的timecoded xml文件一個YouTube的字幕文件,通過訪問

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

例如http://video.google.com/timedtext?lang=pt&v=WSVKbw7LC2w

注意:此方法不下載AUTOGEN即使你的語言是正確的(也許有自動生成的語言的特殊代碼)。

+3

截至2017年5月,這不再有效(我猜video.google.com不再適用於YouTube的API。任何其他谷歌工具提取字幕? – OxC0FFEE 2017-05-24 17:57:31

+1

感謝您的提升,但是...你必須有遇到一些問題或其他問題,這個解決方案仍然有效,只是測試它,它可能是一些格式化選項(語言,也許?)。張貼視頻鏈接,我會仔細檢查直接 – 2017-05-25 09:53:18

+0

它適用於你的例子@tonygil ;但不適用於... http://video.google.com/timedtext?lang=en&v=odPD-H0LMkc(https://youtu.be/odPD-H0LMkc) – 2017-10-20 08:41:44

2

...下拉菜單中選擇Open Transcript右上角的分享鏈接。

這將在右側打開一個Transcript滾動格。您可以使用Copy。請注意,您不能使用Select All,但需要單擊第一行,然後使用滾動條滾動到底部,然後在最後一行上按住Shift鍵單擊。

請注意,您也可以使用正常的網頁搜索在此文本中進行搜索。