]>
jfr.im git - yt-dlp.git/blob - yt_dlp/extractor/rtlnl.py
1 from . common
import InfoExtractor
8 class RtlNlIE ( InfoExtractor
):
10 IE_DESC
= 'rtl.nl and rtlxl.nl'
12 https?://(?:(?:www|static)\.)?
14 rtlxl\.nl/(?:[^\#]*\#!|programma)/[^/]+/|
15 rtl\.nl/(?:(?:system/videoplayer/(?:[^/]+/)+(?:video_)?embed\.html|embed)\b.+?\buuid=|video/)|
16 embed\.rtl\.nl/\#uuid=
22 'url' : 'https://www.rtlxl.nl/programma/rtl-nieuws/0bd1384d-d970-3086-98bb-5c104e10c26f' ,
23 'md5' : '490428f1187b60d714f34e1f2e3af0b6' ,
25 'id' : '0bd1384d-d970-3086-98bb-5c104e10c26f' ,
27 'title' : 'RTL Nieuws' ,
28 'description' : 'md5:d41d8cd98f00b204e9800998ecf8427e' ,
29 'timestamp' : 1593293400 ,
30 'upload_date' : '20200627' ,
35 'url' : 'http://www.rtlxl.nl/#!/rtl-nieuws-132237/82b1aad1-4a14-3d7b-b554-b0aed1b2c416' ,
36 'md5' : '473d1946c1fdd050b2c0161a4b13c373' ,
38 'id' : '82b1aad1-4a14-3d7b-b554-b0aed1b2c416' ,
40 'title' : 'RTL Nieuws' ,
41 'description' : 'md5:d41d8cd98f00b204e9800998ecf8427e' ,
42 'timestamp' : 1461951000 ,
43 'upload_date' : '20160429' ,
48 # best format available a3t
49 'url' : 'http://www.rtl.nl/system/videoplayer/derden/rtlnieuws/video_embed.html#uuid=84ae5571-ac25-4225-ae0c-ef8d9efb2aed/autoplay=false' ,
50 'md5' : 'dea7474214af1271d91ef332fb8be7ea' ,
52 'id' : '84ae5571-ac25-4225-ae0c-ef8d9efb2aed' ,
54 'timestamp' : 1424039400 ,
55 'title' : 'RTL Nieuws - Nieuwe beelden Kopenhagen: chaos direct na aanslag' ,
56 'thumbnail' : r
're:^https?://screenshots\.rtl\.nl/(?:[^/]+/)*sz=[0-9]+x[0-9]+/uuid=84ae5571-ac25-4225-ae0c-ef8d9efb2aed$' ,
57 'upload_date' : '20150215' ,
58 'description' : 'Er zijn nieuwe beelden vrijgegeven die vlak na de aanslag in Kopenhagen zijn gemaakt. Op de video is goed te zien hoe omstanders zich bekommeren om één van de slachtoffers, terwijl de eerste agenten ter plaatse komen.' ,
61 # empty synopsis and missing episodes (see https://github.com/ytdl-org/youtube-dl/issues/6275)
62 # best format available nettv
63 'url' : 'http://www.rtl.nl/system/videoplayer/derden/rtlnieuws/video_embed.html#uuid=f536aac0-1dc3-4314-920e-3bd1c5b3811a/autoplay=false' ,
65 'id' : 'f536aac0-1dc3-4314-920e-3bd1c5b3811a' ,
67 'title' : 'RTL Nieuws - Meer beelden van overval juwelier' ,
68 'thumbnail' : r
're:^https?://screenshots\.rtl\.nl/(?:[^/]+/)*sz=[0-9]+x[0-9]+/uuid=f536aac0-1dc3-4314-920e-3bd1c5b3811a$' ,
69 'timestamp' : 1437233400 ,
70 'upload_date' : '20150718' ,
74 'skip_download' : True ,
77 # encrypted m3u8 streams, georestricted
78 'url' : 'http://www.rtlxl.nl/#!/afl-2-257632/52a74543-c504-4cde-8aa8-ec66fe8d68a7' ,
79 'only_matching' : True ,
81 'url' : 'http://www.rtl.nl/system/videoplayer/derden/embed.html#!/uuid=bb0353b0-d6a4-1dad-90e9-18fe75b8d1f0' ,
82 'only_matching' : True ,
84 'url' : 'http://rtlxl.nl/?_ga=1.204735956.572365465.1466978370#!/rtl-nieuws-132237/3c487912-023b-49ac-903e-2c5d79f8410f' ,
85 'only_matching' : True ,
87 'url' : 'https://www.rtl.nl/video/c603c9c2-601d-4b5e-8175-64f1e942dc7d/' ,
88 'only_matching' : True ,
90 'url' : 'https://static.rtl.nl/embed/?uuid=1a2970fc-5c0b-43ff-9fdc-927e39e6d1bc&autoplay=false&publicatiepunt=rtlnieuwsnl' ,
91 'only_matching' : True ,
93 # new embed URL schema
94 'url' : 'https://embed.rtl.nl/#uuid=84ae5571-ac25-4225-ae0c-ef8d9efb2aed/autoplay=false' ,
95 'only_matching' : True ,
98 def _real_extract ( self
, url
):
99 uuid
= self
._ match
_ id
( url
)
100 info
= self
._ download
_ json
(
101 'http://www.rtl.nl/system/s4m/vfd/version=2/uuid= %s /fmt=adaptive/' % uuid
,
104 material
= info
[ 'material' ][ 0 ]
105 title
= info
[ 'abstracts' ][ 0 ][ 'name' ]
106 subtitle
= material
. get ( 'title' )
108 title
+= ' - %s ' % subtitle
109 description
= material
. get ( 'synopsis' )
111 meta
= info
. get ( 'meta' , {})
113 videopath
= material
[ 'videopath' ]
114 m3u8_url
= meta
. get ( 'videohost' , 'http://manifest.us.rtl.nl' ) + videopath
116 formats
= self
._ extract
_ m
3u8_ formats
(
117 m3u8_url
, uuid
, 'mp4' , m3u8_id
= 'hls' , fatal
= False )
118 self
._ sort
_ formats
( formats
)
122 for p
in ( 'poster_base_url' , '"thumb_base_url"' ):
127 'url' : self
._ proto
_ relative
_u rl
( meta
[ p
] + uuid
),
128 'width' : int_or_none ( self
._ search
_ regex
(
129 r
'/sz=([0-9]+)' , meta
[ p
], 'thumbnail width' , fatal
= False )),
130 'height' : int_or_none ( self
._ search
_ regex
(
131 r
'/sz=[0-9]+x([0-9]+)' ,
132 meta
[ p
], 'thumbnail height' , fatal
= False ))
139 'timestamp' : material
[ 'original_date' ],
140 'description' : description
,
141 'duration' : parse_duration ( material
. get ( 'duration' )),
142 'thumbnails' : thumbnails
,