АлиЮнь-Лайв-Го-СДК
SDK для прямой трансляции АлиЮнь на языке Go
Документация по видеосервису АлиЮнь
package main
import (
"github.com/BPing/aliyun-live-go-sdk/aliyun"
"github.com/BPing/aliyun-live-go-sdk/device/live"
"github.com/BPing/aliyun-live-go-sdk/util"
"time"
"fmt"
)
const (
AccessKeyId = "<Yours' Id>"
AccessKeySecret = "<...>"
)
func main() {
cert := aliyun.NewCredentials(AccessKeyId, AccessKeySecret)
live := live.NewLive(cert, "<Yours' CDN>", "app-name",nil).SetDebug(true)
resp := make(map[string]interface{})
live.StreamsPublishList(time.Now().Add(-time.Hour * 12), time.Now(), &resp)
fmt.Println(resp)
}
go get
:
go get github.com/BPing/aliyun-live-go-sdk
(v0.5, v0.5-)
(v0.6+)
cert := client.NewCredentials(AccessKeyId, AccessKeySecret)
liveM := live.NewLive(cert, DomainName, AppName, nil).SetDebug(true)
resp := make(map[string]interface{})
liveM.StreamsPublishList(time.Now().Add(-time.Hour * 12), time.Now(), &resp)
fmt.Println(resp)
// @appname Имя приложения пусто, этот параметр игнорируется
resp := make(map[string]interface{})
liveM.StreamsPublishListWithApp(AppName,time.Now().Add(-time.Hour * 12), time.Now(), &resp)
fmt.Println(resp)
resp = make(map[string]interface{})
err = liveM.StreamsBlockList(&resp)
fmt.Println(err, resp)
resp1 := live.OnlineInfoResponse{}
err := liveM.StreamOnlineUserNum("video-name", &resp1)
fmt.Println(err, resp1)
// @appname Имя приложения пусто, этот параметр игнорируется (v0.5,v0.5-)
resp1 := live.OnlineInfoResponse{}
err := liveM.StreamOnlineUserNumWithApp(AppName,"video-name", &resp1)
fmt.Println(err, resp1)
resp = make(map[string]interface{})
err = liveM.StreamsControlHistory(time.Now().Add(-time.Hour * 12), time.Now(), &resp)
// (v0.5,v0.5-)
//err = liveM.StreamsControlHistoryWithApp(AppName,time.Now().Add(-time.Hour * 12), time.Now(), &resp)
fmt.Println(err, resp)
resp = make(map[string]interface{})
err = liveM.ForbidLiveStreamWithPublisher("video-name", nil, &resp)
fmt.Println(err, resp)
resp = make(map[string]interface{})
err = liveM.ResumeLiveStreamWithPublisher("video-name", &resp)
fmt.Println(err, resp)
oss := live.OssInfo{
OssBucket: OssBucket,
OssEndpoint: OssEndpoint,
OssObject: OssObject,
OssObjectPrefix: OssObjectPrefix,
}
config:=live.SnapshotConfig{
OssInfo:oss,
TimeInterval : 5,
``` **Обновление конфигурации снимка экрана**
```go
config.SequenceOssObject="{AppName}/{StreamName}.jpg"
resp = make(map[string]interface{})
err=liveM.UpdateLiveAppSnapshotConfig(config,&resp)
fmt.Println(err, resp)
Добавление конфигурации снимка экрана
config.SequenceOssObject="{AppName}/{StreamName}.jpg"
resp = make(map[string]interface{})
err=liveM.AddLiveAppSnapshotConfig(config,&resp)
fmt.Println(err, resp)
Запрос конфигурации снимка экрана домена
param:=live.LiveSnapshotParam{
PageNum:1,
PageSize:10,
Order:"asc",
}
resp = make(map[string]interface{})
err=liveM.LiveSnapshotConfig(param,&resp)
fmt.Println(err, resp)
Информация о снимке экрана потока
resp = make(map[string]interface{})
err=liveM.LiveStreamSnapshotInfo("test-video-name1",time.Now().Add(-time.Hour*24*20), time.Now(),10,&resp)
fmt.Println(err, resp)
Удаление конфигурации снимка экрана приложения
resp = make(map[string]interface{})
err=liveM.DeleteLiveAppSnapshotConfig(&resp)
fmt.Println(err, resp)
// RTMP 推流地址
// Если включена аутентификация потоковой передачи, то при истечении срока действия подписи будет сгенерирован новый действительный адрес для потоковой передачи.
stream.RtmpPublishUrl()
RTMP-адрес для онлайн-трансляции
url:=stream.RtmpLiveUrls()
Адрес трансляции в формате HLS
url:=stream.HlsLiveUrls()
FLV-адрес трансляции
url:=stream.HttpFlvLiveUrls()
Получение количества зрителей онлайн
num:=stream.OnlineUserNum()
Проверка подключения к трансляции
isOnline:=stream.Online()
Проверка блокировки трансляции
isBlocked:=stream.Blocked()
Получение частоты кадров и битрейта трансляции
frameRateAndBitRateInfo,err:=stream.FrameRateAndBitRateData()
Запрос информации о скриншотах
streamSnapshotInfo,err:=stream.SnapshotInfo(time.Now().Add(-time.Hour * 12), time.Now(), 10)
github.com/BPing/go-toolkit/http-client
Проект лицензирован на условиях Apache License, Version 2.0.
Исходный проект: https://github.com/denverdino/aliyungo
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )