From: bashonly Date: Wed, 21 Feb 2024 08:39:10 +0000 (-0600) Subject: [ie/twitter] Extract bitrate for HLS audio formats (#9257) X-Git-Tag: 2024.03.10~62 X-Git-Url: https://jfr.im/git/yt-dlp.git/commitdiff_plain/28e53d60df9b8aadd52a93504e30e885c9c35262 [ie/twitter] Extract bitrate for HLS audio formats (#9257) Closes #9202 Authored by: bashonly --- diff --git a/yt_dlp/extractor/twitter.py b/yt_dlp/extractor/twitter.py index c3a6e406c..63a3c1c84 100644 --- a/yt_dlp/extractor/twitter.py +++ b/yt_dlp/extractor/twitter.py @@ -100,9 +100,13 @@ def _extract_variant_formats(self, variant, video_id): if not variant_url: return [], {} elif '.m3u8' in variant_url: - return self._extract_m3u8_formats_and_subtitles( + fmts, subs = self._extract_m3u8_formats_and_subtitles( variant_url, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False) + for f in traverse_obj(fmts, lambda _, v: v['vcodec'] == 'none' and v.get('tbr') is None): + if mobj := re.match(r'hls-[Aa]udio-(?P\d{4,})', f['format_id']): + f['tbr'] = int_or_none(mobj.group('bitrate'), 1000) + return fmts, subs else: tbr = int_or_none(dict_get(variant, ('bitrate', 'bit_rate')), 1000) or None f = {