video 资源表示 YouTube 视频。
方法
该 API 支持以下 videos 资源方法:
资源表示法
以下 JSON 结构显示了 videos 资源的格式:
{
"kind": "youtube#video",
"etag": etag,
"id": string,
"snippet": {
"publishedAt": datetime,
"channelId": string,
"title": string,
"description": string,
"thumbnails": {
(key): {
"url": string,
"width": unsigned integer,
"height": unsigned integer
}
},
"channelTitle": string,
"tags": [
string
],
"categoryId": string,
"liveBroadcastContent": string,
"defaultLanguage": string,
"localized": {
"title": string,
"description": string
},
"defaultAudioLanguage": string
},
"contentDetails": {
"duration": string,
"dimension": string,
"definition": string,
"caption": string,
"licensedContent": boolean,
"regionRestriction": {
"allowed": [
string
],
"blocked": [
string
]
},
"contentRating": {
"acbRating": string,
"agcomRating": string,
"anatelRating": string,
"bbfcRating": string,
"bfvcRating": string,
"bmukkRating": string,
"catvRating": string,
"catvfrRating": string,
"cbfcRating": string,
"cccRating": string,
"cceRating": string,
"chfilmRating": string,
"chvrsRating": string,
"cicfRating": string,
"cnaRating": string,
"cncRating": string,
"csaRating": string,
"cscfRating": string,
"czfilmRating": string,
"djctqRating": string,
"djctqRatingReasons": [,
string
],
"ecbmctRating": string,
"eefilmRating": string,
"egfilmRating": string,
"eirinRating": string,
"fcbmRating": string,
"fcoRating": string,
"fmocRating": string,
"fpbRating": string,
"fpbRatingReasons": [,
string
],
"fskRating": string,
"grfilmRating": string,
"icaaRating": string,
"ifcoRating": string,
"ilfilmRating": string,
"incaaRating": string,
"kfcbRating": string,
"kijkwijzerRating": string,
"kmrbRating": string,
"lsfRating": string,
"mccaaRating": string,
"mccypRating": string,
"mcstRating": string,
"mdaRating": string,
"medietilsynetRating": string,
"mekuRating": string,
"mibacRating": string,
"mocRating": string,
"moctwRating": string,
"mpaaRating": string,
"mpaatRating": string,
"mtrcbRating": string,
"nbcRating": string,
"nbcplRating": string,
"nfrcRating": string,
"nfvcbRating": string,
"nkclvRating": string,
"oflcRating": string,
"pefilmRating": string,
"rcnofRating": string,
"resorteviolenciaRating": string,
"rtcRating": string,
"rteRating": string,
"russiaRating": string,
"skfilmRating": string,
"smaisRating": string,
"smsaRating": string,
"tvpgRating": string,
"ytRating": string
},
"projection": string,
"hasCustomThumbnail": boolean
},
"status": {
"uploadStatus": string,
"failureReason": string,
"rejectionReason": string,
"privacyStatus": string,
"publishAt": datetime,
"license": string,
"embeddable": boolean,
"publicStatsViewable": boolean,
"madeForKids": boolean,
"selfDeclaredMadeForKids": boolean,
"containsSyntheticMedia": boolean
},
"statistics": {
"viewCount": string,
"likeCount": string,
"dislikeCount": string,
"favoriteCount": string,
"commentCount": string
},
"paidProductPlacementDetails": {
"hasPaidProductPlacement": boolean
},
"player": {
"embedHtml": string,
"embedHeight": long,
"embedWidth": long
},
"topicDetails": {
"topicIds": [
string
],
"relevantTopicIds": [
string
],
"topicCategories": [
string
]
},
"recordingDetails": {
"recordingDate": datetime
},
"fileDetails": {
"fileName": string,
"fileSize": unsigned long,
"fileType": string,
"container": string,
"videoStreams": [
{
"widthPixels": unsigned integer,
"heightPixels": unsigned integer,
"frameRateFps": double,
"aspectRatio": double,
"codec": string,
"bitrateBps": unsigned long,
"rotation": string,
"vendor": string
}
],
"audioStreams": [
{
"channelCount": unsigned integer,
"codec": string,
"bitrateBps": unsigned long,
"vendor": string
}
],
"durationMs": unsigned long,
"bitrateBps": unsigned long,
"creationTime": string
},
"processingDetails": {
"processingStatus": string,
"processingProgress": {
"partsTotal": unsigned long,
"partsProcessed": unsigned long,
"timeLeftMs": unsigned long
},
"processingFailureReason": string,
"fileDetailsAvailability": string,
"processingIssuesAvailability": string,
"tagSuggestionsAvailability": string,
"editorSuggestionsAvailability": string,
"thumbnailsAvailability": string
},
"suggestions": {
"processingErrors": [
string
],
"processingWarnings": [
string
],
"processingHints": [
string
],
"tagSuggestions": [
{
"tag": string,
"categoryRestricts": [
string
]
}
],
"editorSuggestions": [
string
]
},
"liveStreamingDetails": {
"actualStartTime": datetime,
"actualEndTime": datetime,
"scheduledStartTime": datetime,
"scheduledEndTime": datetime,
"concurrentViewers": unsigned long,
"activeLiveChatId": string
},
"brandPartner": {
"channelId": string,
"channelHandle": string
},
"localizations": {
(key): {
"title": string,
"description": string
}
}
}属性
下表定义了此资源中显示的属性:
| 属性 | |
|---|---|
kind |
string标识 API 资源的类型。该值将为 youtube#video。 |
etag |
etag此资源的 ETag。 |
id |
stringYouTube 用于唯一标识视频的 ID。 |
snippet |
objectsnippet 对象包含有关视频的基本详细信息,例如视频的标题、说明和类别。 |
snippet.publishedAt |
datetime视频的发布日期和时间。此时间可能与视频上传时间不同。例如,如果视频在上传时设为私享,之后又设为公开,则此属性会指定视频设为公开的时间。 有几种特殊情况:
|
snippet.channelId |
stringYouTube 用于唯一标识视频上传到的频道的 ID。此值可能会随时间而变化,例如,当视频被重新分配到其他频道(例如主题频道或音乐人频道)时。 |
snippet.title |
string视频的标题。属性值的长度上限为 100 个字符,可以包含除 < 和 > 之外的所有有效 UTF-8 字符。如果您调用 videos.update 方法并更新 video 资源的 snippet 部分,则必须为此属性设置值。 |
snippet.description |
string视频的说明。属性值的长度上限为 5,000 字节,可以包含除 < 和 > 之外的所有有效 UTF-8 字符。 您可以在说明文本中添加格式化的时间戳(例如 00:00),从而创建视频章节。 |
snippet.thumbnails |
object与视频关联的缩略图的映射。对于地图中的每个对象,键是缩略图的名称,值是包含有关缩略图的其他信息的对象。 |
snippet.thumbnails.(key) |
object有效的键值包括:
|
snippet.thumbnails.(key).url |
string图片的网址。 |
snippet.thumbnails.(key).width |
unsigned integer图片的宽度。 |
snippet.thumbnails.(key).height |
unsigned integer图片的高度。 |
snippet.channelTitle |
string视频所属频道的频道标题。 |
snippet.tags[] |
list与视频关联的关键字标签列表。标签可以包含空格。属性值的长度上限为 500 个字符。请注意以下有关字符数限制计算方式的规则:
|
snippet.categoryId |
string与视频关联的 YouTube 视频类别。如果您调用 videos.update 方法并更新 video 资源的 snippet 部分,则必须为此属性设置值。 |
snippet.liveBroadcastContent |
string指明视频是否为即将开始/正在进行的直播。如果视频不是即将开始/正在进行的直播,则其值为 此属性的有效值如下:
|
snippet.defaultLanguage |
stringvideo 资源的 snippet.title 和 snippet.description 属性中的文本所使用的语言。 |
snippet.localized |
objectsnippet.localized 对象包含视频的本地化标题和说明,或者视频元数据的默认语言标题。
localizations 对象添加、更新或删除本地化标题。 |
snippet.localized.title |
string本地化的视频标题。 |
snippet.localized.description |
string本地化视频说明。 |
snippet.defaultAudioLanguage |
stringdefault_audio_language 属性用于指定视频默认音轨中使用的语言。 |
contentDetails |
objectcontentDetails 对象包含有关视频内容的信息,包括视频时长以及是否有可用的视频字幕。 |
contentDetails.duration |
string视频的时长。属性值为 ISO 8601 时长。例如,对于时长至少为 1 分钟且不到 1 小时的视频,时长采用 PT#M#S 格式,其中字母 PT 表示相应值指定的是一段时间,字母 M 和 S 分别表示时长(以分钟和秒为单位)。M 和 S 字母前面的 # 字符都是整数,用于指定视频的分钟数(或秒数)。例如,如果值为 PT15M33S,则表示视频时长为 15 分 33 秒。如果视频时长至少为 1 小时,则时长采用 PT#H#M#S 格式,其中字母 H 前面的 # 指定了视频时长(以小时为单位),所有其他详细信息均与上述说明相同。如果视频时长至少为一天,则字母 P 和 T 会分开,并且值的格式为 P#DT#H#M#S。如需了解完整详情,请参阅 ISO 8601 规范。 |
contentDetails.dimension |
string指明视频是 3D 还是 2D。 |
contentDetails.definition |
string指明视频是否提供高清晰度 ( HD),还是仅提供标清画质。此属性的有效值为:
|
contentDetails.caption |
string表示视频是否提供字幕。 此属性的有效值包括:
|
contentDetails.licensedContent |
boolean指明视频是否代表许可内容,即内容是否已上传到与 YouTube 内容合作伙伴关联的频道,然后由该合作伙伴声明版权。 |
contentDetails.regionRestriction |
objectregionRestriction 对象包含有关视频可(或不可)在哪些国家/地区观看的信息。该对象将包含 contentDetails.regionRestriction.allowed 属性或 contentDetails.regionRestriction.blocked 属性。 |
contentDetails.regionRestriction.allowed[] |
list一个区域代码列表,用于标识可观看视频的国家/地区。如果存在此属性,但其值中未列出某个国家/地区,则该视频会被禁止在该国家/地区显示。如果此属性存在且包含一个空列表,则表示相应视频在所有国家/地区都被禁播。 |
contentDetails.regionRestriction.blocked[] |
list标识视频遭禁播的国家/地区的区域代码列表。如果此属性存在,并且某个国家/地区未列在其值中,则该视频可在该国家/地区观看。如果此属性存在且包含一个空列表,则表示该视频可在所有国家/地区观看。 |
contentDetails.contentRating |
object指定视频在各种评分方案下获得的评分。 |
contentDetails.contentRating.acbRating |
string视频的澳大利亚分类委员会 (ACB) 或澳大利亚通信和媒体管理局 (ACMA) 分级。ACMA 分级用于对儿童电视节目进行分类。 此属性的有效值包括:
|
contentDetails.contentRating.agcomRating |
string意大利通信管理局 (AGCOM) 为视频提供的分级。 此属性的有效值为:
|
contentDetails.contentRating.anatelRating |
string视频在智利电视上的 Anatel(全国电视协会)分级。 此属性的有效值为:
|
contentDetails.contentRating.bbfcRating |
string视频的英国电影分级委员会 (BBFC) 分级。 此属性的有效值如下:
|
contentDetails.contentRating.bfvcRating |
string泰国电影和视频审查委员会对相应视频的评级。 此属性的有效值为:
|
contentDetails.contentRating.bmukkRating |
string奥地利媒体分类委员会(Bundesministerium für Unterricht, Kunst und Kultur,奥地利联邦教育、艺术和文化部)对相应视频的评级。 此属性的有效值为:
|
contentDetails.contentRating.catvRating |
string加拿大电视分级制度 - 加拿大电视分级制度。加拿大广播电视和电信委员会 (CRTC) 针对加拿大英语广播节目制定的视频分级。如需了解详情,请访问加拿大广播标准委员会网站。 此属性的有效值包括:
|
contentDetails.contentRating.catvfrRating |
string加拿大广播电视和电信委员会 (CRTC) 针对加拿大法语广播节目制定的视频分级。如需了解详情,请访问加拿大广播标准委员会网站。 此属性的有效值包括:
|
contentDetails.contentRating.cbfcRating |
string视频的印度电影分级委员会 (CBFC) 分级。 此属性的有效值包括:
|
contentDetails.contentRating.cccRating |
string视频的 Consejo de Calificación Cinematográfica(智利)分级。 此属性的有效值为:
|
contentDetails.contentRating.cceRating |
string葡萄牙 Comissão de Classificação de Espectáculos 提供的视频分级。 此属性的有效值包括:
|
contentDetails.contentRating.chfilmRating |
string视频在瑞士的评级。 此属性的有效值包括:
|
contentDetails.contentRating.chvrsRating |
string视频的加拿大家庭视频分级系统 (CHVRS) 分级。 此属性的有效值包括:
|
contentDetails.contentRating.cicfRating |
string比利时电影控制委员会 (Commission de Contrôle des Films) 提供的视频分级。 此属性的有效值为:
|
contentDetails.contentRating.cnaRating |
string视频在罗马尼亚国家视听委员会 (CNA) 的分级。 此属性的有效值包括:
|
contentDetails.contentRating.cncRating |
string法国的分级制度 - Commission de classification cinematographique 此属性的有效值如下:
|
contentDetails.contentRating.csaRating |
string视频在法国视听最高委员会 (Conseil supérieur de l'audiovisuel) 的分级,该委员会负责对广播内容进行分级。 此属性的有效值如下:
|
contentDetails.contentRating.cscfRating |
string卢森堡电影分级监督委员会 (CSCF) 为视频提供的分级。 此属性的有效值为:
|
contentDetails.contentRating.czfilmRating |
string视频在捷克共和国的分级。 此属性的有效值为:
|
contentDetails.contentRating.djctqRating |
string视频的 Departamento de Justiça, Classificação, Qualificação e Títulos (DJCQT - Brazil) 分级。 此属性的有效值包括:
|
contentDetails.contentRating.djctqRatingReasons[] |
list说明视频获得 DJCQT(巴西)分级的原因。 |
contentDetails.contentRating.ecbmctRating |
string土耳其的分级制度 - 文化和旅游部评估和分级委员会 此属性的有效值为:
|
contentDetails.contentRating.eefilmRating |
string视频在爱沙尼亚的分级。 此属性的有效值为:
|
contentDetails.contentRating.egfilmRating |
string视频在埃及的评级。 此属性的有效值为:
|
contentDetails.contentRating.eirinRating |
string视频的 Eirin (映倫) 分级。Eirin 是日本的分级制度。 此属性的有效值包括:
|
contentDetails.contentRating.fcbmRating |
string马来西亚电影审查委员会对相应视频的分级。 此属性的有效值包括:
|
contentDetails.contentRating.fcoRating |
string中国香港电影、报刊及物品管理办事处对视频的分级。 此属性的有效值如下:
|
contentDetails.contentRating.fmocRating |
string此属性已于 2015 年 11 月 2 日弃用。请改用 contentDetails.contentRating.cncRating 属性。视频的法国国家电影和动画中心(法国文化部)分级。 此属性的有效值为:
|
contentDetails.contentRating.fpbRating |
string南非电影和出版物委员会 (FPB) 为视频评定的分级。 此属性的有效值如下:
|
contentDetails.contentRating.fpbRatingReasons[] |
list说明视频获得其 FPB(南非)分级的原因。 |
contentDetails.contentRating.fskRating |
string视频的 Freiwillige Selbstkontrolle der Filmwirtschaft(FSK - 德国)分级。 此属性的有效值为:
|
contentDetails.contentRating.grfilmRating |
string视频在希腊的评级。 此属性的有效值包括:
|
contentDetails.contentRating.icaaRating |
string视频的 Instituto de la Cinematografía y de las Artes Audiovisuales (ICAA - Spain) 分级。 此属性的有效值为:
|
contentDetails.contentRating.ifcoRating |
string视频的爱尔兰电影分级办公室 (IFCO - Ireland) 分级。如需了解详情,请访问 IFCO 网站。 此属性的有效值如下:
|
contentDetails.contentRating.ilfilmRating |
string视频在以色列的分级。 此属性的有效值为:
|
contentDetails.contentRating.incaaRating |
string视频的 INCAA(Instituto Nacional de Cine y Artes Audiovisuales - 阿根廷)分级。 此属性的有效值包括:
|
contentDetails.contentRating.kfcbRating |
string肯尼亚电影分级委员会 (KFCB) 提供的视频分级。 此属性的有效值为:
|
contentDetails.contentRating.kijkwijzerRating |
stringvoor de Classificatie van Audiovisuele Media(荷兰)。 此属性的有效值为:
|
contentDetails.contentRating.kmrbRating |
string视频的韩国媒体评级委员会 (영상물등급위원회) 分级。KMRB 负责对韩国的视频进行分级。 此属性的有效值包括:
|
contentDetails.contentRating.lsfRating |
string印度尼西亚 Lembaga Sensor Film 提供的视频分级。 此属性的有效值为:
|
contentDetails.contentRating.mccaaRating |
string马耳他电影年龄分级委员会对视频的分级。 此属性的有效值为:
|
contentDetails.contentRating.mccypRating |
string丹麦电影学院 (Det Danske Filminstitut) 儿童和青少年媒体委员会对视频的分级。 此属性的有效值为:
|
contentDetails.contentRating.mcstRating |
string视频在越南的分级制度 - MCST 此属性的有效值如下:
|
contentDetails.contentRating.mdaRating |
string新加坡媒体发展局 (MDA)(尤其是电影审查委员会 [BFC])对相应视频的分级。 此属性的有效值为:
|
contentDetails.contentRating.medietilsynetRating |
string挪威媒体监管局 Medietilsynet 提供的视频分级。 此属性的有效值为:
|
contentDetails.contentRating.mekuRating |
string芬兰 Kansallinen Audiovisuaalinen Instituutti(国家视听研究所)提供的视频分级。 此属性的有效值包括:
|
contentDetails.contentRating.mibacRating |
string意大利文化遗产、活动和旅游部 (Ministero dei Beni e delle Attività Culturali e del Turismo) 提供的视频分级。 此属性的有效值为:
|
contentDetails.contentRating.mocRating |
string视频的 Ministerio de Cultura(哥伦比亚)分级。 此属性的有效值为:
|
contentDetails.contentRating.moctwRating |
string视频在中国台湾文化部的分级。 此属性的有效值包括:
|
contentDetails.contentRating.mpaaRating |
string视频的美国电影协会 (MPAA) 分级。 此属性的有效值包括:
|
contentDetails.contentRating.mpaatRating |
string美国电影协会对电影预告片和预览的分级。 此属性的有效值如下:
|
contentDetails.contentRating.mtrcbRating |
string视频在菲律宾影视审查和分级委员会 (MTRCB) 的分级。 此属性的有效值为:
|
contentDetails.contentRating.nbcRating |
string马尔代夫国家分级局对视频的分级。 此属性的有效值包括:
|
contentDetails.contentRating.nfrcRating |
string视频在保加利亚国家电影中心的分级。 此属性的有效值如下:
|
contentDetails.contentRating.nfvcbRating |
string视频在尼日利亚国家电影和视频审查委员会的分级。 此属性的有效值为:
|
contentDetails.contentRating.nkclvRating |
string拉脱维亚国家电影中心 (Nacionãlais Kino centrs) 提供的视频分级。 此属性的有效值为:
|
contentDetails.contentRating.oflcRating |
string视频的电影和文学分级办公室 (OFLC - 新西兰) 分级。 此属性的有效值为:
|
contentDetails.contentRating.pefilmRating |
string视频在秘鲁的分级。 此属性的有效值为:
|
contentDetails.contentRating.resorteviolenciaRating |
string视频在委内瑞拉的评级。 此属性的有效值包括:
|
contentDetails.contentRating.rtcRating |
string视频的墨西哥广播电视电影总局 (General Directorate of Radio, Television and Cinematography) 分级。 此属性的有效值包括:
|
contentDetails.contentRating.rteRating |
string爱尔兰广播电视 (Raidió Teilifís Éireann) 提供的视频分级。 此属性的有效值如下:
|
contentDetails.contentRating.russiaRating |
string视频的俄罗斯联邦文化部 (MKRF - 俄罗斯) 分级。 此属性的有效值包括:
|
contentDetails.contentRating.skfilmRating |
string视频在斯洛伐克的分级。 此属性的有效值为:
|
contentDetails.contentRating.smaisRating |
string视频在冰岛的分级。 此属性的有效值为:
|
contentDetails.contentRating.smsaRating |
stringStatens medieråd(瑞典国家媒体委员会)对视频的分级。 此属性的有效值为:
|
contentDetails.contentRating.tvpgRating |
string视频的 TV Parental Guidelines (TVPG) 分级。 此属性的有效值包括:
|
contentDetails.contentRating.ytRating |
stringYouTube 用于标识有年龄限制的内容的分级。 此属性的有效值为:
|
contentDetails.projection |
string指定视频的投影格式。 此属性的有效值如下:
|
contentDetails.hasCustomThumbnail |
boolean指明视频上传者是否为视频提供了自定义缩略图。此属性仅对视频上传者可见。 |
status |
objectstatus 对象包含有关视频的上传、处理和隐私状态的信息。 |
status.uploadStatus |
string上传的视频的状态。 此属性的有效值包括:
|
status.failureReason |
string此值用于说明视频上传失败的原因。仅当 uploadStatus 属性指示上传失败时,此属性才会存在。此属性的有效值为:
|
status.rejectionReason |
string此值说明了 YouTube 拒绝上传视频的原因。仅当 uploadStatus 属性指示上传被拒时,此属性才会显示。此属性的有效值为:
|
status.privacyStatus |
string视频的隐私状态。在 videos.insert 请求中,如果您未为此属性指定值,则上传视频的隐私状态默认为 public。如 YouTube 帮助中心所述,根据创作者账号设置,某些上传内容可能会默认设为private。从未经核实的 API 项目上传的视频不受私享观看模式的限制。此属性的有效值为:
|
status.publishAt |
datetime视频的预定发布日期和时间。只有当视频的隐私状态为私享时,才能设置此属性。该值以 ISO 8601 格式指定。关于此属性的行为,请注意以下两点:
|
status.license |
string视频的许可。 此属性的有效值为:
|
status.embeddable |
boolean此值表示视频是否可以嵌入到其他网站中。 |
status.publicStatsViewable |
boolean此值表示视频观看页面上的扩展视频统计信息是否可公开查看。默认情况下,这些统计信息是可见的,即使此属性的值设置为 false,视频的观看次数和评分等统计信息仍会公开显示。 |
status.madeForKids |
boolean此值表示视频是否被指定为面向儿童的内容,并包含视频当前的“面向儿童的内容”状态。例如,状态可能根据 selfDeclaredMadeForKids 属性的值来确定。如需详细了解如何为频道、视频或直播设置观众群,请参阅 YouTube 帮助中心。
|
status.selfDeclaredMadeForKids |
boolean在 videos.insert 或 videos.update 请求中,频道所有者可以使用此属性将视频指定为面向儿童的内容。在 videos.list 请求中,仅当频道所有者授权 API 请求时,系统才会返回属性值。 |
status.containsSyntheticMedia |
boolean在 videos.insert 或 videos.update 请求中,频道所有者可以通过此属性披露视频包含逼真的加工或合成 (A/S) 内容。详细了解与 A/S 内容相关的 YouTube 政策。A/S 内容示例包括:
|
statistics |
objectstatistics 对象包含视频的相关统计信息。 |
statistics.viewCount |
unsigned long视频的观看次数。 自 2026 年 8 月 24 日起,对于频道上的所有视频格式(长视频、直播和短视频), |
statistics.likeCount |
unsigned long表示喜欢该视频的用户数量。 |
statistics.dislikeCount |
unsigned long注意:自 2021 年 12 月 13 日起,
statistics.dislikeCount 属性已设为私有。这意味着,只有在视频所有者对 API 请求进行身份验证后,API 响应中才会包含相应属性。如需了解详情,请参阅修订历史记录。表示不喜欢相应视频的用户数。 |
statistics.favoriteCount |
unsigned long注意:此属性已被废弃。弃用自 2015 年 8 月 28 日起生效。该属性的值现在始终设置为 0。 |
statistics.commentCount |
unsigned long相应视频的评论数。 |
paidProductPlacementDetails |
objectpaidProductPlacementDetails 对象包含有关视频中付费产品植入的信息。 |
paidProductPlacementDetails.hasPaidProductPlacement |
boolean如果内容使用了付费产品植入,请设置为 true。默认设置为 false。 |
player |
objectplayer 对象包含您在嵌入式播放器中播放视频时要使用的信息。 |
player.embedHtml |
string嵌入播放器以播放视频的 <iframe> 标记。 |
player.embedHeight |
longplayer.embedHtml 属性中返回的嵌入式播放器的高度。仅当请求为 maxHeight 和/或 maxWidth 参数指定了值,并且视频的宽高比已知时,系统才会返回此属性。 |
player.embedWidth |
long嵌入式播放器的宽度,在 player.embedHtml 属性中返回。仅当请求为 maxHeight 和/或 maxWidth 参数指定了值,并且视频的宽高比已知时,系统才会返回此属性。 |
topicDetails |
objecttopicDetails 对象封装了与视频相关的主题信息。重要提示:如需详细了解与主题 ID 相关的即将发生的变更,请参阅 topicDetails.relevantTopicIds[] 和 topicDetails.topicIds[] 属性的定义以及修订历史记录。 |
topicDetails.topicIds[] |
list重要提示:此属性已于 2016 年 11 月 10 日弃用。该 API 不再返回此属性的值,现在与视频关联的所有主题都由 topicDetails.relevantTopicIds[] 属性值返回。 |
topicDetails.relevantTopicIds[] |
list与视频相关的主题 ID 列表。 此属性已于 2016 年 11 月 10 日弃用。该版本将支持到 2017 年 11 月 10 日。 重要提示:由于 Freebase 和 Freebase API 已弃用,自 2017 年 2 月 27 日起,主题 ID 的运作方式发生了变化。当时,YouTube 开始返回一小部分精选主题 ID。 |
topicDetails.topicCategories[] |
list提供视频内容概要说明的维基百科网址列表。 |
recordingDetails |
objectrecordingDetails 对象封装了有关视频录制地点、日期和地址的信息。 |
recordingDetails.locationDescription |
string此属性已于 2017 年 6 月 1 日弃用。如需了解详情,请参阅弃用公告。 视频录制地点的文字说明。 |
recordingDetails.location |
object此属性已弃用。其所有子属性(纬度、经度、海拔高度)均已弃用。 与视频相关联的地理定位信息。子级资源属性值用于标识视频所有者希望与视频相关联的位置。该值可修改,可在公开视频中搜索,并且可能会向公开视频的用户显示。 |
recordingDetails.location.latitude |
double此属性已于 2017 年 6 月 1 日弃用。如需了解详情,请参阅弃用公告。 纬度(以度为单位)。 |
recordingDetails.location.longitude |
double此属性已于 2017 年 6 月 1 日弃用。如需了解详情,请参阅弃用公告。 经度(以度为单位)。 |
recordingDetails.location.altitude |
double此属性已于 2018 年 7 月 9 日弃用。如需了解详情,请参阅弃用公告。 高于参考椭球面的海拔高度,以米为单位。 |
recordingDetails.recordingDate |
datetime视频的录制日期和时间。该值采用 ISO 8601 ( YYYY-MM-DDThh:mm:ss.sssZ) 格式指定。 |
fileDetails |
objectfileDetails 对象封装了有关上传到 YouTube 的视频文件的信息,包括文件的分辨率、时长、音频和视频编解码器、视频流比特率等。只有视频所有者才能检索这些数据。仅当 processingDetails.fileAvailability 属性的值为 available 时,系统才会返回 fileDetails 对象。 |
fileDetails.fileName |
string已上传文件的名称。无论上传的是视频文件还是其他类型的文件,此字段都会显示。 |
fileDetails.fileSize |
unsigned long上传的文件大小(以字节为单位)。无论上传的是视频文件还是其他类型的文件,此字段都会显示。 |
fileDetails.fileType |
stringYouTube 视频处理引擎检测到的上传文件类型。目前,YouTube 仅处理视频文件,但无论上传的是视频文件还是其他类型的文件,此字段都会显示。 此属性的有效值为:
|
fileDetails.container |
string上传的视频文件的容器格式。 |
fileDetails.videoStreams[] |
list上传的视频文件中包含的视频流列表。列表中的每个项都包含有关视频流的详细元数据。 |
fileDetails.videoStreams[].widthPixels |
unsigned integer已编码视频内容的宽度(以像素为单位)。您可以将视频的编码宽高比计算为 width_pixels / height_pixels。 |
fileDetails.videoStreams[].heightPixels |
unsigned integer编码视频内容的高度(以像素为单位)。 |
fileDetails.videoStreams[].frameRateFps |
double视频流的帧速率(以每秒帧数为单位)。 |
fileDetails.videoStreams[].aspectRatio |
double视频内容的显示宽高比,用于指定视频应以何种宽高比显示。 |
fileDetails.videoStreams[].codec |
string相应视频流使用的视频编解码器。 |
fileDetails.videoStreams[].bitrateBps |
unsigned long视频流的比特率,以每秒传输的位数表示。 |
fileDetails.videoStreams[].rotation |
stringYouTube 需要将原始来源内容旋转的角度,以便正确显示视频。 此属性的有效值为:
|
fileDetails.videoStreams[].vendor |
string用于唯一标识视频供应商的值。通常,该值是一个由四个字母组成的供应商代码。 |
fileDetails.audioStreams[] |
list上传的视频文件中包含的音频串流的列表。列表中的每个项都包含有关音频串流的详细元数据。 |
fileDetails.audioStreams[].channelCount |
unsigned integer数据流包含的音频声道数。 |
fileDetails.audioStreams[].codec |
string相应流使用的音频编解码器。 |
fileDetails.audioStreams[].bitrateBps |
unsigned long音频串流的比特率,以每秒传输的位数表示。 |
fileDetails.audioStreams[].vendor |
string用于唯一标识视频供应商的值。通常,该值是一个四字母的供应商代码。 |
fileDetails.durationMs |
unsigned long上传的视频的时长(以毫秒为单位)。 |
fileDetails.bitrateBps |
unsigned long上传的视频文件的合并(视频和音频)比特率,以每秒传输的位数表示。 |
fileDetails.creationTime |
string上传的视频文件的创建日期和时间。该值以 ISO 8601 格式指定。目前,支持以下 ISO 8601 格式:
|
processingDetails |
objectprocessingDetails 对象封装了有关 YouTube 处理上传的视频文件的进度的信息。对象中的属性用于标识当前处理状态,并估计 YouTube 完成视频处理所需的时间。此部分还会指明视频是否有不同类型的数据或内容(例如文件详细信息或缩略图)。processingProgress 对象旨在进行轮询,以便上传的视频可以跟踪 YouTube 在处理上传的视频文件方面取得的进度。只有视频所有者才能检索这些数据。 |
processingDetails.processingStatus |
string视频的处理状态。此值表示 YouTube 是否已处理完视频,或者视频是否仍在处理中。 此属性的有效值为:
|
processingDetails.processingProgress |
objectprocessingProgress 对象包含有关 YouTube 在处理视频方面的进展情况的信息。只有当视频的处理状态为 processing 时,这些值才真正相关。 |
processingDetails.processingProgress.partsTotal |
unsigned long视频需要处理的总部分数的估算值。在 YouTube 处理视频的过程中,该数字可能会更新为更精确的估计值。 |
processingDetails.processingProgress.partsProcessed |
unsigned longYouTube 已处理的视频部分数量。您可以通过以下计算来估算 YouTube 已处理的视频百分比: 100 * parts_processed / parts_total请注意,由于预估部分数量可能会增加,而已处理部分数量却没有相应增加,因此在 YouTube 处理视频时,计算出的进度可能会定期减少。 |
processingDetails.processingProgress.timeLeftMs |
unsigned longYouTube 完成视频处理所需的时间估计值(以毫秒为单位)。 |
processingDetails.processingFailureReason |
stringYouTube 未能处理视频的原因。仅当 processingStatus 属性的值为 failed 时,此属性才会有值。此属性的有效值为:
|
processingDetails.fileDetailsAvailability |
string此值表示上传的视频是否提供文件详细信息。您可以在 videos.list() 请求中请求 fileDetails 部分,以检索视频的文件详情。 |
processingDetails.processingIssuesAvailability |
string此值表示视频处理引擎是否已生成建议(可能有助于提高 YouTube 处理视频的能力)、警告(说明视频处理问题)或错误(导致视频处理问题)。您可以在 videos.list() 请求中请求 suggestions 部分,从而检索这些建议。 |
processingDetails.tagSuggestionsAvailability |
string此值表示视频是否有可用的关键字(标签)建议。您可以向视频的元数据中添加标签,以便其他用户更轻松地找到该视频。您可以在 videos.list() 请求中请求 suggestions 部分,以检索这些建议。 |
processingDetails.editorSuggestionsAvailability |
string此值表示视频是否有视频编辑建议,这些建议可能会提升视频画质或播放体验。您可以在 videos.list() 请求中请求 suggestions 部分,从而检索这些建议。 |
processingDetails.thumbnailsAvailability |
string此值表示是否已为视频生成缩略图。 |
suggestions |
objectsuggestions 对象封装了各种建议,这些建议指出了提高视频质量或改进上传视频的元数据的机会。只有视频所有者才能检索这些数据。只有当 processingDetails.tagSuggestionsAvailability 属性或 processingDetails.editorSuggestionsAvailability 属性的值为 available 时,才会返回 suggestions 对象。 |
suggestions.processingErrors[] |
list会导致 YouTube 无法成功处理上传视频的错误列表。这些错误表明,无论视频当前的处理状态如何,最终该状态几乎肯定会是 failed。此属性的有效值为:
|
suggestions.processingWarnings[] |
listYouTube 可能难以转码上传的视频或可能导致转码出错的原因列表。这些警告是在 YouTube 实际处理上传的视频文件之前生成的。此外,它们还会识别不一定会导致视频处理失败但仍可能导致问题(例如同步问题、视频伪影或缺少音轨)的问题。 此属性的有效值为:
|
suggestions.processingHints[] |
list一系列可能有助于提高 YouTube 处理视频的能力的建议。 此属性的有效值为:
|
suggestions.tagSuggestions[] |
list可添加到视频元数据中的关键字标签列表,用于提高用户在 YouTube 上搜索或浏览时找到您视频的可能性。 |
suggestions.tagSuggestions[].tag |
string为视频建议的关键字标签。 |
suggestions.tagSuggestions[].categoryRestricts[] |
list与该标签相关的一组视频类别。您可以使用此信息,根据视频上传者与视频关联的视频类别显示适当的标签建议。默认情况下,如果未对关键字定义任何限制,则代码建议适用于所有类别。 |
suggestions.editorSuggestions[] |
list一系列视频编辑操作,这些操作可能会提高上传视频的视频画质或播放体验。 此属性的有效值包括:
|
liveStreamingDetails |
objectliveStreamingDetails 对象包含有关实时视频广播的元数据。只有当视频是即将开播、正在直播或已结束的直播时,该对象才会出现在 video 资源中。 |
liveStreamingDetails.actualStartTime |
datetime广播实际开始的时间。该值采用 ISO 8601 格式指定。此值在直播开始后才会提供。 |
liveStreamingDetails.actualEndTime |
datetime广播实际结束的时间。该值采用 ISO 8601 格式指定。此值在直播结束后才会显示。 |
liveStreamingDetails.scheduledStartTime |
datetime直播的预定开始时间。该值采用 ISO 8601 格式指定。 |
liveStreamingDetails.scheduledEndTime |
datetime直播计划结束的时间。该值采用 ISO 8601 格式指定。如果该值为空或不存在相应属性,则广播会安排为无限期继续。 |
liveStreamingDetails.concurrentViewers |
unsigned long当前正在观看直播的观看者人数。如果直播有当前观看者,并且直播所有者未隐藏视频的观看次数,则该属性及其值将存在。请注意,直播结束后,YouTube 会停止跟踪直播的同时观看者人数。因此,此属性不会标识观看已结束直播的归档视频的观看者人数。 YouTube Data API 返回的同时观看人数可能与通过 YouTube 数据分析提供的经过处理、去除了垃圾内容的同时观看人数不同。如需详细了解直播指标,请访问 YouTube 帮助中心。
|
liveStreamingDetails.activeLiveChatId |
string与此视频关联的当前活跃实时聊天的 ID。仅当视频是当前正在直播且具有实时聊天功能的直播时,系统才会填充此字段。直播过渡到完成状态后,此字段将被移除,实时聊天也将关闭。对于持续广播,实时聊天 ID 将不再与此视频相关联,而是与持续网页上显示的新视频相关联。 |
brandPartner |
objectbrandPartner 对象包含与视频关联的品牌合作伙伴的详细信息,用于创作者发起的品牌合作伙伴访问权限 (CI BPA)。 |
brandPartner.channelId |
string品牌合作伙伴的外部频道 ID。此字段必须以“UC”开头。建立访问权限时,必须设置 channelId 或 channelHandle,但响应中只会返回 channelId。 |
brandPartner.channelHandle |
string品牌合作伙伴的频道标识名。此字段必须以“@”开头。建立访问权限时,必须设置 channelId 或 channelHandle,但响应中仅返回 channelId。 |
localizations |
objectlocalizations 对象包含视频元数据的翻译。 |
localizations.(key) |
object与键值对关联的本地化文本的语言。此值是一个包含 BCP-47 语言代码的字符串。 |
localizations.(key).title |
string本地化的视频标题。 |
localizations.(key).description |
string本地化视频说明。 |