]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/dctp.py
6ed3543790c6f76877b5e11bac7e6c7ffaf5c028
2 from __future__
import unicode_literals
4 from .common
import InfoExtractor
5 from ..compat
import compat_str
8 class DctpTvIE(InfoExtractor
):
9 _VALID_URL
= r
'http://www.dctp.tv/(#/)?filme/(?P<id>.+?)/$'
11 'url': 'http://www.dctp.tv/filme/videoinstallation-fuer-eine-kaufhausfassade/',
14 'display_id': 'videoinstallation-fuer-eine-kaufhausfassade',
16 'title': 'Videoinstallation für eine Kaufhausfassade'
20 def _real_extract(self
, url
):
21 video_id
= self
._match
_id
(url
)
22 base_url
= 'http://dctp-ivms2-restapi.s3.amazonaws.com/'
23 version_json
= self
._download
_json
(
24 base_url
+ 'version.json',
25 video_id
, note
='Determining file version')
26 version
= version_json
['version_name']
27 info_json
= self
._download
_json
(
28 '{0}{1}/restapi/slugs/{2}.json'.format(base_url
, version
, video_id
),
29 video_id
, note
='Fetching object ID')
30 object_id
= compat_str(info_json
['object_id'])
31 meta_json
= self
._download
_json
(
32 '{0}{1}/restapi/media/{2}.json'.format(base_url
, version
, object_id
),
33 video_id
, note
='Downloading metadata')
34 uuid
= meta_json
['uuid']
35 title
= meta_json
['title']
36 wide
= meta_json
['is_wide']
41 play_path
= 'mp4:{0}_dctp_0500_{1}.m4v'.format(uuid
, ratio
)
43 servers_json
= self
._download
_json
(
44 'http://www.dctp.tv/streaming_servers/',
45 video_id
, note
='Downloading server list')
46 url
= servers_json
[0]['endpoint']
53 'play_path': play_path
,
54 'rtmp_real_time': True,
56 'display_id': video_id