云服务器内容精选

  • 响应示例 状态码: 200 处理成功返回。 { "total" : 1, "assets" : [ { "asset_id" : "67d1470893419bfcb9663103dd8a66ac", "title" : "video.mp4", "duration" : 60, "size" : 12881945, "category" : "其他", "covers" : [ { "cover_url" : "https://355.cdn-vod.huaweicloud.com/asset/67d1470893419bfcb9663103dd8a66ac/cover/Cover0.jpg" } ], "create_time" : "20190625020756", "asset_status" : "PUBLISHED", "transcode_status" : "TRANSCODE_SUCCEED", "thumbnail_status" : "UN_THUMBNAIL", "review_status" : "UN_REVIEW", "exec_desc" : "asset_exec_desc:Asset meta is\npublished;transcode_exec_desc:Transcode success;", "media_type" : "MP4" } ] } 状态码: 400 处理失败返回。 { "error_code" : "VOD.10053", "error_msg" : "The request parameter is illegal, illegal field: {xx}." }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 媒资总数 说明: 暂只能统计2万个媒资,若您需要查询具体的媒资总数,请提交工单申请。 assets Array of AssetSummary objects 媒资列表 表5 AssetSummary 参数 参数类型 描述 asset_id String VOD分配的媒资ID,仅支持查询,不支持修改。 title String 媒资标题。长度不超过128个字节,UTF-8编码。 description String 媒资描述。长度不超过1024个字节。 duration Integer 媒资时长。 单位:秒。 size Long 媒资大小。 单位:字节。 original_url String 原始播放url。 category String 媒资分类名称。 covers Array of CoverInfo objects 封面信息。 create_time String 媒资创建时间。 格式为yyyymmddhhmmss。必须是与时区无关的UTC时间。 asset_status String 媒资状态。 取值如下: CREATING:上传中。 FAILED:上传失败。 CREATED:上传成功。 PUBLISHED:已发布。 DELETED:已删除。 transcode_status String 转码状态。 取值如下: UN_TRANSCODE:未转码。 WAITING_TRANSCODE:待转码 TRANSCODING:转码中。 TRANSCODE_SUCCEED:转码成功。 TRANSCODE_FAILED:转码失败。 thumbnail_status String 截图状态。 取值如下: UN_THUMBNAIL:未截图。 THUMBNAILING:截图中。 THUMBNAIL_SUCCEED:截图成功。 THUMBNAIL_FAILED:截图失败。 review_status String 内容审核 状态 取值如下: UN_REVIEW:未审核。 REVIEWING:审核中。 REVIEW_SUSPICIOUS:审核可疑,需要人工复审。 REVIEW_PASSED:审核通过。 REVIEW_FAILED:审核失败。 REVIEW_BLOCKED:已屏蔽。 exec_desc String 媒资的任务执行描述汇总。 示例: asset_exec_desc: upload success,媒资任务执行描述信息。 transcode_exec_desc: transcode success,转码任务执行描述信息。 thumbnail_exec_desc: thumbnail failed,截图任务执行描述信息。 review_exec_desc: review pass,审核任务执行描述信息。 media_type String 音视频文件的格式。 取值如下: 视频文件格式:MP4、TS、MOV、MXF、MPG、FLV、WMV、AVI、M4V、F4V、MPEG 音频文件格式:MP3、OGG、WAV、WMA、APE、FLAC、AAC、AC3、MMF、AMR、M4A、M4R、WV、MP2 表6 CoverInfo 参数 参数类型 描述 cover_url String 封面文件的下载地址。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • URI GET /v1.0/{project_id}/asset/list 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID 表2 Query参数 参数 是否必选 参数类型 描述 asset_id 否 Array 媒资ID,最多同时查询10个。 status 否 Array 媒资状态,同时查询多个状态的媒资。 取值如下: CREATING:上传中 FAILED:上传失败 CREATED:上传成功 PUBLISHED:已发布 TRANSCODING:转码中 TRANSCODE_SUCCEED:转码成功 TRANSCODE_FAILED:转码失败 THUMBNAILING:截图中 THUMBNAIL_SUCCEED:截图成功 THUMBNAIL_FAILED:截图失败 UN_REVIEW:未审核 REVIEWING:审核中 REVIEW_SUSPICIOUS :审核不过,待人工复审 REVIEW_PASSED:审核通过 REVIEW_FAILED:审核任务失败 REVIEW_BLOCKED:已屏蔽 start_time 否 String 起始时间。 格式为yyyymmddhhmmss。必须是与时区无关的UTC时间。 end_time 否 String 结束时间。 格式为yyyymmddhhmmss。必须是与时区无关的UTC时间。 category_id 否 Integer 分类ID。 tags 否 String 媒资标签。 单个标签不超过24个字节, 最多不超过16 个标签。 多个用英文逗号分隔,UTF8编码。 query_string 否 String 在媒资标题、 描述、分类名称中模糊查询的字符串。 media_type 否 Array 音视频文件的格式,支持多格式查询,最多不超过20个。 取值如下: 视频文件格式:MP4、TS、MOV、MXF、MPG、FLV、WMV、AVI、M4V、F4V、MPEG 音频文件格式:MP3、OGG、WAV、WMA、APE、FLAC、AAC、AC3、MMF、AMR、M4A、M4R、WV、MP2 page 否 Integer 分页编号。 默认值:0。 size 否 Integer 每页记录数。 取值范围:[1,100]。 默认值:10。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 表3 请求Body参数 参数 是否必选 参数类型 描述 asset_id 是 String VOD分配的媒资ID,仅支持查询,不支持修改。 template_group_name 否 String 转码模板组名称。 说明: 若不为空,则使用指定的转码模板对上传的音视频进行转码,您可以在 视频点播 控制台配置转码模板,具体请参见《点播服务用户指南》中的“转码设置”。 auto_encrypt 否 Integer 是否自动加密。 取值如下: 0:表示不加密。 1:表示需要加密。 默认值:0。 加密与转码必须要一起进行,当需要加密时,转码参数不能为空,且转码输出格式必须要为HLS。 thumbnail 否 Thumbnail object 截图参数 subtitle_id 否 Array of integers 字幕文件ID。 说明: 仅调用接口创建媒资:上传方式和视频更新,且设置请求参数“subtitles”时,该参数设置才生效。 如果参数取值为空,默认选择最后一次上传的字幕压制至视频流中。 视频流压制的字幕文件仅支持SRT格式。 表4 Thumbnail 参数 是否必选 参数类型 描述 type 是 String 截图类型。 取值如下: time:每次进行截图的间隔时间。 dots: 按照指定的时间点截图。 quantity: 按照指定张数,根据视频时长等分视频截图。 quantity 否 Integer type取值为quantity时必填。 按照指定张数,根据视频时长等分视频截图。 取值范围:[1,10]之间的整数。 quantity_time 否 Integer type取值为quantity时选填。 按照指定时间间隔取指定张数截图。 取值范围:[0,2147483647]之间的整数。 time 否 Integer 根据时间间隔采样时的时间间隔值。单位:秒。 type取值为time时。 默认值:12 取值范围:[0,100]之间的整数。 dots 否 Array of integers type取值为dots时必填。指定时间截图时的时间点数组。 cover_position 否 Integer 该值表示指定第几张截图作为封面。 默认值:1。 format 否 Integer 截图文件格式。 取值如下: 1:jpg。 默认值:1 。 aspect_ratio 否 Integer 纵横比,图像缩放方式。 取值如下: 0:自适应(保持原有宽高比)。 1:16:9。 默认值:0。 max_length 否 Integer 截图最长边的尺寸。 单位:像素。 宽边尺寸按照该尺寸与原始视频像素等比缩放计算。 默认值:480。
  • 请求示例 媒资转码处理 POST https://{endpoint}/v1.0/{project_id}/asset/process Content-Type: application/json { "asset_id": "b4f39691d66cc0ef75d62ee567146e11", "template_group_name": "test", "auto_encrypt": 0, "thumbnail": { "type": "time", "time": 12 }, "subtitle_id": [ 1 ] }
  • 功能介绍 开通视频点播服务后,您可以使用如下方式将音视频上传至点播服务,从而进行相关管理操作。 本地上传:支持将存储在本地磁盘的音视频文件上传到视频点播中。 URL拉取:支持基于音视频源文件URL,离线拉取上传到点播系统。 音视频托管:支持将OBS桶中的音视频文件托管给视频点播,从而通过点播处理音视频,并支持将处理后产生的媒资文件存储在OBS桶中。 您可以参考如下步骤进行视频上传,也可以参考视频指导来操作。
  • 加密算法E 目前界面可以正常展示E算法,但功能暂未开放使用,请用户知晓。 如果不使用伪直播功能,plive参数可忽略。伪直播功能请参考伪直播。 鉴权URL格式 原始URL?auth_key={authKey}×tamp={timestamp}&exper={exper}&plive={伪直播开始时间} authKey的计算公式:auth_key = sha256({PrivateKey }{fileName}{timestamp}{exper}{plive_starttime}) 表6 鉴权字段描述 字段 描述 timestamp 鉴权URL生成时间,为Unix时间戳,即1970年1月1日以来的秒数。单位:秒。 示例:1564731935。即时间为:2019.08.02 15:45。 fileName 实际回源访问的URL,鉴权时filename需以“/”开头,且不能包含鉴权URL中“?”后面的参数。 如:/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls PrivateKey 用户设定的鉴权密钥,用于生成加密URL。 密钥的格式为大小写字母和数字,长度为16到32位字符。 exper(可选) 视频试看时长,取值为数字,单位:秒。仅需要试看时,需要配置此参数。 仅支持MP4和HLS格式。 plive(可选) 伪直播开始时间,取值为UTC时间。仅伪直播功能,需要配置此参数。 仅支持HLS格式。 鉴权URL示例 原始URL:http://1.cdn.myhuaweicloud.com/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls private_key:32d6b2d740f10b86 timestamp:1547123166 fileName:/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls exper:300 plive:1704074400 则根据计算公式,得到auth_key auth_key = sha256(32d6b2d740f10b86/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls15471231663001704074400) = 3a935cf1d8299fe63ec8d4e0afb5ef3304883a702a4e760f3c5ae838a4b69768 最终得到算法E并且支持试看功能的鉴权URL http://1.cdn.myhuaweicloud.com/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.hls?auth_key=3a935cf1d8299fe63ec8d4e0afb5ef3304883a702a4e760f3c5ae838a4b69768×tamp=1547123166&exper=300&plive=1704074400
  • 实现原理 Referer防盗链的实现原理比较简单,在点播控制台配置了白名单或黑名单后,点播服务会将这份名单分发到CDN中。当CDN接收到资源请求时,会根据这个名单来识别请求是否合法,若合法,则访问请求的资源,否则拒绝并返回403。 Key防盗链是视频点播的加速节点与点播源站联合实现的,比Referer防盗链更为安全可靠的一种防盗播方案。Key防盗链的实现过程如图1所示。 图1 Key防盗链实现原理 流程说明如下所示: 租户在点播控制台开启Key防盗链功能,并配置误差允许时间、算法等。 点播服务将配置的密钥值等下发到CDN节点中。 租户通过点播服务获取到点播媒资的鉴权URL。 观众通过租户提供的鉴权播放URL向CDN请求视频播放。 CDN根据播放URL中携带的鉴权信息校验请求的合法性,仅校验通过的请求会被允许。
  • 加密算法B 鉴权URL格式 https://{cdn_domain}/{date_YYYYmmddHHMM}/{md5sum}/asset/{asset_id}/{file_name} md5sum的计算公式: md5sum = md5({private_key}{date_yyyyMMddHHmm}/asset/{asset_id}/{file_name}) 表3 鉴权字段描述 字段 描述 date_yyyyMMddHHmm 鉴权URL生成时间,格式为:yyyyMMddHHmm。 示例:201908051445 file_name 指原始播放URL中从媒资ID后开始到最后的路径。 示例:play_video/test.mp4 private_key 在控制台设置的防盗链Key值,具体请参见配置步骤。 鉴权URL示例 原始URL:http://1.cdn.myhuaweicloud.com/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4 private_key:myPrivateKey date_yyyyMMddHHmm:201901102026 file_name:test.mp4 则根据计算公式,得到md5sum md5sum = md5(myPrivateKey201901102026/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4) = 713ef643de8df076da6ec3c0545968cb 最终得到算法B的鉴权URL http://1.cdn.myhuaweicloud.com/201901102026/713ef643de8df076da6ec3c0545968cb/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4
  • 加密算法C 鉴权URL格式 https://{cdn_domain}/{md5hash}/{time_hex}/asset/{asset_id}/{file_name} md5hash的计算公式: md5hash = md5({private_key}/asset/{asset_id}/{file_name}{time_hex}) 表4 鉴权字段描述 字段 描述 file_name 指原始播放URL中从媒资ID后开始到最后的路径。 示例:play_video/test.mp4 time_hex 鉴权URL生成时间,为Unix时间戳的十六进制结果。 示例:hex(1564987530)=5D47D08A private_key 在控制台设置的防盗链Key值,具体请参见配置步骤。 鉴权URL示例 原始URL:http://1.cdn.myhuaweicloud.com/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4 private_key:myPrivateKey time_hex:hex(timestamp) = hex(1547123166) = 5C3739DE file_name:test.mp4 则根据计算公式,得到md5sum md5hash=md5(myPrivateKey/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp45C3739DE) = afa20c956043fe6d130b16f2704ac870 最终得到算法C的鉴权URL http://1.cdn.myhuaweicloud.com/afa20c956043fe6d130b16f2704ac870/5C3739DE/asset/6b2d740f10b8697d8ea6672868ecdb6f/test.mp4
  • 加密算法A 鉴权URL格式 原始URL?auth_key={timestamp}-{rand}-{uid}-{auth_key} auth_key的计算公式: auth_key = MD5(/asset/{assetId}/{file_name}-{timestamp}-{rand}-{uid}-{private_key}) 表2 鉴权字段描述 字段 描述 timestamp 鉴权URL生成时间,为Unix时间戳,1970年1月1日以来的秒数。 示例:1564731935(即2019.08.02 15:45) rand 随机数,建议使用UUID方式生成,不能包含中划线”-“。 示例:f03cbe7c4a3849bc8d8769e3110e4533 uid 暂未使用,直接设置成0即可。 private_key 在控制台设置的防盗链Key值,具体请参见配置步骤。
  • 加密算法D 如果不使用伪直播功能,plive参数可忽略。伪直播功能请参考伪直播。 鉴权URL格式 原始URL?auth_info={加密串}.{EncodedIV}&plive={伪直播开始时间} 加密串和EncodedIV的计算公式: 加密原始串 = url_encoding({path}+"$"+{Timestamp})+"$"+{plive_starttime} 加密串 = aes_cbc_128_pkcs5padding(原始加密串,key,IV) EncodedIV = hex(IV) 表5 鉴权字段描述 字段 描述 path 指从 域名 开始,到最后一层目录,包括域名后的“/”,也包含最后一层目录后的“/”,不包括文件名。 示例:/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/ Timestamp 鉴权URL生成时间,UTC时间,格式为yyyyMMddHHmmss,用于检查鉴权参数是否过期。 示例:20190805101025 key 在控制台设置的防盗链Key值,具体请参见配置步骤。 plive(可选) 伪直播开始时间,仅伪直播功能,需要配置此参数。 取值为UTC时间。 IV 随机生成的bytes数组,长度为16。 hex():将bytes数组转换成十六进制的字符串。 生成IV生成示例代码如下所示: byte[] iv = new byte[16]; SecureRandom secureRand = new SecureRandom(); secureRand.nextBytes(iv); 鉴权URL示例 原始URL:https://179.cdn-vod.huaweicloud.com/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/index.m3u8 path:/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/ key:8Ks1qn14XRO28qOa Timestamp:20190805102430 plive:1704074400 则根据计算公式,得到加密串和EncodedIV 原始加密串 = url_encoding("/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/") + "$" + "20190805102430"+ "$" + "1704074400" 加密串 = aes_cbc_128_pkcs5padding(原始加密串,key,IV) = 34M%2F6KtYgxuAozdBLIVTe0dUVAZdvXsYQoYAnDmuhRHh1hshYg%2B2Tl0AmSwySDh%2BmkER44qYKpSP%2BgfsLM%2FIZe4F6K4n1Nx6ouGwyKfqdDA%3D EncodedIV = hex(IV) = 79436d453636364e335941713330534e 最终得到算法D的鉴权URL https://179.cdn-vod.huaweicloud.com/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/index.m3u8?auth_info=34M%2F6KtYgxuAozdBLIVTe0dUVAZdvXsYQoYAnDmuhRHh1hshYg%2B2Tl0AmSwySDh%2BmkER44qYKpSP%2BgfsLM%2FIZe4F6K4n1Nx6ouGwyKfqdDA%3D.79436d453636364e335941713330534e&plive=1704074400
  • 配置步骤 登录视频点播控制台。 在左侧导航栏中,选择“域名管理”,进入域名管理界面。 单击域名右侧“配置 ”,选择“防盗链配置”页签。 单击“Referer防盗链”。弹出“配置Referer防盗链”页面。 单击“开关”。配置Referer防盗链参数,如图1 Referer防盗链配置信息所示。 当前Referer防盗链配置不支持带端口。 图1 Referer防盗链配置信息 防盗链配置及对应访问权限说明如表1所示。 表1 参数说明 参数 说明 类型 支持黑名单和白名单模式。 Referer黑名单:允许非名单内的域名请求访问媒资,拒绝名单中的域名请求访问。 Referer白名单:允许名单内的域名请求访问点播媒资,拒绝其它域名请求访问。 包含空Referer是指HTTP请求Header中的Referer内容为空,或者无Referer。根据选择的黑名单或白名单,勾选“包含空Referer”的效果是不同的。 黑名单模式:勾选“包含空Referer”表示若请求中的Referer为空,则拒绝该请求,否则允许。 白名单模式:勾选“包含空Referer”表示若请求中的Referer为空,则允许该请求,否则拒绝。 规则 黑名单或白名单中的域名。 支持输入域名或IP地址,以英文“;”进行分割,域名、IP地址可混合输入,支持泛域名添加。输入的域名、IP地址总数不能超过100个。 示例如下: www.example.com;*.test.com;192.168.0.0 配置完成后,单击“确定”。 大约需要3-5分钟,Referer防盗链才生效。
  • 注意事项 该功能为可选项,默认不启用。 Referer黑名单与Referer白名单互斥,不支持同时设置。 黑名单或白名单中的域名最多支持4级域名,且最多支持配置100条。 黑名单或白名单中配置的域名前不能带协议名,域名为前缀匹配。如填写“example.example01.com”,则“example.example01.com/123”和“example.example01.com.cn”也会匹配成功。