]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/rtvnh.py
   2 from __future__ 
import unicode_literals
 
   4 from .common 
import InfoExtractor
 
   5 from ..utils 
import ExtractorError
 
   8 class RTVNHIE(InfoExtractor
): 
   9     _VALID_URL 
= r
'https?://(?:www\.)?rtvnh\.nl/video/(?P<id>[0-9]+)' 
  11         'url': 'http://www.rtvnh.nl/video/131946', 
  12         'md5': 'cdbec9f44550763c8afc96050fa747dc', 
  16             'title': 'Grote zoektocht in zee bij Zandvoort naar vermiste vrouw', 
  17             'thumbnail': 're:^https?:.*\.jpg$' 
  21     def _real_extract(self
, url
): 
  22         video_id 
= self
._match
_id
(url
) 
  24         meta 
= self
._parse
_json
(self
._download
_webpage
( 
  25             'http://www.rtvnh.nl/video/json?m=' + video_id
, video_id
), video_id
) 
  27         status 
= meta
.get('status') 
  30                 '%s returned error code %d' % (self
.IE_NAME
, status
), expected
=True) 
  33         rtmp_formats 
= self
._extract
_smil
_formats
( 
  34             'http://www.rtvnh.nl/video/smil?m=' + video_id
, video_id
) 
  35         formats
.extend(rtmp_formats
) 
  37         for rtmp_format 
in rtmp_formats
: 
  38             rtmp_url 
= '%s/%s' % (rtmp_format
['url'], rtmp_format
['play_path']) 
  39             rtsp_format 
= rtmp_format
.copy() 
  40             del rtsp_format
['play_path'] 
  41             del rtsp_format
['ext'] 
  43                 'format_id': rtmp_format
['format_id'].replace('rtmp', 'rtsp'), 
  44                 'url': rtmp_url
.replace('rtmp://', 'rtsp://'), 
  47             formats
.append(rtsp_format
) 
  48             http_base_url 
= rtmp_url
.replace('rtmp://', 'http://') 
  49             formats
.extend(self
._extract
_m
3u8_formats
( 
  50                 http_base_url 
+ '/playlist.m3u8', video_id
, 'mp4', 
  51                 'm3u8_native', m3u8_id
='hls', fatal
=False)) 
  52             formats
.extend(self
._extract
_f
4m
_formats
( 
  53                 http_base_url 
+ '/manifest.f4m', 
  54                 video_id
, f4m_id
='hds', fatal
=False)) 
  55         self
._sort
_formats
(formats
) 
  59             'title': meta
['title'].strip(), 
  60             'thumbnail': meta
.get('image'),