直播截图

最近更新时间:2024-07-22 14:23:31

我的收藏
直播截图是指以固定的时间间隔截取实时直播流的图像,并生成图片。您可以通过回调通知获取截图信息,截图数据可应用于直播鉴黄、直播房间封面等多种场景。

直播截图整体流程




整体流程
1. 在控制台或者直接调用云 API 配置直播截图功能。
2. 进行直播推流。
3. 截图服务根据配置生成截图数据,存储于对象存储系统。
4. 生成的截图的相关信息以回调形式通知到您。

直播截图配置

截图配置方式

云直播控制台 > 功能配置> 直播截图,详情请参见 直播截图

截图间隔配置

您可按照业务需要指定截图频率,即截图时间间隔(SnapshotInterval),取值范围为2秒 - 300秒,默认间隔为2秒。

截图宽高配置

截图服务支持指定宽(Width)高(Height)截图:



注意:
若无需指定特殊宽高,默认截图宽高(设置为 0)则为推流视频画面宽高,可不看如下进阶配置,直接跳过查看下一小节内容。
先看如下3个宽高概念:
推流宽高,即直播流视频画面宽高,本文设为(X,Y)。
配置宽高,即通过控制台/云 API 配置的宽高,本文设为(W,H)。
截图宽高,即截图服务生成截图的宽高,本文设为(N,M)。
截图服务支持以下几种场景配置:
不设置,即取默认(W,H)=(0,0),此时截图宽高与推流宽高一致,即 (N,M)=(X,Y)。
只设置宽 W,此时截图宽 N = W,而截图高则等比例缩放,即 M = N / X * Y。
只设置高 H,此时截图高 M = H,而截图宽则等比例缩放,即 N = M / Y * X。
同时设置 (W,H),此时截图宽高与配置宽高一致,即 (N,M)=(W,H)。
配置宽高自动交换特性,考虑如下场景: 若设置 W < H,且 W 和 H 都大于0,若推流时 X > Y,即配置宽小于高,而推流宽大于高。
说明:
此时若直接截图,图像则会出现扭曲变形,为避免变形出现,直播截图服务后台自动交换 W 与 H 的值,确保配置的宽高大小关系与直播推流画面保持一致。

直播截图事件消息通知

事件消息通知配置请参见 事件消息通知,截图回调通知以 JSON 格式,用 HTTP POST 协议通知到客户事先配置好的接收服务端。

截图回调相关字段

字段名称
类型
说明
event_type
int
回调信息类型,截图回调固定为200
stream_id
string
直播流名称
channel_id
string
同直播流名称
create_time
int64
截图生成 Unix 时间戳
file_size
int
截图文件大小,单位为字节
width
int
截图宽,单位为像素
height
int
截图高,单位为像素
pic_url
string
截图文件路径 /path/name.jpg,详见下文 部分字段详解
pic_full_url
string
截图完整 URL,详见下文 部分字段详解
sign
string
回调签名,详见 事件消息通知
t
int64
回调签名过期 Unix 时间戳,详见 事件消息通知

部分字段详解

pic_url
详解:
path:年-月-日
name:直播流名称-screenshot-时-分-秒-宽x高.jpg
例子:
/2018-12-17/stream_name-screenshot-19-06-59-640x352.jpg
该字段可用于拼接自定义的 COS CDN 域名,若不需要 CDN 域名可直接使用 pic_full_url。
pic_full_url
详解:
http://COS域名+pic_url
例子:
http://testbucket-1234567890.cos.region.myqcloud.com/2018-12-17/stream_name-screenshot-19-06-59-640x352.jpg

截图回调示例

{

"event_type":200,
"stream_id":"stream_name",
"channel_id":"stream_name",
"create_time":1545030273,
"file_size":7520,
"width":640,
"height":352,
"pic_url":"/2018-12-17/stream_name-screenshot-19-06-59-640x352.jpg",
"pic_full_url":"http://testbucket-1234567890.cos.region.myqcloud.com/2018-12-17/stream_name-screenshot-19-06-59-640x352.jpg",
"sign":"ca3e25e5dc17a6f9909a9ae7281e300d",
"t":1545030873

}