From 873b80d0ffdb61df1867a5226b176b45f5f7eed9 Mon Sep 17 00:00:00 2001 From: Oneboy1979 Date: Sun, 12 Apr 2020 09:16:29 +0200 Subject: [PATCH] playerglobewien - extract all links and add audio only support --- youtube_dl/extractor/playerglobewien.py | 33 ++++++++++++++++++++----- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/youtube_dl/extractor/playerglobewien.py b/youtube_dl/extractor/playerglobewien.py index df614334c..91edfdb05 100755 --- a/youtube_dl/extractor/playerglobewien.py +++ b/youtube_dl/extractor/playerglobewien.py @@ -23,11 +23,12 @@ class PlayerGlobeWienIE(InfoExtractor): 'url': 'https://player.globe.wien/globe-wien/corona-podcast-teil-4', 'info_dict': { 'id': 'corona-podcast-teil-4', - 'ext': 'mp4', + 'ext': 'm4a', 'title': 'Eckel & Niavarani & Sarsam - Im Endspurt versagt', }, 'params': { 'format': 'bestaudio', + 'skip_download': True, } }, { @@ -45,11 +46,20 @@ class PlayerGlobeWienIE(InfoExtractor): 'url': 'https://player.hader.at/hader/hader-indien-video', 'info_dict': { 'id': 'hader-indien-video', - 'ext': 'mp4', + 'ext': 'm4a', 'title': 'Film der Woche - Indien', }, 'params': { 'format': 'bestaudio', + 'skip_download': True, + } + }, + { + 'url': 'https://player.hader.at/hader/hader-indien', + 'info_dict': { + 'id': 'hader-indien', + 'ext': 'mp3', + 'title': 'Hader & Dorfer lesen Indien', } }, ] @@ -62,12 +72,23 @@ class PlayerGlobeWienIE(InfoExtractor): title = self._html_search_regex(r'(.+?)', webpage, 'title') title = re.sub(r'^(Globe Wien VOD -|Hader VOD -)\s*', '', title) - stream_url = self._download_webpage("https://player.globe.wien/api/playout?vodId=" + video_id, video_id) + streamurl = self._download_json("https://player.globe.wien/api/playout?vodId=" + video_id, + video_id).get('streamUrl') - hls_url = self._parse_json(stream_url, video_id)['streamUrl']['hls'] + if streamurl.get('hls'): + formats.extend(self._extract_m3u8_formats( + streamurl.get('hls'), video_id, 'mp4', entry_protocol='m3u8_native', m3u8_id='hls')) - formats.extend(self._extract_m3u8_formats( - hls_url, video_id, 'mp4', entry_protocol='m3u8_native', m3u8_id='hls')) + if streamurl.get('dash'): + formats.extend(self._extract_mpd_formats( + streamurl.get('dash'), video_id, mpd_id='dash', fatal=False)) + + if streamurl.get('audio'): + return { + 'id': video_id, + 'title': title, + 'url': streamurl.get('audio'), + } self._sort_formats(formats) return {