云服务器内容精选

  • 使用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防盗链生效。
  • 配置Referer防盗链 先配置Referer防盗链,限制请求来源,使点播资源得到最基本的安全保障。 当前Referer防盗链配置不支持带端口。 登录视频点播控制台。 在左侧导航栏中,选择“域名管理”,进入域名管理界面。 单击域名右侧“配置 ”,在“防盗链”页签单击“Referer防盗链”。 在弹出的配置框中打开“开关”,并配置相关参数。 图2 Referer防盗链配置信息 类型:支持黑名单和白名单模式。 Referer黑名单:表示仅名单内的域名不允许访问点播资源,其它可以访问。若同时勾选了“包含空Referer”,则表示不允许HTTP Header中Referer为空的请求。 Referer白名单:表示仅名单内的域名允许访问点播资源,其它不可以访问。若同时勾选了“包含空Referer”,则表示允许HTTP Header中Referer为空的请求。 规则:名单详情,最多支持4级域名,最多支持100条,以英文“;”分隔。域名、IP地址可混合输入,支持泛域名添加。域名前不能带协议名(http://和https://)。 示例:www.example.com;*.test.com;192.168.0.0 单击“确定”,完成配置。 大约需要3-5分钟,Referer防盗链才生效。
  • 场景说明 为对分发的音视频进行播放权限控制,点播服务提供了防盗链功能。开启后,CDN会对所有播放请求中携带的关键信息进行校验,仅校验通过的请求会予以响应,其它非法的访问将直接返回403。防盗链方案中包含Referer防盗链和Key防盗链。 Referer防盗链是基于HTTP协议支持的Referer机制实现的,通过播放请求中携带的Referer字段识别请求来源。配置黑名单或白名单,CDN将根据名单对请求来源进行过滤,从而达到最基本的访问控制的目的。Referer防盗链具有配置便捷,无需额外开发,快速生效等优势,适用于音视频主要在web端引用的场景。 由于HTTP Header的内容可伪造,Referer防盗链只能达到最基本的保护,安全性不高。所以还可以采用Key防盗链方案,通过鉴权播放URL保障点播资源的安全。由于鉴权的Key值具有时效性,所以适用于对媒资安全要求比较高的场景。 本示例中,开启Referer防盗链,只允许白名单中的域名访问视频文件,然后通过Key防盗链生成鉴权播放地址。
  • 实现原理 Referer防盗链的实现原理比较简单,在点播控制台配置了白名单或黑名单后,点播服务会将这份名单分发到CDN中。当CDN接收到资源请求时,会根据这个名单来识别请求是否合法,若合法,则访问请求的资源,否则拒绝并返回403。 Key防盗链是视频点播的加速节点与点播源站联合实现的,比Referer防盗链更为安全可靠的一种防盗播方案。Key防盗链的实现过程如图1所示。 图1 Key防盗链实现原理 流程说明如下所示: 租户在点播控制台开启Key防盗链功能,并配置误差允许时间、算法等。 点播服务将配置的密钥值等下发到CDN节点中。 租户通过点播服务获取到点播媒资的鉴权URL。 观众通过租户提供的鉴权播放URL向CDN请求视频播放。 CDN根据播放URL中携带的鉴权信息校验请求的合法性,仅校验通过的请求会被允许。
  • 媒资管理 选择需要查看的时间范围及时间粒度,即可查看到媒资的标准存储、低频存储和归档存储的统计数据。 您可以单击“下载”,将媒资存储量统计详情导出到本地。 支持查询最近30天的历史数据。 查询的时间跨度最长为31天。 最小统计粒度为1小时,如2020-11-06 8:00:00~2020-11-06 9:00:00时间段内的数据会统计展示在2020-11-06 8:00:00这个统计点上,其中,展示的数据为用户所选粒度时间段内的最大值。 统计图中呈现的是所选时间范围内的媒资标准存储量统计信息,将鼠标指针停留在趋势图上,滚动鼠标滚轮可针对某时间跨度范围内的趋势图时间横轴进行拉大或缩小整体占比。 图3 标准存储量统计