Skip to content

Commit bd6c17f

Browse files
author
金山云SDK
authored
Merge pull request KscSDK#44 from KscSDK/trunk
Trunk to master
2 parents d615494 + fa02dd7 commit bd6c17f

File tree

5 files changed

+256
-1
lines changed

5 files changed

+256
-1
lines changed

examples/ket.py

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
#!/usr/bin/python
2+
# -*- coding: UTF-8 -*-
3+
from kscore.ket import getKetClient
4+
import json
5+
6+
if __name__ == "__main__":
7+
client = getKetClient("ket", "cn-beijing-6",use_ssl=False)
8+
9+
uniqname = 'mytest'
10+
presetname = 'testpreset00'
11+
appname = 'live'
12+
description = 'just a demo'
13+
presetType = 'avop'
14+
streamid = 'myteststreamid'
15+
outpull = 1
16+
srcurl = "rtmp://qa-ws.test-rtmplive.ks-cdn.com/live/20160819"
17+
18+
# 创建模板
19+
param = {
20+
"UniqName": uniqname,
21+
"Preset": presetname,
22+
"Description": description,
23+
"App": appname,
24+
"Output": [
25+
{
26+
"format":
27+
{
28+
"output_format": 257,
29+
"abr": 70000,
30+
"vbr": 700000,
31+
"fr": 23
32+
}
33+
}
34+
]
35+
}
36+
res = client.Preset(param)
37+
print json.dumps(res)
38+
39+
# 更新模板
40+
res = client.UpdatePreset(param)
41+
print json.dumps(res)
42+
43+
# 获取模板详情
44+
res = client.GetPresetDetail(App=appname, UniqName=uniqname, Preset=presetname)
45+
print json.dumps(res)
46+
47+
# 获取用户模板列表
48+
res = client.GetPresetList(App=appname, UniqName=uniqname)
49+
print json.dumps(res)
50+
51+
# 删除模板
52+
res = client.DelPreset(App=appname, UniqName=uniqname, Preset=presetname)
53+
print json.dumps(res)
54+
55+
# 启动外网拉流
56+
param1 = {
57+
"UniqName": uniqname,
58+
"StreamID": streamid,
59+
"SrcUrl": srcurl,
60+
"App": appname,
61+
"Params": "a",
62+
}
63+
res = client.StartStreamPull(param1)
64+
print json.dumps(res)
65+
66+
# 停止外网拉流
67+
param2 = {
68+
"UniqName": uniqname,
69+
"StreamID": streamid,
70+
"App": appname,
71+
}
72+
res = client.StopStreamPull(param2)
73+
print json.dumps(res)
74+
75+
# 获取转码任务列表
76+
res = client.GetStreamTranList(App=appname, UniqName=uniqname, StreamID=streamid, OutPull=outpull)
77+
print json.dumps(res)
78+
79+
# 获取用户已占用配额
80+
res = client.GetQuotaUsed(UniqName=uniqname)
81+
print json.dumps(res)

kscore/__init__.pyc

-13 Bytes
Binary file not shown.

