即使对于带有隐藏字幕的视频,代码始终返回isCC = false - Apps脚本

时间:2015-09-14 08:55:25

标签: youtube-api youtube-data-api

var caption = YouTube.Captions.list("snippet", "XPpsI8mWKmg")

https://www.youtube.com/watch?v=XPpsI8mWKmg

此视频包含隐藏字幕。但是,响应始终返回isCC = false。它也发生在更多视频中。谁能告诉我为什么?

https://developers.google.com/youtube/v3/docs/captions

这是回复:

    [15-09-14 10:46:33:634 BST] {
kind=youtube#captionListResponse,
tag="jOXstHOM20qemPbHbyzf7ztZ7rI/pWn9PuYA4wHTOuk7gWrw_wkqaMg", 
items=[{snippet={lastUpdated=2015-04-22T15:19:44.401Z, 
        trackKind=ASR, isAutoSynced=false, 
        audioTrackType=unknown,
        isDraft=false, name=, 
        isEasyReader=false, 
        isLarge=false, 
        videoId=XPpsI8mWKmg, 
        language=en, isCC=false, 
        status=serving}, 

kind=youtube#caption,                              
etag="jOXstHOM20qemPbHbyzf7ztZ7rI/5QI7PZUUbbATmyKtvzGqv9-ylR0",          
id=5dp7OTjMUTyH2tf_kEhELNI2X9MpCov20brI5R-kAw4=}, 
    {snippet={
        lastUpdated=2015-04-22T15:12:54.185Z, 
        trackKind=standard, 
        isAutoSynced=false, 
        audioTrackType=unknown, 
        isDraft=false, 
        name=, 
        isEasyReader=false, 
        isLarge=false, 
        videoId=XPpsI8mWKmg, 
        language=en, 
        isCC=false, 
        status=serving}, 
kind=youtube#caption, 
etag="jOXstHOM20qemPbHbyzf7ztZ7rI/6A1s7QwGUJ_Jp39d-tidbyPR6t4", 
id=Q-Rh5crBiivJBgQyElc_gzhB8eK8y0V4}]}

谢谢。

2 个答案:

答案 0 :(得分:1)

我尝试为自己的视频设置隐藏式字幕,并得到相同的结果。

我相信在播放器中,你看到的“CC”实际上指的是字幕。字幕和隐藏式字幕之间存在重要区别(请参阅herehere)。

  

字幕(或英文字幕)通常只是逐字逐句   将对话翻译成英文单词。

...

  

CC通常也会告诉观众有关音效或背景的信息   噪音。例如,如果您正在观看爆炸的电影,   对于情节很重要的枪声或其他声音,CC会   通常会显示宣布此类声音的文字

因此,我认为isCC对于包含此类字幕的视频只会true,这些字幕适用于那些可能无法听到视频中发生的事情的人,而不仅仅是一般字幕人们可以发布他们的视频。我认为在几乎所有情况下,只有YouTube上的高质量付费电影才会有这些字幕。从这个意义上讲,isCC属性的工作方式与它应该的方式相同。

答案 1 :(得分:0)

我认为问题可能在于您的语法:

var caption = youtube.captions().list("snippet", "XPpsI8mWKmg").execute();

或者

var caption = youtube.Captions.list("snippet", "XPpsI8mWKmg").execute();

我对youtube api没有太多经验,但查看documentation我找到了上面的代码。