SDK for Python 使用指南

最近更新时间:2018-06-26 16:09:26

安装python sdk

1.git 安装

git clone https://github.com/KscSDK/ksc-sdk-python.git

cd ksc-sdk-python

python setup.py install

2.pip 安装

pip install ksc-sdk-python

3.通过文件配置及管理密钥

  • 所在位置: '/etc/kscore.cfg' 或 './.kscore.cfg'

  • 注意: 使用相对路径时,需与运行目录保持一致

  • ks_access_key_id和ks_secret_access_key是金山云控制台身份与管理里面生成密钥对
[Credentials]

ks_access_key_id='xxxxxxxxxxxxxxxxxxxx'

ks_secret_access_key='xxxxxxxxxxxxxxxxxxxxxxx'

4.创建一个session (初始化)

from kscore.ket import getKetClient

第一种:

client = getKetClient("ket", "cn‐beijing‐6",use_ssl=False)

参数说明:

    service_name:   服务名,填写"ket"

    region_name:    区域名,填写"cn‐beijing‐6"

    use_ssl:        是否https访问,填写False

第二种:

没有配置kscore.cfg调用方式

ks_access_key_id='xxxxxxxxxxxxxxxxxxxx'

ks_secret_access_key='xxxxxxxxxxxxxxxxxxxxxxx'

参数:服务service_name,大区region_name 

client = getKetClient("ket", "cn-beijing-6",use_ssl=False,ks_access_key_id=ks_access_key_id,ks_secret_access_key=ks_secret_access_key)

5.运行环境

适用于2.6、2.7、3.3、3.4的Python版本

SDK介绍和使用

接口目录说明

注:接口的传递的参数及返回值请参考《视频云直播转码接入说明》API接口说明

1.创建和更新模板

  • 接口名: Preset/UpdatePreset

  • 调用方式
presetParam = {

    "UniqName":"test",

    "Preset":presetname,

    "App":app,

    "Description":description,

    "Output":[

        {

            "format":{

                "output_format":256,

                "abr": 70000,

                "vbr": 700000,

                "fr": 23

            }

        },

        {

            "format":{

                "output_format":257

            }

        }

    ]

}

注:

1.presetParam必须是json格式数据

res = client.Preset(presetParam)

2.删除模板

  • 接口名: DelPreset

  • 调用方式
res = client.DelPreset(App="live",UniqName="test",Preset=presetname)

3.查询模板列表

  • 接口名: GetPresetList

  • 调用方式
res = client.GetPresetList(App="live",UniqName="test")

4.查询模板详情

  • 接口名: GetPresetDetail

  • 调用方式
res = client.GetPresetDetail(App="live",UniqName="test",Preset=presetname)

5.获取任务列表<

  • 接口名: GetStreamTranList

  • 调用方式
res = client.GetStreamTranList(App="live",UniqName="test",StreamID="test",OutPull=-1)

6.发起外网拉流

  • 接口名: StartStreamPull

  • 调用方式
StartStreamPullParam = {

    "UniqName":"test",

    "App":"live",

    "StreamID":"testName",

    "SrcUrl":"test.uplive.ks-cdn.com"

}

注:

1.StartStreamPullParam必须是json格式数据

res = client.StartStreamPull(StartStreamPullParam)

7.停止外网拉流

  • 接口名: StopStreamPull

  • 调用方式
StopStreamPullParam = {

    "UniqName":"test",

    "App":"live",

    "StreamID":"testName"

}注:

1.StopStreamPullParam必须是json格式数据

res = client.StopStreamPull(StopStreamPullParam)

8.发起轮播

  • 接口名: StartLoop

  • 调用方式
StartLoopParam = {

   "UniqName": "test",

   "App": "live",

   "StreamID": "testName",

   "Preset": "1080",

   "PubDomain": "test.uplive.ksyun.com",

   "DurationHour":168,

   "SrcInfo": [

     {

        "Path": "http://wangshuai9.ks3-cn-beijing.ksyun.com/ksyun.flv",

        "Index": 0

     }

   ]

}注:

1.StartLoopParam必须是json格式数据

res = client.StartLoop(StartLoopParam)

9.停止轮播

  • 接口名: StopLoop

  • 调用方式
StopLoopParam = {

   "UniqName": "test",

   "App": "live",

   "StreamID": "testName"

}注:

1.StopLoopParam必须是json格式数据

res = client.StopLoop(StopLoopParam)

10.更新轮播时长

  • 接口名: UpdateLoop

  • 调用方式
UpdateLoopParam = {

   "UniqName": "test",

   "App": "live",

   "StreamID": "testName",

   "DurationHour":100,

}注:

1.UpdateLoopParam必须是json格式数据

res = client.UpdateLoop(UpdateLoopParam)

11.查询轮播列表

  • 接口名: GetLoopList

  • 调用方式
res = client.GetLoopList(App=appname, UniqName=uniqname, StreamID=streamid)

12.获取配额使用数据

  • 接口名: GetQuotaUsed

  • 调用方式
res = client.GetQuotaUsed(UniqName="test")

13.创建选流任务

  • 接口名:CreateDirectorTask

  • 调用方式
param4 = {

   "UniqName": uniqname,

   "App": appname,

   "Preset": presetname,

   "SrcInfo": [

     {

        "Url": "rtmp://host/app/outernetStreamForSwitch",

        "Idx": 0

     },

     {

        "Streamid": "streamForSwitch",

        "Idx": 1

     }

   ],

   "DstInfo": [

     {

        "Streamid":"stream0ForMonitor",

        "Idx": 0

     },

     {

        "Streamid": "stream1ForSwitch",

        "Idx": 1

     },

     {

        "Streamid": "stream2ForSwitch",

        "Idx": 2

     }

   ]

}

res = client.CreateDirectorTask(param4)

print json.dumps(res)

14.更新选流任务

  • 接口名:UpdateDirectorTask

  • 调用方式
param4["TaskID"] = taskid

res = client.UpdateDirectorTask(param4)

print json.dumps(res)

15.查询选流任务

  • 接口名:QueryDirectorTask

  • 调用方式
res = client.QueryDirectorTask(App=appname, UniqName=uniqname, TaskID=taskid)

print json.dumps(res)

16.删除选流任务

  • 接口名:DelDirectorTask

  • 调用方式
res = client.DelDirectorTask(App=appname, UniqName=uniqname, TaskID=taskid)

print json.dumps(res)

金山云,开启您的云计算之旅

免费注册