2
0
Fork 0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-12-14 15:22:35 +00:00

Merge remote-tracking branch 'bastik/dev-dctp'

This commit is contained in:
Philipp Hagemeister 2015-01-30 03:12:53 +01:00
commit cf8d6ec865
3 changed files with 54 additions and 0 deletions
youtube_dl
downloader
extractor

View file

@ -104,6 +104,7 @@ class RtmpFD(FileDownloader):
live = info_dict.get('rtmp_live', False) live = info_dict.get('rtmp_live', False)
conn = info_dict.get('rtmp_conn', None) conn = info_dict.get('rtmp_conn', None)
protocol = info_dict.get('rtmp_protocol', None) protocol = info_dict.get('rtmp_protocol', None)
real_time = info_dict.get('rtmp_real_time', False)
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)
@ -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:

View file

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

View file

@ -0,0 +1,50 @@
# 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>.+?)/$'
_TEST = {
'url': 'http://www.dctp.tv/filme/videoinstallation-fuer-eine-kaufhausfassade/',
'info_dict': {
'id': '1324',
'display_id': 'videoinstallation-fuer-eine-kaufhausfassade',
'ext': 'flv',
'title': 'Videoinstallation für eine Kaufhausfassade'}
}
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(
'{0}{1}/restapi/slugs/{2}.json'.format(base_url, version, video_id), video_id)
object_id = str(info_json['object_id'])
meta_json = self._download_json(
'{0}{1}/restapi/media/{2}.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:{0}_dctp_0500_{1}.m4v'.format(uuid, ratio)
servers_json = self._download_json('http://www.dctp.tv/streaming_servers/', video_id)
url = servers_json[0]['endpoint']
return {
'id': object_id,
'title': title,
'format': 'rtmp',
'url': url,
'play_path': play_path,
'rtmp_real_time': True,
'ext': 'flv',
'display_id': video_id
}