泛播mediaserver api客户端的python3引用实现
mediaserver-api-client的Python项目详细描述
MediaServer客户端
泛播mediaserver api客户端的python3引用实现。
重要
对于生产使用,建议使用名为“stable”的分支。“主”分支用于开发。
客户端类实例化
客户端类(ms_client
.client
.MediaServerClient
)有两个参数:
local_conf
:这个参数可以是dict、path(str
对象)或unix用户(例如unix:msuser
)。默认值是None
,这意味着没有配置。setup_logging
:此参数必须是布尔值。如果设置为True
,将配置到控制台的日志记录。默认值是True
。
有关老客户的说明
如果您正在使用此客户端的第一个版本(名为mediaserver_api_client.py的单个文件),请执行以下步骤更新您的客户端:
- 删除旧的客户端文件(mediaserver_api_client.py)。
- 使用setup.py安装新客户端。
- 替换
MediaServerClient
的导入路径(请参见示例)。 - 在
MediaServerClient
初始化中将名为config_dict
和config_path
的参数替换为local_conf
。 - 用
MediaServerClient
.config
替换所有出现的MediaServerClient
.conf
。
示例
启动/停止活动
fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')response=msc.api('/lives/prepare',method='post')ifresponse['success']:oid=response['oid']rtmp_uri=response['publish_uri']print(oid,rtmp_uri)print(msc.api('/lives/start',method='post',data={'oid':oid}))print(msc.api('/lives/stop',method='post',data={'oid':oid}))
删除所有用户功能
fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')defremove_all_users():print('Remove all users')users=msc.api('/users')['users']foruserinusers:msc.api('/users/delete',method='get',params={'id':user['id']})
添加带有视频的媒体,使其立即发布
fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')print(msc.add_media('Test multichunk upload mp4',file_path='test.mp4',validated='yes',speaker_email='user@domain.com'))
创建用户个人频道并上传到其中
fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')personal_channel_oid=msc.api('/channels/personal/',method='get',params={'email':'test@test.com'}).get('oid')respone_like={'slug':'testtestcom_05881','oid':'c125855df7d36iudslp3','dbid':113,'title':'test@test.com','success':True}ifpersonal_channel_oid:print('Uploading to personal channel %s'%personal_channel_oid)print(msc.add_media('Test multichunk upload mp4',file_path='test.mp4',validated='yes',speaker_email='user@domain.com',channel=personal_channel_oid))
添加压缩文件
的媒体fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')print(msc.add_media('Test multichunk upload zip',file_path='/tmp/test.zip'))print(msc.add_media(file_path='test.mp4'))
添加用户
fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')print(msc.api('users/add/',method='post',data={'email':'test@test.com'}))
使用csv文件添加用户;示例文件(应包括头):
users.csv:
Firstname;Lastname;Email;Company Albert;Einstein;albert.einstein@test.com;Humanity
fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')msc.import_users_csv('users.csv')
添加注释
fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')print(msc.api('annotations/post',params={'oid':'v125849d470d7v92kvtc','time':1000}))
获取章节
fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')print(msc.api('annotations/chapters/list',params={'oid':'v125849d470d7v92kvtc'}))
获取注释类型列表并打印章节id
fromms_client.clientimportMediaServerClientmsc=MediaServerClient(local_conf='your-conf.json')response=msc.api('annotations/types/list',params={'oid':'v125849d470d7v92kvtc'})forainresponse['types']:ifa['slug']=='chapter':print(a['id'])