Browse Source

added extractor for dctp.tv

master
Paul Hartmann 10 years ago
parent
commit
0865f397ae
3 changed files with 45 additions and 0 deletions
  1. 3
      youtube_dl/downloader/rtmp.py
  2. 1
      youtube_dl/extractor/__init__.py
  3. 41
      youtube_dl/extractor/dctp.py

3
youtube_dl/downloader/rtmp.py

@ -106,6 +106,7 @@ class RtmpFD(FileDownloader):
protocol = info_dict.get('rtmp_protocol', None) protocol = info_dict.get('rtmp_protocol', None)
no_resume = info_dict.get('no_resume', False) no_resume = info_dict.get('no_resume', False)
continue_dl = info_dict.get('continuedl', False) continue_dl = info_dict.get('continuedl', False)
real_time = info_dict.get('real_time', False)
self.report_destination(filename) self.report_destination(filename)
tmpfilename = self.temp_name(filename) tmpfilename = self.temp_name(filename)
@ -143,6 +144,8 @@ class RtmpFD(FileDownloader):
basic_args += ['--conn', conn] basic_args += ['--conn', conn]
if protocol is not None: if protocol is not None:
basic_args += ['--protocol', protocol] basic_args += ['--protocol', protocol]
if real_time:
basic_args += ['--realtime']
args = basic_args args = basic_args
if not no_resume and continue_dl and not live: if not no_resume and continue_dl and not live:

1
youtube_dl/extractor/__init__.py

@ -89,6 +89,7 @@ from .dailymotion import (
) )
from .daum import DaumIE from .daum import DaumIE
from .dbtv import DBTVIE from .dbtv import DBTVIE
from .dctp import DctpTvIE
from .deezer import DeezerPlaylistIE from .deezer import DeezerPlaylistIE
from .dfb import DFBIE from .dfb import DFBIE
from .dotsub import DotsubIE from .dotsub import DotsubIE

41
youtube_dl/extractor/dctp.py

@ -0,0 +1,41 @@
# encoding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
class DctpTvIE(InfoExtractor):
_VALID_URL = r'^http://www.dctp.tv/(#/)?filme/(?P<id>.+?)/$'
def _real_extract(self, url):
video_id = self._match_id(url)
base_url = 'http://dctp-ivms2-restapi.s3.amazonaws.com/'
version_json = self._download_json(base_url + 'version.json', video_id)
version = version_json['version_name']
info_json = self._download_json(
'{}{}/restapi/slugs/{}.json'.format(base_url, version, video_id), video_id)
object_id = info_json['object_id']
meta_json = self._download_json(
'{}{}/restapi/media/{}.json'.format(base_url, version, object_id), video_id)
uuid = meta_json['uuid']
title = meta_json['title']
wide = meta_json['is_wide']
if wide:
ratio = '16x9'
else:
ratio = '4x3'
play_path = 'mp4:{}_dctp_0500_{}.m4v'.format(uuid, ratio)
servers_json = self._download_json('http://www.dctp.tv/streaming_servers/', video_id)
url = servers_json[0]['endpoint']
return {
'id': video_id,
'title': title,
'format': 'rtmp',
'url': url,
'play_path': play_path,
'real_time': True,
'ext': 'flv'
}
Loading…
Cancel
Save