4. 开始使用
4.1 导入依赖模块
Copied!
from huaweicloudsdkcore.auth.credentials import BasicCredentials, GlobalCredentials
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcore.http.http_config import HttpConfig
from huaweicloudsdklive.v2 import *
import os
4.2 初始化认证信息, 及客户端
Copied!
ak = os.environ["HUAWEICLOUD_SDK_AK"]
sk = os.environ["HUAWEICLOUD_SDK_SK"]
def get_client(ak, sk, region):
config = HttpConfig.get_default_config()
config.timeout = 3
return LiveClient.new_builder() \
.with_http_config(config) \
.with_credentials(BasicCredentials(ak, sk)) \
.with_region(region) \
.build()
相关参数说明如下所示:
4.4 配置请求参数
以获取实时在线人数接口为例:
Copied!
request = ListLiveStreamsOnlineRequest()
request.publish_domain = "publish.example.huawei.com"
request.app = "live"
request.limit = 10
request.offset = 1
request.stream = "testStream"
相关demo说明见 5. SDK demo代码解析
4.5 发送请求
以获取实时在线人数接口为例:
Copied!
response = client.list_live_streams_online(request)
##5. SDK demo代码解析
5.1 查询播放带宽趋势接口
demo请见statistical_analyze_demo.list_bandwidth_detail_demo()方法
5.1.1 构造请求参数
Copied!
request = ListBandwidthDetailRequest()
request.play_domains = {"play.example.huawei.com"}
request.app = "live"
request.isp = {"CMCC"}
request.interval = 300
5.1.2 发送请求
Copied!
response = client.list_bandwidth_detail(request)
5.1.3 接口及参数说明
请见 查询播放带宽趋势接口
5.2 查询播放流量趋势接口
demo请见statistical_analyze_demo.list_domain_traffic_detail_demo()方法
5.2.1 构造请求参数
Copied!
request = ListDomainTrafficDetailRequest()
request.play_domains = {"play.example.huawei.com"}
request.app = "live"
request.isp = {"CMCC"}
request.interval = 300
5.2.2 发送请求
Copied!
response = client.list_domain_traffic_detail(request)
5.2.3 接口及参数说明
请见 查询播放带宽趋势接口
5.3 查询播放带宽峰值接口
demo请见statistical_analyze_demo.list_domain_bandwidth_peak_demo()方法
5.3.1 构造请求参数
Copied!
request = ListDomainBandwidthPeakRequest()
request.play_domains = {"play.example.huawei.com"}
request.app = "live"
request.isp = {"CMCC"}
5.3.2 发送请求
Copied!
response = client.list_domain_bandwidth_peak(request)
5.3.3 接口及参数说明
请见 查询播放带宽峰值接口
5.4 查询播放流量汇总接口
demo请见statistical_analyze_demo.list_domain_traffic_summary_demo()方法
5.4.1 构造请求参数
Copied!
request = ListDomainTrafficSummaryRequest()
request.play_domains = {"play.example.huawei.com"}
request.app = "live"
request.isp = {"CMCC"}
5.4.2 发送请求
Copied!
response = client.list_domain_traffic_summary(request)
5.4.3 接口及参数说明
请见 查询播放流量汇总接口
5.5 查询观众趋势接口
demo请见statistical_analyze_demo.list_users_of_stream_demo()方法
5.5.1 构造请求参数
Copied!
request = ListUsersOfStreamRequest()
request.play_domains = {"play.example.huawei.com"}
request.app = "live"
request.isp = {"CMCC"}
request.interval = 300
5.5.2 发送请求
Copied!
response = client.list_users_of_stream(request)
5.5.3 接口及参数说明
请见 查询观众趋势接口
5.6 查询直播拉流HTTP状态码接口
demo请见statistical_analyze_demo.list_query_http_code_demo()方法
5.6.1 构造请求参数
Copied!
request = ListQueryHttpCodeRequest()
request.play_domains = {"play.example.huawei.com"}
request.code = {"200"}
5.6.2 发送请求
Copied!
response = client.list_query_http_code(request)
5.6.3 接口及参数说明
请见 查询直播拉流HTTP状态码接口
5.7 查询转码用量接口
demo请见statistical_analyze_demo.list_transcode_data_demo()方法
5.7.1 构造请求参数
Copied!
request = ListTranscodeDataRequest()
request.publish_domain = "publish.example.huawei.com"
request.start_time = "2020-08-18T07:20:40Z"
request.end_time = "2020-08-18T10:20:40Z"
5.7.2 发送请求
Copied!
response = client.list_transcode_data(request)
5.7.3 接口及参数说明
请见 查询转码用量接口
5.8 查询录制用量接口
demo请见statistical_analyze_demo.list_record_data_demo()方法
5.8.1 构造请求参数
Copied!
request = ListRecordDataRequest()
request.start_time = "2020-08-18T07:20:40Z"
request.end_time = "2020-08-18T10:20:40Z"
5.8.2 发送请求
Copied!
response = client.list_record_data(request)
5.8.3 接口及参数说明
请见 查询录制用量接口
5.9 查询截图用量接口
demo请见statistical_analyze_demo.list_snapshot_data_demo()方法
5.9.1 构造请求参数
Copied!
request = ListSnapshotDataRequest()
request.publish_domain = "publish.example.huawei.com"
request.start_time = "2020-08-18T07:20:40Z"
request.end_time = "2020-08-18T10:20:40Z"
5.9.2 发送请求
Copied!
response = client.list_snapshot_data(request)
5.9.3 接口及参数说明
请见 查询截图用量接口
5.10 查询上行带宽数据接口
demo请见statistical_analyze_demo.showUpBandwidth()方法
5.10.1 构造请求参数
Copied!
request = ShowUpBandwidthRequest()
request.publish_domain = "publish.example.huawei.com"
request.start_time = "2020-08-18T07:20:40Z"
request.end_time = "2020-08-18T10:20:40Z"
5.10.2 发送请求
Copied!
response = client.show_up_bandwidth(request)
5.10.3 接口及参数说明
请见 查询上行带宽数据接口
5.11 查询域名维度推流路数接口
demo请见statistical_analyze_demo.show_stream_count_demo()方法
5.11.1 构造请求参数
Copied!
request = ShowStreamCountRequest()
request.publish_domain = "publish.example.huawei.com"
request.start_time = "2020-08-18T07:20:40Z"
request.end_time = "2020-08-18T10:20:40Z"
5.11.2 发送请求
Copied!
response = client.show_stream_count(request)
5.11.3 接口及参数说明
请见 查询域名维度推流路数接口
5.12 查询历史推流列表接口
demo请见statistical_analyze_demo.list_history_streams_demo()方法
5.12.1 构造请求参数
Copied!
request = ListHistoryStreamsRequest()
request.domain = "publish.example.huawei.com"
request.app = "live"
request.limit = 10
request.offset = 0
5.12.2 发送请求
Copied!
response = client.list_history_streams(request)
5.12.3 接口及参数说明
请见 查询历史推流列表接口
5.13 查询播放画像信息接口
demo请见statistical_analyze_demo.show_stream_portrait_demo()方法
5.13.1 构造请求参数
Copied!
request = ShowStreamPortraitRequest()
request.play_domain = "play.example.huawei.com"
request.time = "20200904"
5.13.2 发送请求
Copied!
response = client.show_stream_portrait(request)
5.13.3 接口及参数说明
请见 查询播放画像信息接口
直播服务数据统计分析场景示例(Python版本)
0. 版本说明
本示例基于华为云SDK V3.0版本开发。
1. 简介
华为云提供了直播服务端SDK,您可以直接集成服务端SDK来调用直播的相关API,从而实现对直播服务的快速操作。该示例展示了如何通过Python版SDK进行数据统计分析。
2. 开发前准备
3. 安装SDK
视频直播服务端SDK支持python3及以上版本。执行“ python --version” 检查当前python的版本信息。
使用服务端SDK前,您需要安装“huaweicloudsdkcore ”和 “huaweicloudsdklive”,具体的SDK版本号请参见 SDK开发中心 。
# 安装核心库 pip install huaweicloudsdkcore # 安装Live服务库 pip install huaweicloudsdklive
4. 开始使用
4.1 导入依赖模块
from huaweicloudsdkcore.auth.credentials import BasicCredentials, GlobalCredentials from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcore.http.http_config import HttpConfig # 导入指定Live的库 from huaweicloudsdklive.v2 import * import os
4.2 初始化认证信息, 及客户端
# 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak = os.environ["HUAWEICLOUD_SDK_AK"] sk = os.environ["HUAWEICLOUD_SDK_SK"] def get_client(ak, sk, region): config = HttpConfig.get_default_config() config.timeout = 3 return LiveClient.new_builder() \ .with_http_config(config) \ .with_credentials(BasicCredentials(ak, sk)) \ .with_region(region) \ .build()
相关参数说明如下所示:
ak:华为云账号Access Key。
sk:华为云账号Secret Access Key 。
service region: 服务所在区域,当前支持北京一和北京四
-- CN_NORTH_1 北京一
-- CN_NORTH_4 北京四
4.4 配置请求参数
以获取实时在线人数接口为例:
request = ListLiveStreamsOnlineRequest() request.publish_domain = "publish.example.huawei.com" request.app = "live" request.limit = 10 request.offset = 1 request.stream = "testStream"
相关demo说明见 5. SDK demo代码解析
4.5 发送请求
以获取实时在线人数接口为例:
##5. SDK demo代码解析
5.1 查询播放带宽趋势接口
demo请见statistical_analyze_demo.list_bandwidth_detail_demo()方法
5.1.1 构造请求参数
request = ListBandwidthDetailRequest() request.play_domains = {"play.example.huawei.com"} request.app = "live" request.isp = {"CMCC"} request.interval = 300
5.1.2 发送请求
5.1.3 接口及参数说明
请见 查询播放带宽趋势接口
5.2 查询播放流量趋势接口
demo请见statistical_analyze_demo.list_domain_traffic_detail_demo()方法
5.2.1 构造请求参数
request = ListDomainTrafficDetailRequest() request.play_domains = {"play.example.huawei.com"} request.app = "live" request.isp = {"CMCC"} request.interval = 300
5.2.2 发送请求
5.2.3 接口及参数说明
请见 查询播放带宽趋势接口
5.3 查询播放带宽峰值接口
demo请见statistical_analyze_demo.list_domain_bandwidth_peak_demo()方法
5.3.1 构造请求参数
request = ListDomainBandwidthPeakRequest() request.play_domains = {"play.example.huawei.com"} request.app = "live" request.isp = {"CMCC"}
5.3.2 发送请求
5.3.3 接口及参数说明
请见 查询播放带宽峰值接口
5.4 查询播放流量汇总接口
demo请见statistical_analyze_demo.list_domain_traffic_summary_demo()方法
5.4.1 构造请求参数
request = ListDomainTrafficSummaryRequest() request.play_domains = {"play.example.huawei.com"} request.app = "live" request.isp = {"CMCC"}
5.4.2 发送请求
5.4.3 接口及参数说明
请见 查询播放流量汇总接口
5.5 查询观众趋势接口
demo请见statistical_analyze_demo.list_users_of_stream_demo()方法
5.5.1 构造请求参数
request = ListUsersOfStreamRequest() request.play_domains = {"play.example.huawei.com"} request.app = "live" request.isp = {"CMCC"} request.interval = 300
5.5.2 发送请求
5.5.3 接口及参数说明
请见 查询观众趋势接口
5.6 查询直播拉流HTTP状态码接口
demo请见statistical_analyze_demo.list_query_http_code_demo()方法
5.6.1 构造请求参数
request = ListQueryHttpCodeRequest() request.play_domains = {"play.example.huawei.com"} request.code = {"200"}
5.6.2 发送请求
5.6.3 接口及参数说明
请见 查询直播拉流HTTP状态码接口
5.7 查询转码用量接口
demo请见statistical_analyze_demo.list_transcode_data_demo()方法
5.7.1 构造请求参数
request = ListTranscodeDataRequest() request.publish_domain = "publish.example.huawei.com" request.start_time = "2020-08-18T07:20:40Z" request.end_time = "2020-08-18T10:20:40Z"
5.7.2 发送请求
5.7.3 接口及参数说明
请见 查询转码用量接口
5.8 查询录制用量接口
demo请见statistical_analyze_demo.list_record_data_demo()方法
5.8.1 构造请求参数
request = ListRecordDataRequest() request.start_time = "2020-08-18T07:20:40Z" request.end_time = "2020-08-18T10:20:40Z"
5.8.2 发送请求
5.8.3 接口及参数说明
请见 查询录制用量接口
5.9 查询截图用量接口
demo请见statistical_analyze_demo.list_snapshot_data_demo()方法
5.9.1 构造请求参数
request = ListSnapshotDataRequest() request.publish_domain = "publish.example.huawei.com" request.start_time = "2020-08-18T07:20:40Z" request.end_time = "2020-08-18T10:20:40Z"
5.9.2 发送请求
5.9.3 接口及参数说明
请见 查询截图用量接口
5.10 查询上行带宽数据接口
demo请见statistical_analyze_demo.showUpBandwidth()方法
5.10.1 构造请求参数
request = ShowUpBandwidthRequest() request.publish_domain = "publish.example.huawei.com" request.start_time = "2020-08-18T07:20:40Z" request.end_time = "2020-08-18T10:20:40Z"
5.10.2 发送请求
5.10.3 接口及参数说明
请见 查询上行带宽数据接口
5.11 查询域名维度推流路数接口
demo请见statistical_analyze_demo.show_stream_count_demo()方法
5.11.1 构造请求参数
request = ShowStreamCountRequest() request.publish_domain = "publish.example.huawei.com" request.start_time = "2020-08-18T07:20:40Z" request.end_time = "2020-08-18T10:20:40Z"
5.11.2 发送请求
5.11.3 接口及参数说明
请见 查询域名维度推流路数接口
5.12 查询历史推流列表接口
demo请见statistical_analyze_demo.list_history_streams_demo()方法
5.12.1 构造请求参数
request = ListHistoryStreamsRequest() request.domain = "publish.example.huawei.com" request.app = "live" request.limit = 10 request.offset = 0
5.12.2 发送请求
5.12.3 接口及参数说明
请见 查询历史推流列表接口
5.13 查询播放画像信息接口
demo请见statistical_analyze_demo.show_stream_portrait_demo()方法
5.13.1 构造请求参数
request = ShowStreamPortraitRequest() request.play_domain = "play.example.huawei.com" request.time = "20200904"
5.13.2 发送请求
5.13.3 接口及参数说明
请见 查询播放画像信息接口
6. FAQ
暂无
7. 参考
更多信息请参考 直播服务文档
8. 修订记录