4. 开始使用
4.1 导入依赖模块
Copied!
import (
"fmt"
"os"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/config"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler"
live "github.com/huaweicloud/huaweicloud-sdk-go-v3/tree/master/services/live/v2"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/tree/master/services/live/model"
"net/http"
)
4.2 初始化认证信息
Copied!
ak := os.Getenv("HUAWEICLOUD_SDK_AK")
sk := os.Getenv("HUAWEICLOUD_SDK_SK")
func GetCredential(ak, sk) basic.Credentials {
return basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
Build()
}
相关参数说明如下所示:
- ak:华为云账号Access Key。
- sk:华为云账号Secret Access Key 。
4.3初始化直播服务的客户端
Copied!
func GetClient(auth basic.Credentials, region *region.Region) *live.LiveClient {
return live.NewLiveClient(
live.LiveClientBuilder().
WithRegion(region).
WithCredential(auth).
Build())
}
相关参数说明如下所示:
service region: 服务所在区域,当前支持北京一和北京四
- CN_NORTH_1 北京一
- CN_NORTH_4 北京四
4.4 配置请求参数
以获取实时在线人数接口为例:
Copied!
app := "live"
offset := int32(1)
limit := int32(10)
stream := "streamTest"
request := &model.ListLiveStreamsOnlineRequest {
PublishDomain: "publish.example.huawei.com",
App: &app,
Offset: &offset,
Limit: &limit,
Stream: &stream,
}
相关demo说明见 5. SDK demo代码解析
4.5 发送请求
以获取实时在线人数接口为例:
Copied!
response, err := client.ListLiveStreamsOnline(request)
##5. SDK demo代码解析
5.1 查询推流帧率数据接口
demo请见streamMonitorDemo.ListSingleStreamFramerate()方法
5.1.1 构造请求参数
Copied!
starTime := "2020-08-18T07:20:40Z"
endTime := "2020-08-18T10:20:40Z"
request := &model.ListSingleStreamFramerateRequest{
Domain: "publish.example.huawei.com",
StartTime: &starTime,
EndTime: &endTime,
}
5.1.2 发送请求
Copied!
response, err := client.ListSingleStreamFramerate(request)
5.1.3 接口及参数说明
请见 查询推流帧率数据接口
5.2 查询推流码率数据接口
demo请见streamMonitorDemo.ListSingleStreamBitrate()方法
5.2.1 构造请求参数
Copied!
starTime := "2020-08-18T07:20:40Z"
endTime := "2020-08-18T10:20:40Z"
request := &model.ListSingleStreamBitrateRequest{
Domain: "publish.example.huawei.com",
StartTime: &starTime,
EndTime: &endTime,
App: "live",
}
5.2.2 发送请求
Copied!
response, err := client.ListSingleStreamBitrate(request)
5.2.3 接口及参数说明
请见 查询推流码率数据接口
直播服务流监控场景示例(Go版本)
1. 简介
华为云提供了直播服务端SDK,您可以直接集成服务端SDK来调用直播的相关API,从而实现对直播服务的快速操作。该示例展示了如何通过Go版SDK对直播流进行监控。
2. 开发前准备
3. 安装SDK
视频直播服务端Go SDK支持go 1.14及以上版本。执行go version检查当前Go的版本信息。
使用go get安装华为云Go SDK,执行如下命令安装华为云Go SDK库以及相关依赖库,具体的SDK版本号请参见SDK开发中心。
# 安装华为云Go库 go get github.com/huaweicloud/huaweicloud-sdk-go-v3 # 安装依赖 go get github.com/json-iterator/go
4. 开始使用
4.1 导入依赖模块
import ( "fmt" "os" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/config" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler" live "github.com/huaweicloud/huaweicloud-sdk-go-v3/tree/master/services/live/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/tree/master/services/live/model" "net/http" )
4.2 初始化认证信息
// 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") func GetCredential(ak, sk) basic.Credentials { // 初始化认证信息 return basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() }
相关参数说明如下所示:
4.3初始化直播服务的客户端
func GetClient(auth basic.Credentials, region *region.Region) *live.LiveClient { return live.NewLiveClient( live.LiveClientBuilder(). WithRegion(region). WithCredential(auth). Build()) }
相关参数说明如下所示:
service region: 服务所在区域,当前支持北京一和北京四
4.4 配置请求参数
以获取实时在线人数接口为例:
app := "live" offset := int32(1) limit := int32(10) stream := "streamTest" request := &model.ListLiveStreamsOnlineRequest { PublishDomain: "publish.example.huawei.com", App: &app, Offset: &offset, Limit: &limit, Stream: &stream, }
相关demo说明见 5. SDK demo代码解析
4.5 发送请求
以获取实时在线人数接口为例:
##5. SDK demo代码解析
5.1 查询推流帧率数据接口
demo请见streamMonitorDemo.ListSingleStreamFramerate()方法
5.1.1 构造请求参数
starTime := "2020-08-18T07:20:40Z" endTime := "2020-08-18T10:20:40Z" request := &model.ListSingleStreamFramerateRequest{ Domain: "publish.example.huawei.com", StartTime: &starTime, EndTime: &endTime, }
5.1.2 发送请求
5.1.3 接口及参数说明
请见 查询推流帧率数据接口
5.2 查询推流码率数据接口
demo请见streamMonitorDemo.ListSingleStreamBitrate()方法
5.2.1 构造请求参数
starTime := "2020-08-18T07:20:40Z" endTime := "2020-08-18T10:20:40Z" request := &model.ListSingleStreamBitrateRequest{ Domain: "publish.example.huawei.com", StartTime: &starTime, EndTime: &endTime, App: "live", }
5.2.2 发送请求
5.2.3 接口及参数说明
请见 查询推流码率数据接口
6. FAQ
暂无
7. 参考
更多信息请参考 直播服务文档
8. 修订记录