dctp.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # encoding: utf-8
  2. from __future__ import unicode_literals
  3. from .common import InfoExtractor
  4. class DctpTvIE(InfoExtractor):
  5. _VALID_URL = r'^http://www.dctp.tv/(#/)?filme/(?P<id>.+?)/$'
  6. def _real_extract(self, url):
  7. video_id = self._match_id(url)
  8. base_url = 'http://dctp-ivms2-restapi.s3.amazonaws.com/'
  9. version_json = self._download_json(base_url + 'version.json', video_id)
  10. version = version_json['version_name']
  11. info_json = self._download_json(
  12. '{}{}/restapi/slugs/{}.json'.format(base_url, version, video_id), video_id)
  13. object_id = info_json['object_id']
  14. meta_json = self._download_json(
  15. '{}{}/restapi/media/{}.json'.format(base_url, version, object_id), video_id)
  16. uuid = meta_json['uuid']
  17. title = meta_json['title']
  18. wide = meta_json['is_wide']
  19. if wide:
  20. ratio = '16x9'
  21. else:
  22. ratio = '4x3'
  23. play_path = 'mp4:{}_dctp_0500_{}.m4v'.format(uuid, ratio)
  24. servers_json = self._download_json('http://www.dctp.tv/streaming_servers/', video_id)
  25. url = servers_json[0]['endpoint']
  26. return {
  27. 'id': video_id,
  28. 'title': title,
  29. 'format': 'rtmp',
  30. 'url': url,
  31. 'play_path': play_path,
  32. 'real_time': True,
  33. 'ext': 'flv'
  34. }