oss.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD018
  6. @NAME: AnsjerFormal
  7. @software: PyCharm
  8. @DATE: 2018/9/19 10:53
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: oss.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. from oss2 import *
  15. from oss2.models import *
  16. import time
  17. from var_dump import var_dump
  18. import urllib
  19. ###########
  20. host = "oss-cn-shenzhen.aliyuncs.com" # just for example
  21. # host = "hlsvoda.zositech.cn" # just for example
  22. # host = 'oss-eu-central-1.aliyuncs.com'
  23. accessid = 'LTAIyMkGfEdogyL9'
  24. accesskey = '71uIjpsqVOmF7DAITRyRuc259jHOjO'
  25. import oss2
  26. # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  27. auth = Auth(accessid, accesskey)
  28. # Endpoint以杭州为例,其它Region请按实际情况填写。
  29. service = oss2.Service(auth, host)
  30. print([b.name for b in oss2.BucketIterator(service)])
  31. exit()
  32. bucket_name = "cnvod1"
  33. channel_name = "vod"
  34. auth = Auth(accessid, accesskey)
  35. bucket = Bucket(auth, host, bucket_name)
  36. ######################
  37. # 缩略图
  38. url = bucket.sign_url('GET', 'VVDHCVBYDKFMJRWA111A/vod1/2019010315/1546498920/ts2.ts', 60 * 60, params={'x-oss-process': 'video/snapshot,t_10000,m_fast,w_300'})
  39. # url = bucket.sign_url('GET', 'FTSLL8HM437Z38WU111A/vod4/2018121001/1543902118/1543902118.m3u8', 60 * 60, params={'x-oss-process': 'hls/sign'})
  40. # url = urllib.parse.unquote(url, encoding='utf-8', errors='replace')
  41. urllst = url.split('?')
  42. url_start = urllib.parse.unquote(urllst[0])
  43. url_end = urllst[1]
  44. vod_play_url = '{url_start}?{url_end}'.format(url_start=url_start, url_end=url_end)
  45. print(vod_play_url)
  46. exit()
  47. # 播放m3u8
  48. # m3list = bucket.post_vod_playlist(channel_name=channel_name, playlist_name='test.m3u8', start_time=1537336020119,
  49. # end_time=1537336029318)
  50. exit()
  51. # 获取推流地址
  52. channel_cfg = LiveChannelInfo(target=LiveChannelInfoTarget(frag_count=10))
  53. channel = bucket.create_live_channel(channel_name, channel_cfg)
  54. publish_url = channel.publish_url
  55. signed_publish_url = bucket.sign_rtmp_url("vod", "playlist.m3u8", 3600)
  56. print(signed_publish_url)