视频直播提供了截图功能,支持按配置截图模板在推流过程中截取直播画面,并存储 在OBS桶中。一个推流域名下可以配置多个不同AppName的截图模板,即当推流开始 时,启动直播截图功能,其中与推流地址中的AppName相同的截图模板生效。
截图流程
直播服务截图模板的配置流程,如图5-28所示。
图5-28 截图模板配置流程图
1. 创建桶(可选):创建用于存储直播截图文件的OBS桶,若已有OBS桶,可直接
跳转到2。
说明
存储直播截图的OBS桶必须与使用的直播服务在同一区域,如使用“华北-北京四”的直播 服务,则直播截图只能存储在“华北-北京四”区域的OBS桶。
2. 桶授权:在直播服务中对存储截图的OBS桶进行授权,允许直播服务将截图存储
在对应的OBS桶中。
3. 配置截图模板:直播视频将按照设定的间隔时间对正在直播的视频进行画面截图
操作,并以.jpg文件保存至指定的OBS存储位置。
4. 查看直播截图:直播截图模板配置成功后,启动直播推流,可以通过截图的输出
路径快速进入到OBS桶中查看存储的直播截图,还可以通过回调消息查看直播截 图。
注意事项
● 直播服务所在区域与存储截图的OBS桶需在同一区域。
● 一个域名可配置多个截图模板,与推流地址中的AppName相同的截图模板生效。
● 暂只支持截图生成JPG格式的图片文件。
前提条件
● 已添加推流域名。
● 已在域名DNS服务商处完成CNAME解析配置。
● 直播截图产生的截图文件最终是存储在对象存储服务中的,因此您需要先开通对 象存储服务,具体请参见OBS快速入门。
费用说明
● 直播截图功能为计费项,视频直播服务将根据实际产生的视频截图数量收取费 用。具体价格详情请参见Live产品价格详情。
● 直播截图生成的截图文件最终存储在对象存储服务中,因此,产生的存储使用量 费用将由对象存储服务单独收取。具体价格详情请参见OBS价格详情。
步骤一:创建桶(可选)
若您还未在OBS服务中创建用于存储文件的桶,或者您需要新创建桶用于存储直播截 图文件,请参见OBS帮助中心创建与使用的直播服务同一区域的OBS桶。否则,请直 接跳转到步骤二:OBS桶授权。
步骤二:OBS 桶授权
OBS桶创建后,您需要按照如下步骤在直播服务中对相关的桶进行授权,允许直播服 务将截图存储在对应的OBS桶中。
步骤1 登录视频直播控制台。
步骤2 在左侧导航树中选择“云资源授权”,进入桶授权页面。
步骤3 在“直播授权”页签,选择需要存储直播截图的OBS桶,单击“授权”,如图5-29所 示。
图5-29 云资源授权
----结束
步骤三:配置直播截图
OBS授权成功后,您可以开始配置直播截图模板。
步骤1 登录视频直播控制台。
步骤2 在左侧导航树中选择“域名管理”,进入域名管理页面。
步骤3 在需要进行直播截图的推流域名行单击“管理”。
步骤4 在左侧导航树中选择“模板配置 > 截图配置”。
步骤5 单击“新建截图”,进入截图模板参数配置页面。
图5-30 配置直播截图模板
具体参数配置说明请参见表5-9。
表5-9 截图参数配置
参数名 描述
AppName 应用名称,默认为“live”,您也可以根据实际需求进行自定 义,支持大小写字母、数字、下划线(_)中划线(-)。
存储位置-桶 存储直播截图的OBS桶。
存储位置-路径 OBS桶存储直播截图的路径。
截图频率 截图频率。
单位为秒。
取值范围:5-3600。
存储方式 在OBS桶存储截图的方式,可选为实时截图或覆盖截图。
● 实时截图:以时间戳命名截图文件,保存所有截图文件到OBS 桶,命名如下所示。
{domain}/{app_name}/{stream_name}/{UTCTimestamp}.jpg
● 覆盖截图:只保存最新的截图文件,有新的截图会覆盖原来的 截图文件,命名如下所示。
{domain}/{app_name}/{stream_name}.jpg
设置回调 回调开关。
回调地址 回调开关打开后,输入回调地址,回调地址中不能携带消息头和 参数。
截图回调消息以JSON格式,通过HTTP接口向用户服务器发送 POST请求,将截图回调信息反馈到用户服务器。截图回调消息 体请参见回调示例。
参数名 描述
步骤7 您可以单击操作列的“修改”,修改直播截图模板的相关参数,其中,AppName不支 持修改。
{ "domain": "play.example.com", "app": "live",
"stream_name": "test001",
"snapshot_url": "https://xxx.obs.cn-north-4.myhuaweicloud.com:443...", "width":"720",
"height":"1280", "obs_addr": { "bucket": "xxx", "location": "cn-north-4", "object": "xxx.jpg"
},
"auth_timestamp":"1587954140,",
"auth_sign":"4918b1axxxxxxb583cffa119d72513bbc35a989f8569fxxxxxx057646154a04a"
}
表5-10 消息体字段说明
字段 描述
domain 推流域名。
app 应用名称。
stream_name 流名称。
snapshot_url 截图下载链接。
width 图片宽度。
单位:像素。
height 图片高度。
单位:像素。
obs_addr 截图所在的OBS桶地址,具体结构体说明如下所示:
● bucket:OBS的桶名称。
● location:OBS桶所在数据中心。
● object:OBS对象路径。
auth_timestamp 事件通知签名过期UNIX时间戳。当配置了“鉴权密钥”
时,携带该字段。
格式为十进制的UNIX时间戳,即从1970年1月1日
(UTC/GMT的午夜)以来的当前时间秒数。
示例:1592639100(即2020-06-20 15:45)
auth_sign 事件通知签名。当配置了“鉴权密钥”时,携带该字段。
auth_sign = HmacSHA256(domain + app + stream_name + snapshot_url + width + height + obs_addr.bucket + obs_addr.location + obs_addr.object + auth_timestamp,key)
其中,key为鉴权密钥值。
● 已在域名DNS服务商处完成CNAME解析配置。
新增推流回调配置
步骤1 登录视频直播控制台。