- return ''.join([url, '?hdnea=', token])
-
- # May have higher quality video
- sd_url = try_get(
- stream, lambda x: x['streams']['hls']['sd'], compat_str)
- if sd_url:
- format_urls.append(tokenize_url(sd_url, token))
- else:
- sd_low_url = try_get(
- stream, lambda x: x['streams']['hls']['sd-low'], compat_str)
- format_urls.append(tokenize_url(sd_low_url, token))
-
- formats = []
- for format_url in format_urls:
- if format_url:
- formats.extend(
- self._extract_m3u8_formats(format_url, video_id, 'mp4'))
+ return update_url_query(url, {
+ 'hdnea': token,
+ })
+
+ for sd in ('sd', 'sd-low'):
+ sd_url = try_get(
+ stream, lambda x: x['streams']['hls'][sd], compat_str)
+ if not sd_url:
+ continue
+ formats = self._extract_m3u8_formats(
+ tokenize_url(sd_url, token), video_id, 'mp4',
+ entry_protocol='m3u8_native', m3u8_id='hls', fatal=False)
+ if formats:
+ break