kscore/data/endpoints.yaml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,24 @@ partitions:
7373
endpoints:
7474
cn-beijing-6:
7575
hostname: iam.api.ksyun.com
76-
76+
ket:
77+
defaults:
78+
protocols:
79+
- http
80+
credentialScope:
81+
# eg: [ket].cn-beijing-6.api.ksyun.com
82+
service: ket
83+
# eg: ket.[cn-beijing-6].api.ksyun.com
84+
# partitionEndpoint: cn-beijing-6
85+
endpoints:
86+
cn-beijing-6:
87+
protocols:
88+
- http
89+
- https
90+
cn-shanghai-2:
91+
protocols:
92+
- http
93+
- https
7794
kec:
7895
defaults:
7996
credentialScope:
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
version: '2.0'
3+
metadata:
4+
apiVersion: '2017-01-01'
5+
endpointPrefix: ket
6+
jsonVersion: '1.1'
7+
serviceFullName: KSC OFFLINE Service
8+
signatureVersion: v4
9+
targetPrefix: ket
10+
protocol: json2
11+
12+
operations:
13+
Preset:
14+
name: Preset
15+
http:
16+
method: POST
17+
18+
UpdatePreset:
19+
name: UpdatePreset
20+
http:
21+
method: POST
22+
23+
DelPreset:
24+
name: DelPreset
25+
http:
26+
method: GET
27+
requestUri: /
28+
input:
29+
shape: PresetInstance
30+
31+
GetPresetList:
32+
name: GetPresetList
33+
http:
34+
method: GET
35+
requestUri: /
36+
input:
37+
shape: UserInstance
38+
39+
GetPresetDetail:
40+
name: GetPresetDetail
41+
http:
42+
method: GET
43+
requestUri: /
44+
input:
45+
shape: PresetInstance
46+
47+
StartStreamPull:
48+
name: StartStreamPull
49+
http:
50+
method: POST
51+
52+
StopStreamPull:
53+
name: StopStreamPull
54+
http:
55+
method: POST
56+
57+
GetStreamTranList:
58+
name: GetStreamTranList
59+
http:
60+
method: GET
61+
requestUri: /
62+
input:
63+
shape: StreamTranInstance
64+
65+
GetQuotaUsed:
66+
name: GetQuotaUsed
67+
http:
68+
method: GET
69+
requestUri: /
70+
input:
71+
shape: UniqNameInstance
72+
73+
shapes:
74+
App:
75+
type: string
76+
UniqName:
77+
type: string
78+
Preset:
79+
type: string
80+
StreamID:
81+
type: string
82+
OutPull:
83+
type: integer
84+
85+
UniqNameInstance:
86+
type: structure
87+
members:
88+
UniqName:
89+
shape: UniqName
90+
PresetInstance:
91+
type: structure
92+
members:
93+
App:
94+
shape: App
95+
UniqName:
96+
shape: UniqName
97+
Preset:
98+
shape: Preset
99+
UserInstance:
100+
type: structure
101+
members:
102+
App:
103+
shape: App
104+
UniqName:
105+
shape: UniqName
106+
StreamTranInstance:
107+
type: structure
108+
members:
109+
App:
110+
shape: App
111+
UniqName:
112+
shape: UniqName
113+
StreamID:
114+
shape: StreamID
115+
OutPull:
116+
shape: OutPull

kscore/ket.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# -*- encoding:utf-8 -*-
2+
from kscore.session import get_session
3+
import time
4+
class KetClient:
5+
def __init__(self,service_name,region_name,use_ssl,ks_access_key_id,ks_secret_access_key):
6+
s = get_session()
7+
if ks_access_key_id != None and ks_secret_access_key != None:
8+
self.client = s.create_client(service_name, region_name, use_ssl = use_ssl,
9+
ks_access_key_id=ks_access_key_id, ks_secret_access_key=ks_secret_access_key)
10+
else:
11+
self.client = s.create_client(service_name, region_name, use_ssl = use_ssl)
12+
13+
def Preset(self,param):
14+
return self.client.preset(**param)
15+
16+
def UpdatePreset(self,param):
17+
return self.client.update_preset(**param)
18+
19+
def GetPresetList(self,App='live',UniqName=''):
20+
return self.client.get_preset_list(App=App,UniqName=UniqName)
21+
22+
def GetPresetDetail(self,App='live',UniqName='',Preset=''):
23+
return self.client.get_preset_detail(App=App,UniqName=UniqName,Preset=Preset)
24+
25+
def DelPreset(self,App='live',UniqName='',Preset=''):
26+
return self.client.del_preset(App=App,UniqName=UniqName,Preset=Preset)
27+
28+
def StartStreamPull(self,param):
29+
return self.client.start_stream_pull(**param)
30+
31+
def StopStreamPull(self,param):
32+
return self.client.stop_stream_pull(**param)
33+
34+
def GetStreamTranList(self,App='live',UniqName='',StreamID='',OutPull=-1):
35+
return self.client.get_stream_tran_list(App=App,UniqName=UniqName,StreamID=StreamID,OutPull=OutPull)
36+
37+
def GetQuotaUsed(self,UniqName=''):
38+
return self.client.get_quota_used(UniqName=UniqName)
39+
40+
def getKetClient(service_name,region_name,use_ssl=False,ks_access_key_id=None, ks_secret_access_key=None):
41+
return KetClient(service_name,region_name,use_ssl,ks_access_key_id, ks_secret_access_key)

0 commit comments

Comments
 (0)