云服务器内容精选

  • 功能特性 视频点播 为用户提供视频上传、 媒资管理、自动化转码处理、视频播放的一站式视频点播媒体服务,广泛地用于在线教育、门户网站、社交、直播回看等场景。视频点播的功能详情如表1所示。 表1 功能特性 类别 特性名称 特性说明 音视频上传 上传格式 视频文件格式: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。 上传方式 支持控制台上传音视频,提供了本地上传和URL拉取方式。 提供上传API,同时也提供了Java、Python、Go、NodeJs、.Net、PHP和C++语言版的服务端SDK。 上传机制 每个上传的视频文件会拆分成多个小文件(默认20MB)上传到点播平台。 每个小文件的上传超时时间为60分钟。 媒资管理 分类管理 支持创建分类,按类管理上传的音视频文件,便于查找。 封面管理 支持首帧封面,由点播服务自动生成。 支持本地上传视频封面,支持JPG和PNG格式。 支持通过截图功能设置封面。 字幕管理 支持上传SRT格式,文字编码格式为UTF-8的字幕文件。 视频发布 上传的视频发布之后,会生成特定的URL,用户可以通过URL观看视频资源。 CDN预热 针对加速 域名 预热对应的媒资文件至CDN节点,获得更高速的播放体验。 音视频处理 音视频转码 支持输入的音视频文件格式:MP4、TS、MOV、FLV、MPG、MXF、WMV、ADTS、AVI、MKV、MPEG。 支持输入的视频编码格式:H.264、 H.265、 MPEG-2、MPEG-4、MJPEG、WMV1/2/3、ProRes 422。 支持输入的音频编码格式:AAC、 AC3、EAC3、HE-AAC、MP2、MP3、PCM(s161e,s16be,s241e,s24be,dvd)、WMA。 支持输出的音视频文件格式:DASH、HLS、MP4、MP3、ADTS。 支持输出的音视频编码格式:H264、 H265、HE_AAC、AAC、MP3。 说明: 如果用户需要多转码模式,即同一媒资转码成不同格式,需提交工单申请开通。 视频水印 支持对上传的视频添加特定的水印,暂只支持添加PNG、JPG、JPEG格式,大小不超过10M的图片水印。 音频提取 支持提取视频文件中的音频文件,暂只支持提取MP3格式的音频。 视频截图 支持对视频文件进行截图,生成JPG格式的图片文件。 采样截图:根据时间间隔采样截图,默认截图间隔为12s。 指定时间点截图:指定一组时间点,截取视频中这些时间点的图像。 音视频转封装 支持仅转换音视频文件的格式,不改变分辨率和码率等参数。 支持将FLV和HLS格式的音视频文件转封装为MP4格式。 支持将MP4、FLV和MP3格式的音视频文件转封装为HLS格式。 音 视频审核 支持对上传的音视频进行合法性审核。 音视频加速播放 自定义域名 支持使用配置好的视频点播域名进行音视频分发加速。 防盗链 支持Referer防盗链、Key防盗链等安全机制有效保护加速分发的资源。 安全管理 Referer防盗链 支持通过限制Referer的黑白名单方式,限制用户对点播资源的访问,保证点播资源不被非法网站盗链。 Key防盗链 支持通过Key方式加密播放的URL,限制用户对点播资源的访问,保证点播资源不被非法网站盗链。 HLS加密 支持对HLS视频内容进行AES128加密,保证点播资源不被泄露和非法盗链。 HTTPS安全加速 支持配置HTTPS安全加速。 支持强制跳转HTTPS和HTTP2.0。 点播控制台 概览 支持查看点播的资源用量等数据。 支持变更点播的CDN计费模式。 音视频管理 支持转码、预热、分类、导出、删除、取消转码音视频文件。 支持对视频文件进行音频提取。 支持为视频文件上传封面和字幕文件。 支持查看音视频的播放地址及字幕和封面信息。 视频处理 支持对视频文件进行截图。 支持通过工作流处理音视频文件。 音视频审核 支持对上传的音视频进行合法性审核。 上传音视频 支持通过本地上传和URL拉取两种方式上传音视频文件。 全局设置 支持添加配置转码模板、水印模板、HLS加密、消息订阅、工作流等。 域名管理 支持添加自有域名,配置CNAME、HTTPS安全加速及防盗链。 用量查询 支持查看CDN侧的流量和峰值带宽统计数据,同时也支持查看点播源站侧的存储空间和转码时长的消耗。 数据分析 支持查看CDN侧的流量、带宽、流量命中率等数据,还支持根据域名查询音视频文件播放次数及播放量的TOP排名。 点播API 媒资上传 提供上传方式、OBS转存方式、URL拉取方式媒资创建接口。 媒资管理 提供媒资发布、取消,修改媒资属性,查询和删除媒资等接口。 CDN预热 提供媒资预热接口,支持按媒资ID或媒资URL进行预热。 媒资处理 提供视频处理、封面设置、音视频审核等接口。其中视频处理接口支持转码、截图、HLS加密等操作。 媒资分类 提供了媒资分类创建、删除、修改和查询接口。 统计分析 提供了查询CDN统计信息、源站统计信息、TOP媒资信息的接口。支持查看CDN、点播源站的相关统计信息。 密钥查询 支持查询HLS加密的密钥。 点播SDK 服务端SDK 提供了媒资上传、媒资处理、媒资管理、预热分发等功能。
  • 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,然后调用设置封面接口修改截图封面。
  • 本地上传 支持批量上传音视频文件,便于快速将媒资上传到点播服务中,使用浏览器登录控制台即可进行上传。 华为云点播服务提供的本地上传功能有如下限制: 控制台由于安全策略,长时间上传可能会由于登录失效导致大文件上传失败,在上传大量文件时,需要操作控制台,从而保证控制台不自动退出登录。 支持上传的格式如下所示: 视频文件格式: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转存 若在开通点播服务前,已在华为云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转存接口实现该功能。
  • 场景说明 使用防盗链机制可以控制播放行为,避免非授权用户通过播放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文件。
  • 搭建相关服务 若需要使用HLS加密功能,并实现解密播放功能,您需要在您的业务端服务器搭建密钥管理服务和Token生成服务。 密钥管理服务,搭建的密钥管理服务需要具备如下功能,密钥管理服务示例代码请参见示例代码。 支持身份鉴定:如实现原理中描述,密钥管理服务收到密钥请求时,需要验证请求的Token是否合法。 支持向点播服务获取密钥:HLS加密的原始密钥是存储在点播服务中的,因此,密钥管理服务需要调用点播服务API,获取对应媒资的密钥。 支持缓存获取的密钥:为避免每次都从点播服务获取密钥,密钥管理服务应该具备缓存功能,将获取的密钥进行缓存。 Token生成服务:当终端用户登录您的播放终端时,您的业务侧服务应该对终端用户的合法性进行校验,生成对应的Token,将带Token的播放地址返回播放器端。Token生成示例代码请参见示例代码。 生成的Token需要包含大写字母、小写字母和数字,长度可自行限制。每一次登录分配一个唯一的Token,且具备时效性。遵循权限最小化原则,建议将该Token仅用于HLS加密视频的场景。 您可以根据实际需求,参考demo源码搭建符合业务需求的密钥管理服务和Token生成服务。
  • 视频播放 由于本方案采用的HLS标准加密,对于支持HLS协议播放的播放器都可以进行解密播放。 登录视频点播控制台,在左侧导航树中选择“音视频管理”,进入音视频管理页面。 在已经加密的视频行单击“管理”,选择“播放地址”页签。 在对应的HLS格式行单击,播放HLS视频。 图2 播放地址 打开浏览器的开发者模式,可以看到控制台在预览播放时有自动通过配置的获取密钥URL去请求密钥,并解密播放。 图3 浏览器开发者模式
  • 配置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防盗链的配置,也需重新提交工单审核。