代码总是返回isCC = false,即使视频与封闭的标题-应用程序脚本


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

谢谢。

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

我相信在播放器中,你看到的"CC"实际上是指字幕。字幕和字幕之间有一个重要的区别(见这里和这里)。

字幕(或英语字幕)通常只是逐字逐句把对话翻译成英语单词

CC通常还告诉观看者有关声音效果或背景的信息噪音。例如,如果你正在看一部有爆炸场面的电影,枪声或其他对情节很重要的声音,CC会通常显示宣布这些声音的文本

因此,我认为isCC只会是true,对于那些包含这种字幕的视频,这些字幕是为那些可能听不到视频中发生的事情的人准备的,而不是人们可以放在视频上的一般字幕。我认为在几乎所有情况下,只有YouTube上的高质量付费电影才会有这种字幕。在这个意义上,isCC属性按照它应该的方式工作。

我想问题可能出在你的语法上:

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

或者

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

我没有太多的youtube api的经验,但检查文档,我发现上面的代码。

最新更新