diff options
Diffstat (limited to 'youtube_dl/extractor/vgtv.py')
| -rw-r--r-- | youtube_dl/extractor/vgtv.py | 31 | 
1 files changed, 24 insertions, 7 deletions
diff --git a/youtube_dl/extractor/vgtv.py b/youtube_dl/extractor/vgtv.py index 0f8c156a7..22e99e8f0 100644 --- a/youtube_dl/extractor/vgtv.py +++ b/youtube_dl/extractor/vgtv.py @@ -23,7 +23,10 @@ class VGTVIE(XstreamIE):          'fvn.no/fvntv': 'fvntv',          'aftenposten.no/webtv': 'aptv',          'ap.vgtv.no/webtv': 'aptv', +        'tv.aftonbladet.se': 'abtv', +        # obsolete URL schemas, kept in order to save one HTTP redirect          'tv.aftonbladet.se/abtv': 'abtv', +        'www.aftonbladet.se/tv': 'abtv',      }      _APP_NAME_TO_VENDOR = { @@ -42,9 +45,9 @@ class VGTVIE(XstreamIE):                      )                      /?                      (?: -                        \#!/(?:video|live)/| +                        (?:\#!/)?(?:video|live)/|                          embed?.*id=| -                        articles/ +                        a(?:rticles)?/                      )|                      (?P<appname>                          %s @@ -140,13 +143,25 @@ class VGTVIE(XstreamIE):              'only_matching': True,          },          { +            'url': 'https://tv.aftonbladet.se/video/36015/vulkanutbrott-i-rymden-nu-slapper-nasa-bilderna', +            'only_matching': True, +        }, +        {              'url': 'http://tv.aftonbladet.se/abtv/articles/36015',              'only_matching': True,          },          { +            'url': 'https://www.aftonbladet.se/tv/a/36015', +            'only_matching': True, +        }, +        {              'url': 'abtv:140026',              'only_matching': True, -        } +        }, +        { +            'url': 'http://www.vgtv.no/video/84196/hevnen-er-soet-episode-10-abu', +            'only_matching': True, +        },      ]      def _real_extract(self, url): @@ -174,13 +189,15 @@ class VGTVIE(XstreamIE):          streams = data['streamUrls']          stream_type = data.get('streamType') - +        is_live = stream_type == 'live'          formats = []          hls_url = streams.get('hls')          if hls_url:              formats.extend(self._extract_m3u8_formats( -                hls_url, video_id, 'mp4', m3u8_id='hls', fatal=False)) +                hls_url, video_id, 'mp4', +                entry_protocol='m3u8' if is_live else 'm3u8_native', +                m3u8_id='hls', fatal=False))          hds_url = streams.get('hds')          if hds_url: @@ -225,13 +242,13 @@ class VGTVIE(XstreamIE):          info.update({              'id': video_id, -            'title': self._live_title(data['title']) if stream_type == 'live' else data['title'], +            'title': self._live_title(data['title']) if is_live else data['title'],              'description': data['description'],              'thumbnail': data['images']['main'] + '?t[]=900x506q80',              'timestamp': data['published'],              'duration': float_or_none(data['duration'], 1000),              'view_count': data['displays'], -            'is_live': True if stream_type == 'live' else False, +            'is_live': is_live,          })          return info  | 
