- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 云直播
- 媒体直播
- 最佳实践
- 云直播API参考
- 媒体直播API参考
- 云直播服务端SDK参考
- 低时延客户端SDK参考
-
常见问题
- 产品咨询
-
计费购买
- 点播的流量包直播服务能用吗?
- 如何查看直播套餐包的使用详情?
- 直播套餐包是否支持退订?
- 直播套餐包使用完之后会被停服吗?
- 购买了直播CDN出流包,为什么还会从账户余额扣费?
- 购买云直播转码套餐后,产生的转码费用未从套餐包中抵扣?
- 如何估算视频直播的流量消耗?
- 云直播录制需要收取哪些费用?
- 视频直播有哪些计费项?如何知道自己需要支付哪些费用?
- 如何查看直播按需资源的使用量和消费金额?
- 如何修改直播服务的计费方式?
- 不使用时是否需要停用或删除直播服务?
- 直播流量计费是按下行流量还是上行流量?
- 为什么账户欠费后仍一直产生直播费用?
- 视频直播服务的Key防盗链功能是否收费?
- 云直播转码是如何计费的?
- 如何知道账户是否欠费?
- 日峰值带宽是指上行带宽还是下行带宽?
- 为什么每月1号都会扣除一笔录制费用?
- 域名管理
-
直播录制
- 是否支持直播录制存储至OBS桶中?
- 直播录制周期最多支持录制多长时间?
- 是否支持为每个直播流配置录制模板?
- 直播录制是否会录制转码流?
- 直播录制支持的ts分片大小是多少?
- 一次直播录制会生成几个录制文件?
- 已经删除录制规则,为什么还会生成录制文件?
- 为什么直播推流未中断,录制文件分成了两个?
- 直播录制后,如何获取录制文件地址?
- 是否支持通过调用API进行直播录制?
- 配置了录制至OBS模板,为什么未生成录制文件?
- 录制至OBS模板中,流名称是否支持通配符?
- 如何删除录制文件?
- 直播录制是否支持按需启停?
- 直播录制为什么无法收到RECORD_FILE_COMPLETE回调?
- 直播录制流名StreamName是否支持正则表达式的配置?
- 为什么直播录制生成的download_url无法下载视频?
- 修改了录制规则及文件存储路径,为什么没有生效?
- 直播中断流多次,可以录制成一个文件吗?
- 直播转码
- 直播截图
- 直播安全
- 直播推流
- 直播播放
- 直播回调
- API使用
- 统计分析
- 第三方工具使用
- 故障排除
- 通用参考
链接复制成功!
直播截图
视频直播提供了截图功能,支持按配置截图模板在推流过程中截取直播画面,并存储在OBS桶中。一个推流域名下可以配置多个不同AppName的截图模板,即当推流开始时,启动直播截图功能,其中与推流地址中的AppName相同的截图模板生效。
截图流程
直播服务截图模板的配置流程,如图1所示。
注意事项
- 直播服务所在区域与存储截图的OBS桶需在同一区域。
- 推荐将OBS桶设置为私有桶,效果如下所示:
- 如果将OBS桶设置为私有桶,必须添加鉴权信息,才能访问并下载OBS截图文件。鉴权信息可参考OBS生成带授权信息的URL文档生成。
- 如果将OBS桶设置为公开桶,则可直接访问并下载OBS截图文件。
- 一个域名可配置多个截图模板,与推流地址中的AppName相同的截图模板生效。
- 暂只支持截图生成JPG格式的图片文件。
- 在“亚太-曼谷”区域,完成模板配置后需提交工单申请配置审核,审核通过后截图配置才生效。
- 华为云视频直播服务计划于2024年8月15日,下线截图回调地址携带鉴权信息功能,届时截图回调地址将不再携带鉴权信息。
费用说明
步骤一:创建桶(可选)
若您还未在OBS服务中创建用于存储文件的桶,或者您需要新创建桶用于存储直播截图文件,请参见OBS帮助中心创建与使用的直播服务同一区域的OBS桶。否则,请直接跳转到步骤二:OBS桶授权。
步骤二:OBS桶授权
OBS桶创建后,您需要按照如下步骤在直播服务中对相关的桶进行授权,允许直播服务将截图存储在对应的OBS桶中。
OBS桶授权完成后,视频直播服务可以正常访问该OBS桶。请确保该桶仅处理直播相关业务,切勿在桶中存放涉密文件。
- 登录视频直播控制台。
- 在左侧导航树中选择“云资源授权”,进入桶授权页面。
- 在“直播授权”页签,选择需要存储直播截图的OBS桶,单击“授权”即可。
图2 云资源授权
步骤三:配置直播截图
OBS授权成功后,您可以开始配置直播截图模板。
- 登录视频直播控制台。
- 在左侧导航栏中,选择“域名管理”,进入域名管理页面。
- 在需要进行直播截图的推流域名行,单击“管理”。
- 在左侧导航栏中,选择“模板配置 > 截图配置”。
- 单击“新建截图”,界面右侧弹出“截图配置”对话框。
图3 配置直播截图模板
具体参数配置说明请参见表1。
表1 截图参数配置 参数名
描述
应用名
应用名称,默认为“live”,您也可以根据实际需求进行自定义,支持大小写字母、数字、下划线(_)中划线(-)。
存储位置
直播截图存储在OBS服务。
存储-桶
存储直播截图的OBS桶。
存储-路径
OBS桶存储直播截图的路径。
截图频率
截图频率,单位为秒。
取值范围:5-3600。
存储方式
存储截图文件的模式。
- 全保存模式:截图文件名中含时间戳,每条流的所有截图文件均会保存在存储对象里。示例:snapshot/{domain}/{app_name}/{stream_name}/{UnixTimestamp}.jpg
- 覆盖模式:截图文件名不含时间戳,每条流只保存最新的截图文件,新的截图文件会覆盖原来的截图文件。示例:snapshot/{domain}/{app_name}/{stream_name}.jpg
设置回调
回调开关。
协议
回调地址支持HTTP/HTTPS协议。HTTP可能存在安全问题,推荐使用HTTPS。
回调地址
回调开关打开后,输入回调地址,回调地址中不能携带消息头和参数。支持HTTP/HTTPS协议,推荐使用HTTPS协议。
截图回调消息以JSON格式,通过HTTP接口向用户服务器发送POST请求,将截图回调信息反馈到用户服务器。截图回调消息体请参见回调示例。
鉴权密钥(可选)
鉴权Key值。若需要使用回调鉴权功能,请配置鉴权密钥,否则,留空即可。
- 支持自定义设置,长度为32-128个字符。
- 支持自动生成。
- 单击“确定”,完成直播截图模板的配置。
截图模板配置后,即可开始直播推流,推流过程中,直播服务会根据创建的截图模板对直播流进行截图。
- 您可以单击操作列的“修改”,修改直播截图模板的相关参数,其中,AppName不支持修改。
步骤四:查看直播截图
若您已配置直播截图模板,启动直播推流后,可以通过截图的输出路径快速进入到OBS桶中查看存储的直播截图,您还可以通过回调消息查看直播截图。
- 通过控制台查看直播截图
- 通过回调消息查看直播截图
若您在配置直播截图模板时,设置了回调地址,则每生成一张截图都将收到截图回调消息。回调消息字段如表2所示。
{ "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" }
表2 消息体字段说明 字段
描述
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为鉴权密钥值。