added extractor for dctp.tv

This commit is contained in:
Paul Hartmann 2015-01-28 08:21:04 +01:00
parent 3a0d2f520a
commit 0865f397ae
3 changed files with 45 additions and 0 deletions

View file

@ -106,6 +106,7 @@ def run_rtmpdump(args):
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 @@ def run_rtmpdump(args):
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:

View file

@ -89,6 +89,7 @@
) )
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

View file

@ -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'
}