云服务器内容精选

  • VOD FullAccess策略内容 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "vod:*:*" ] } ] }
  • VOD ReadOnlyAccess策略内容 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "vod:*:get*", "vod:*:list*" ] } ] }
  • VOD CommonOperations策略内容 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "vod:asset:*" ] } ] }
  • VOD权限 默认情况下,管理员创建的 IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 VOD部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问VOD时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。用户组需同时配置角色和策略才能生效权限。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对VOD服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。 如表1所示,包括了VOD的所有系统权限。 用户组需同时配置角色和策略才能生效权限,详细操作请参考创建用户组、用户并授权使用VOD。 表1 VOD 系统权限 系统角色 描述 类别 依赖关系 VOD Administrator 具有 视频点播 服务里的所有操作权限,操作对象为华为云账号下所有的媒资文件。只进行权限划分。 系统角色 无 VOD Operator 具有除审核媒资、水印管理、安全设置、分类设置、消息订阅、 域名 管理以外的其他点播服务操作权限,操作对象为华为云账号下所有的媒资文件。只进行权限划分。 系统角色 无 VOD Guest 仅具备查询华为云账号下所有媒资文件的权限,操作对象为华为云账号所有的媒资文件。只进行权限划分。 系统角色 无 VOD Group Administrator 具有除全局配置以及域名管理以外的其他点播服务操作权限,操作对象为用户所在组的所有用户创建的媒资文件。不仅能权限划分还能进行媒资隔离。 系统角色 无 VOD Group Operator 具有除审核媒资、删除媒资、水印管理、安全设置、分类设置、消息订阅、域名管理以外的其他点播服务操作权限,操作对象为用户所在组的所有用户创建的媒资文件。不仅能权限划分还能进行媒资隔离。 系统角色 无 VOD Group Guest 仅具备查询媒资文件的权限,操作对象为用户所在组的所有用户创建的媒资文件。不仅能权限划分还能进行媒资隔离。 系统角色 无 VOD FullAccess 具有视频点播服务所有权限。 系统策略 无 VOD ReadOnlyAccess 仅具备视频点播服务只读权限。 系统策略 无 VOD CommonOperations 具有视频点播服务基本操作权限(具有除全局配置、域名管理、权限管理、审核设置以外的其他点播服务操作权限)。 系统策略 无 表2列出了VOD常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。 表2 常用操作与系统策略的关系 操作 VOD FullAccess VOD ReadOnlyAccess VOD CommonOperations 创建域名 √ x x 修改域名 √ x x 删除域名 √ x x 查询域名列表 √ √ x 启用域名 √ x x 停用域名 √ x x 修改域名https加速配置 √ x x 查询域名https加速配置 √ √ x 修改域名key防盗链 √ x x 查询域名key防盗链 √ √ x 修改域名Referer防盗链 √ x x 查询域名Referer防盗链 √ √ x 查询媒资列表 √ √ √ 查询媒资信息 √ √ √ 修改媒资属性 √ x √ 查询媒资详细信息 √ √ √ 上传媒资 √ x √ 视频更新 √ x √ 删除媒资 √ x √ 发布媒资 √ x √ 取消媒资发布 √ x √ 创建URL拉取任务 √ x √ 查询URL拉取任务 √ √ √ 删除URL拉取任务 √ x √ 取消URL拉取任务 √ x √ 恢复URL拉取任务 √ x √ 创建预热任务 √ x √ 查询预热任务 √ √ √ 创建媒资处理任务 √ x √ 取消媒资处理任务 √ x √ 创建音频提取任务 √ x √ 取消音频提取任务 √ x √ 审核媒资 √ x √ 屏蔽媒资 √ x √ 查询媒资屏蔽信息 √ √ √ 创建自定义模板组 √ x x 查询自定义模板组列表 √ √ x 修改自定义模板组 √ x x 删除自定义模板组 √ x x 创建水印模板 √ x x 查询水印模板列表 √ x x 修改水印模板 √ x x 删除水印模板 √ x x 创建媒资分类 √ x x 修改媒资分类 √ x x 删除媒资分类 √ x x 查询媒资分类列表 √ √ x 配置 消息通知 √ x x 查询消息通知 √ √ x 创建工作流模板 √ x x 修改工作流模板 √ x x 删除工作流模板 √ x x 查询工作流模板列表 √ √ x 查看工作流模板 √ √ x 创建审核模板 √ x x 审核模板列表 √ x x 修改审核模板 √ x x 删除审核模板 √ x x 查询桶列表 √ √ x 给桶授权 √ x x 查询用户列表 √ √ x 更新用户关联角色 √ x x 查询角色列表 √ √ x 查询角色详情 √ √ x 创建角色 √ x x 修改角色 √ x x 删除角色 √ x x 更新角色关联用户 √ x x 更新角色关联权限模板 √ x x 查询权限模板列表 √ √ x 创建权限模板 √ x x 修改权限模板 √ x x 删除权限模板 √ x x
  • 使用SDK设置视频封面 视频点播提供的服务端SDK,对API接口进行了封装,您可以在 SDK中心 下载对应SDK,然后进行集成开发。 视频上传时设置封面:服务端SDK提供了本地上传、OBS转存、URL拉取三种媒资上传方法,可以在对应的方法中上传本地图片设置封面,或者截图设置封面。 视频更新时设置封面:服务端SDK支持在视频上传完成后,可以调用视频更新方法时上传本地图片,更新视频封面。 视频处理时设置封面:服务端SDK支持在视频上传完成后,可以调用音视频方法时设置截图参数,选择某张截图作为视频封面。
  • 场景说明 随着视频点播存储视频文件量的增加,设置视频封面不仅能提升展示的美观性,还能方便通过封面查找相关视频。同时,上传的视频封面也将会生成对应的封面地址,实现加速分发,可以直接将封面与视频文件一同引用到网页中。 上传视频时,点播服务会默认截取视频的第一帧作为封面图片。您也可以通过上传图片或截图封面来更新视频的封面。 上传封面:适用于需要通过封面表达视频的大概内容及重点的场景。在上传前,您需要提前线下设计一张JPG或PNG格式的封面图片。 截图封面:适用于希望将视频中的某个瞬间画面来设置成封面的场景。无需要额外准备工作,您可以直接使用视频点播的截图功能生成。 您可以通过以下方式自定义视频封面: 控制台设置视频封面 调用API设置视频封面 使用SDK设置视频封面
  • 调用API设置视频封面 视频点播API支持通过媒资上传、视频更新、视频处理三种方式设置视频的封面图片。 视频上传时设置封面 视频点播提供了上传、OBS转存、URL拉取三种创建媒资的方式,其中上传方式创建媒资支持上传或截图封面,其它二种方式仅支持截图封面。具体如下所示: 上传方式创建媒资 上传封面:调用创建媒资:上传方式接口,在请求参数中设置“cover_type”,即上传封面的图片类型,然后在请求的返回参数中获取“cover_upload_url”,通过“cover_upload_url”上传封面图片即可。 截图封面:调用创建媒资:上传方式接口,在请求参数中设置“thumbnail”,设置截图类型,指定某张截图作为封面。 OBS转存和URL拉取方式创建媒资 分别调用创建媒资:OBS转存方式口或创建媒资:URL拉取注入接口,在请求参数中设置“thumbnail”,设置截图类型,指定某张截图作为封面。 视频更新时设置封面 调用视频更新接口,在请求参数中设置“cover_type”,即上传封面的图片类型,然后在请求的返回参数中获取“cover_upload_url”,通过“cover_upload_url”上传封面图片即可。 视频处理时设置封面 调用视频处理接口生成截图,然后指定某张截图作为封面。若您需要在已生成的截图中更换封面,则可以先调用查询媒资详细信息接口,获取该视频的截图URL,然后调用设置封面接口修改截图封面。
  • OBS转存 若在开通点播服务前,已在华为云OBS桶中存储了大量的音视频文件,希望使用视频点播的转码、截图等功能对这些音视频进行处理。您可以使用该功能将OBS桶中的音视频文件复制转存到点播服务中,然后使用点播服务的相关功能。 华为云点播服务提供的OBS转存功能有如下限制: 不支持跨区域转存,如“华北-北京四”OBS桶中的音视频只能转存到“华北-北京四”点播服务中。 转存是指将OBS桶中的音视频文件复制一份到点播服务中,因此,若OBS桶中的音视频不删除,则OBS和点播服务中都将会有相关的存储费用产生。 支持转存的格式如下所示: 视频文件格式:MP4,TS,MOV,MXF,MPG,FLV,WMV,AVI,M4V,F4V,MPEG,3GP,ASF,MKV,WEBM,M3U8。其中,M3U8仅支持URL拉取方式上传。 音频文件格式:MP3,OGG,WAV,WMA,APE,FLAC,AAC,AC3,MMF,AMR,M4A,M4R,WV,MP2。 OBS转存方式暂只支持调用API实现,您可以调用创建媒资:OBS转存接口实现该功能。
  • 本地上传 支持批量上传音视频文件,便于快速将媒资上传到点播服务中,使用浏览器登录控制台即可进行上传。 华为云点播服务提供的本地上传功能有如下限制: 控制台由于安全策略,长时间上传可能会由于登录失效导致大文件上传失败,在上传大量文件时,需要操作控制台,从而保证控制台不自动退出登录。 支持上传的格式如下所示: 视频文件格式:MP4,TS,MOV,MXF,MPG,FLV,WMV,AVI,M4V,F4V,MPEG,3GP,ASF,MKV,WEBM,M3U8。其中,M3U8仅支持URL拉取方式上传。 音频文件格式:MP3,OGG,WAV,WMA,APE,FLAC,AAC,AC3,MMF,AMR,M4A,M4R,WV,MP2。
  • 搭建相关服务 若需要使用HLS加密功能,并实现解密播放功能,您需要在您的业务端服务器搭建密钥管理服务和Token生成服务。 密钥管理服务,搭建的密钥管理服务需要具备如下功能,密钥管理服务示例代码请参见示例代码。 支持身份鉴定:如实现原理中描述,密钥管理服务收到密钥请求时,需要验证请求的Token是否合法。 支持向点播服务获取密钥:HLS加密的原始密钥是存储在点播服务中的,因此,密钥管理服务需要调用点播服务API,获取对应媒资的密钥。 支持缓存获取的密钥:为避免每次都从点播服务获取密钥,密钥管理服务应该具备缓存功能,将获取的密钥进行缓存。 Token生成服务:当终端用户登录您的播放终端时,您的业务侧服务应该对终端用户的合法性进行校验,生成对应的Token,将带Token的播放地址返回播放器端。Token生成示例代码请参见示例代码。 生成的Token需要包含大写字母、小写字母和数字,长度可自行限制。每一次登录分配一个唯一的Token,且具备时效性。遵循权限最小化原则,建议将该Token仅用于HLS加密视频的场景。 您可以根据实际需求,参考demo源码搭建符合业务需求的密钥管理服务和Token生成服务。
  • 视频播放 由于本方案采用的HLS标准加密,对于支持HLS协议播放的播放器都可以进行解密播放。 登录视频点播控制台,在左侧导航树中选择“音视频管理”,进入音视频管理页面。 在已经加密的视频行单击“管理”,选择“播放地址”页签。 在对应的HLS格式行单击,播放HLS视频。 图2 播放地址 打开浏览器的开发者模式,可以看到控制台在预览播放时有自动通过配置的获取密钥URL去请求密钥,并解密播放。 图3 浏览器开发者模式
  • 场景说明 使用防盗链机制可以控制播放行为,避免非授权用户通过播放URL下载或播放点播视频,但无法阻止恶意的付费用户将视频下载到本地后进行二次分发。 为了有效防止视频泄露和盗链问题,华为云视频点播提供了对HLS视频内容进行加密的能力。加密后的视频,即使恶意用户下载也无法分发给其他人观看。HLS加密涉及到业务侧的密钥服务和Token生成服务的搭建,所以本方案主要适用于能自行搭建一套完整的鉴权及密钥管理服务的业务侧。
  • 实现原理 华为云视频点播提供的HLS加密使用的HLS规范中的通用加密方案,通过指定的AES-128加密算法来加密每一个TS,并在生成的m3u8文件中描述播放器如何解密TS文件的方法,支持所有的HLS播放器。 本方案中,点播服务集成了华为云的KMS,向HLS加密提供密钥。 加密流程 业务侧将视频上传到点播服务(VOD)后,请求HLS加密。 点播服务收到加密请求后,向KMS请求加密密钥,并将获取的密钥ID和密钥密文存储在点播服务中。 点播服务向 媒体处理 服务请求HLS加密,媒体处理服务通过转码功能将对应的视频进行加密。 转码加密后生成的m3u8文件带有“#EXT-X-KEY”标签,该标签包含了“METHOD”和“URI”属性,其中“URI”即为业务侧搭建的密钥管理服务的地址,示例如下所示。 若加密后使用的播放地址是https,则秘钥管理服务的地址也需要配置为https协议,否则无法在点播控制台预览播放。 #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:6 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-KEY:METHOD=AES-128,URI="https://domain-sample/encrypt/get-key?asset_id=6aee80009c4ca6970f508d6334194794",IV=0x80a3ff24ccd788042ca7f2237e74c59d #EXTINF:5.000000, 6aee80009c4ca6970f508d6334194794_1_1920X1080_3000_0_0.ts #EXTINF:5.000000, 6aee80009c4ca6970f508d6334194794_1_1920X1080_3000_0_1.ts #EXT-X-EN DLI ST 加密后,点播服务通过CDN将加密的HLS视频文件进行加速分发。 解密流程 终端用户登录播放器终端,业务侧会对终端用户进行身份校验,校验通过后,会为播放终端分配一个Token,并将带Token的播放地址返回给播放器端。 示例:若转码加密后的HLS视频播放地址为:https://1280.cdn-vod.huaweicloud.com/input/test.m3u8,则播放器终端获取的播放地址为:https://1280.cdn-vod.huaweicloud.com/input/test.m3u8?token={token} 播放器终端通过带Token的播放URL向CDN请求播放。由于Token是动态的,所以CDN收到请求后,会直接回源到点播服务。点播服务会将请求URL中的Token写入请求的m3u8文件的“URI”中。 点播服务返回给CDN的m3u8文件中会携带播放终端的Token值,示例如下所示。 #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:6 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-KEY:METHOD=AES-128,URI="https://domain-sample/encrypt/get-key?asset_id=6aee80009c4ca6970f508d6334194794&token={token}",IV=0x80a3ff24ccd788042ca7f2237e74c59d #EXTINF:5.000000, 6aee80009c4ca6970f508d6334194794_1_1920X1080_3000_0_0.ts #EXTINF:5.000000, 6aee80009c4ca6970f508d6334194794_1_1920X1080_3000_0_1.ts #EXT-X-ENDLIST 播放终端解析返回的m3u8文件,得到EXT-X-KEY标签中的“URI”内容,向“URI”请求密钥。 业务侧的密钥管理服务收到请求后,先验证Token的合法性,若Token合法,则通过调用点播服务的API查询密钥。 密钥管理服务可以选择将查询到的密钥缓存在本地,当下次有其它播放终端请求时,可以直接返回,无需每次都向点播服务获取。 密钥管理服务将点播服务返回的密钥返回给播放终端。播放终端通过获取的密钥解密播放m3u8文件。
  • 配置Key防盗链 为点播资源配置Key防盗链,通过鉴权URL的时效性来进一步加强点播资源的安全。 登录视频点播控制台。 在左侧导航栏中,选择“域名管理”,进入域名管理界面。 单击域名右侧“配置 ”,在“防盗链”页签选择“Key防盗链”。 在弹出的配置框中打开“防盗链开关”,并配置相关参数。 图3 配置Key防盗链 表1 参数说明 参数 描述说明 密钥值 即Key值,单击“生成”,可自动生成符合格式的密钥值。 误差允许时间 表示当前防盗链有效时间,默认为120分钟。 示例:若鉴权URL生成时间为1573806090(2019/11/15 16:21:30),配置的“误差允许时间”为120分钟,则鉴权URL的失效时间为2019/11/15 18:21:30。 旧key的失效时间 采用新Key时,旧Key值的失效时间,从新Key生效时开始计算,默认60分钟后失效。 示例:若新Key生效时间为2019/11/15 16:21:30,配置的“旧Key的失效时间”为60分钟,则旧鉴权URL的真正失效时间为2019/11/15 17:21:30。 算法 加密算法,支持ABCD四种算法,默认为算法D。选择的算法不同,生成的鉴权URL也是不同的,具体的生成规则可参考Key防盗链。 说明: 算法ABC暂不支持HLS和DASH播放场景,建议使用算法D。 单击“确定”,完成参数配置。 提交工单申请审核,提交的信息需要包含配置的域名,及表1中的信息。 审核通过后Key防盗链功能才会生效。若修改了Key防盗链的配置,也需重新提交工单审核。
  • 验证防盗链功能 验证Referer防盗链 在Referer防盗链中配置的referer白名单为“www.huaweicloud.com”,且不勾选“不包含空Referer”。在“http://www.example.com/test/test.html”网页中引用点播服务中的视频文件“https://1280.cdn-vod.huaweicloud.com/input/1.mp4”,访问该网页并播放视频,若播放失败则表示Referer防盗链生效。 验证Key防盗链 登录视频点播控制台,在左侧导航树中选择“音视频管理”。 在某个音视频行单击“管理”,选择“播放地址”页签,获取播放地址。 图4 获取鉴权URL 其中“地址”列为原始播放地址,单击可获取鉴权播放地址。 在播放器端分别播放原始播放地址和鉴权播放地址,若原始播放地址播放失败,鉴权播放地址播放成功,则表示Key防盗链生效。