最近更新时间:2023.10.13 17:01:59
首次发布时间:2021.02.23 10:42:40
本文为您提供了服务端 Python SDK 的媒资播放模块相关的 API 调用示例。主要包含:签发 PlayAuthToken、获取播放地址等。
使用前请先完成初始化,参考初始化。
由 App/Web Server 持有的 AK/SK 在本地签出,不依赖外网。若希望同时生成多个PlayAuthToken
,您可以循环调用生成方法。PlayAuthToken
用于客户端播放,详见客户端播放。
# coding:utf-8 from __future__ import print_function from volcengine.vod.VodService import VodService from volcengine.vod.models.request.request_vod_pb2 import VodGetPlayInfoRequest if __name__ == '__main__': vod_service = VodService() # call below method if you dont set ak and sk in $HOME/.vcloud/config vod_service.set_ak('your ak') vod_service.set_sk('your sk') try: vid = 'your vid' req = VodGetPlayInfoRequest() req.Vid = vid expire = 60 # seconds resp = vod_service.get_play_auth_token(req, expire) except Exception: raise else: print(resp)
接口请求参数和返回参数详见 OpenAPI:获取播放地址。
# coding:utf-8 from __future__ import print_function from volcengine.vod.VodService import VodService from volcengine.vod.models.request.request_vod_pb2 import VodGetPlayInfoRequest if __name__ == '__main__': vod_service = VodService() # call below method if you dont set ak and sk in $HOME/.vcloud/config # vod_service.set_ak('ak') # vod_service.set_sk('sk') try: vid = 'your vid' req = VodGetPlayInfoRequest() req.Vid = vid req.Ssl = '1' req.NeedOriginal = '1' req.UnionInfo = 'your unionInfo' resp = vod_service.get_play_info(req) except Exception: raise else: print(resp) if resp.ResponseMetadata.Error.Code == '': print(resp.Result.PlayInfoList[0].MainPlayUrl) else: print(resp.ResponseMetadata.Error)
PrivateDrmAuthToken
由 App/Web Server 持有的 Ak/Sk 在本地签出,不依赖外网。若希望同时生成多个PrivateDrmAuthToken
,您可以循环调用生成方法。PrivateDrmAuthToken
用于 Web 客户端播放视频点播自研 DRM 加密音视频,详情可参见客户端播放。
说明
在 Web 端播放时,调用 GetPrivateDrmAuthToken
生成方法,需要指定参数 DrmType
取值为 webdevice
。
# coding:utf-8 from __future__ import print_function from volcengine.vod.VodService import VodService from volcengine.vod.models.request.request_vod_pb2 import VodGetPrivateDrmPlayAuthRequest if __name__ == '__main__': vod_service = VodService() # call below method if you dont set ak and sk in $HOME/.vcloud/config vod_service.set_ak('your ak') vod_service.set_sk('your sk') try: vid = 'your vid' req = VodGetPrivateDrmPlayAuthRequest() req.Vid = vid req.DrmType = 'your drm type' req.PlayAuthIds = 'a,b,c (your PlayAuthIds)' req.UnionInfo = 'your unionInfo' expire = 60 # seconds resp = vod_service.get_private_drm_play_auth_token(req, expire) except Exception: raise else: print(resp)
由 App/Web Server 持有的 AK/SK 在本地签出,不依赖外网。若希望同时生成多个 Sha1HlsDrmAuthToken
,您可以循环调用生成方法。Sha1HlsDrmAuthToken
用于 Web 客户端播放 HlS 加密音视频,详见客户端播放。
# coding:utf-8 from __future__ import print_function from volcengine.vod.VodService import VodService if __name__ == '__main__': vod_service = VodService() # call below method if you dont set ak and sk in $HOME/.vcloud/config vod_service.set_ak('your ak') vod_service.set_sk('your sk') try: expireSeconds = 60000 resp = vod_service.get_sha1_hls_drm_auth_token(expireSeconds) except Exception: raise else: print(resp)