aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--yt_dlp/extractor/niconico.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/yt_dlp/extractor/niconico.py b/yt_dlp/extractor/niconico.py
index 77a22777b..62dd0ab9c 100644
--- a/yt_dlp/extractor/niconico.py
+++ b/yt_dlp/extractor/niconico.py
@@ -28,6 +28,7 @@ from ..utils import (
try_get,
unescapeHTML,
update_url_query,
+ url_basename,
url_or_none,
urlencode_postdata,
urljoin,
@@ -432,6 +433,7 @@ class NiconicoIE(InfoExtractor):
'format_id': ('id', {str}),
'abr': ('bitRate', {float_or_none(scale=1000)}),
'asr': ('samplingRate', {int_or_none}),
+ 'quality': ('qualityLevel', {int_or_none}),
}), get_all=False),
'acodec': 'aac',
}
@@ -443,7 +445,9 @@ class NiconicoIE(InfoExtractor):
min_abr = min(traverse_obj(audios, (..., 'bitRate', {float_or_none})), default=0) / 1000
for video_fmt in video_fmts:
video_fmt['tbr'] -= min_abr
- video_fmt['format_id'] = f'video-{video_fmt["tbr"]:.0f}'
+ video_fmt['format_id'] = url_basename(video_fmt['url']).rpartition('.')[0]
+ video_fmt['quality'] = traverse_obj(videos, (
+ lambda _, v: v['id'] == video_fmt['format_id'], 'qualityLevel', {int_or_none}, any)) or -1
yield video_fmt
def _real_extract(self, url):