mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-27 03:03:01 +00:00
[extractor/common] Fix format_id when last_media
is None and always include m3u8_id
if present
The rationale behind `m3u8_id` was to resolve duplicates when processing several m3u8 playlists within the same media that give equal resulting `format_id`'s, e.g. `youtube-dl http://www.rts.ch/play/tv/passe-moi-les-jumelles/video/la-fee-des-bois-mustang-les-chemins-du-vent?id=3854925 -F`
This commit is contained in:
parent
d0e958c71c
commit
8dc9d361c2
1 changed files with 6 additions and 5 deletions
|
@ -883,12 +883,13 @@ def _extract_m3u8_formats(self, m3u8_url, video_id, ext=None,
|
|||
formats.append({'url': format_url(line)})
|
||||
continue
|
||||
tbr = int_or_none(last_info.get('BANDWIDTH'), scale=1000)
|
||||
format_id = last_media.get('NAME')
|
||||
if not format_id:
|
||||
format_id = '-'.join(filter(None, [
|
||||
m3u8_id, 'm3u8-%d' % (tbr if tbr else len(formats))]))
|
||||
format_id = []
|
||||
if m3u8_id:
|
||||
format_id.append(m3u8_id)
|
||||
last_media_name = last_media.get('NAME') if last_media else None
|
||||
format_id.append(last_media_name if last_media_name else '%d' % (tbr if tbr else len(formats)))
|
||||
f = {
|
||||
'format_id': format_id,
|
||||
'format_id': '-'.join(format_id),
|
||||
'url': format_url(line.strip()),
|
||||
'tbr': tbr,
|
||||
'ext': ext,
|
||||
|
|
Loading…
Reference in a new issue