统计并发在线人数有两种方式,请根据播放协议的不同,选择适合您的统计方式。
方式一:播放协议为 RTMP 和 FLV
若播放协议为 RTMP 和 FLV,并发连接数即在线人数,可以通过控制台直接查看在线人数,具体操作请参见 文档 指引。也可以通过调用云直播 API 3.0 查询流播放信息列表的接口 获取在线流观看人数。
方式二:播放协议为 HLS
若播放协议为 HLS,由于 HLS 协议的短连接属性,并发用户数单从云端统计并不准确,需通过用户端播放请求地址携带 UUID 唯一字符串,并在云端开启统计实现。下文介绍播放协议为 HLS 时统计并发用户数的功能实践方案。
用户端
本方案基于 UUID 实现,该唯一字符串由客户应用服务器生成,并作为请求参数附加在播放 URL 地址后。每位用户会有一个唯一的 UUID。
播放 URL 示例:
http(s)://${your_domain_name}/${path}/${to}/${stream}/${playlist_name}.m3u8?uuid=c44ada05-3431-442f-9233-cb245d3624c8
或
http(s)://${your_domain_name}/${app_name}/${stream_name}.m3u8?uuid=2c2b59d0-e0c7-4877-9823-e4965d92f7bf
云端支持
接口描述
接口请求域名:
live.tencentcloudapi.com。
该接口查询 HLS 并发在线人数统计信息,包括访问次数、在线人数、流量。
输入参数
参数名称 | 必选 | 类型 | 描述 |
Action | 是 | String | |
Version | 是 | String | |
Region | 否 | String | |
StartTime | 是 | String | UTC 开始时间,格式为:yyyy-mm-ddTHH:MM:SSZ,参考 IOS日期格式。 例如:北京时间2019-01-08 10:00:00,对应 UTC 时间为:2019-01-08T10:00:00+08:00。 支持最近一个月的查询。 示例值:2006-01-02T15:04:05Z |
EndTime | 是 | String | UTC 结束时间,格式为:yyyy-mm-ddTHH:MM:SSZ,参考 IOS日期格式。 例如:北京时间2019-01-08 10:00:00,对应utc时间为:2019-01-08T10:00:00+08:00。 支持最近一个月的查询,开始时间和结束时间查询跨度不超过六个小时。 示例值:2006-01-02T15:04:05Z |
PlayDomains.N | 否 | Array of String | 播放域名列表,为空则默认查全部域名。 示例值:testplay.com |
StreamNames.N | 否 | Array of String | 流名称列表,为空则默认查全部流。 直推模式下查询流名称 StreamName 字段取值方式(streamid 为直推流 id): hls: 多码率:streamid_子码率模板名 单码率转码:streamid_模板名 非转码:streamid dash: 单码率转码:streamid_模板名 非转码:streamid。 示例值:test |
输出参数
参数名称 | 类型 | 描述 |
DataInfoList | Array of HLSConcurrentUserInfo | HLS 直播并发人数统计信息。 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
示例
输入示例
查询 HLS 并发在线统计人数信息。
POST / HTTP/1.1Host: live.tencentcloudapi.comContent-Type: application/jsonX-TC-Action: DescribeHLSConcurrentUserInfo<公共请求参数>{"StartTime": "2022-10-12T14:00:00+08:00","EndTime": "2022-10-12T15:10:00+08:00"}
输出示例
{"Response": {"DataInfoList": [{"Flux": 2893,"OnlineNums": 1,"RequestCount": 11,"Bandwidth": 123,"Time": "2022-10-12T14:35:00+08:00"}],"RequestId": "b725570a-c1f1-4df7-b864-5ec3a9326cc0"}}
开发者资源
腾讯云 API 平台
API Inspector
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
命令行工具
错误码
错误码 | 描述 |
FailedOperation | 操作失败。 |
FailedOperation.NotFound | 找不到记录。 |
InternalError | 内部错误。 |
InvalidParameter | 参数错误。 |
ResourceNotFound.ForbidService | 用户被禁用。 |
ResourceNotFound.FreezeService | 用户服务被冻结。 |
ResourceNotFound.StopService | 账号停服,请先冲正开通服务后再操作。 |
ResourceNotFound.UserDisableService | 用户主动停服。 |