]> jfr.im git - yt-dlp.git/commitdiff
[ie/twitter] Extract bitrate for HLS audio formats (#9257)
authorbashonly <redacted>
Wed, 21 Feb 2024 08:39:10 +0000 (02:39 -0600)
committerGitHub <redacted>
Wed, 21 Feb 2024 08:39:10 +0000 (08:39 +0000)
Closes #9202
Authored by: bashonly

yt_dlp/extractor/twitter.py

index c3a6e406c186e1c44992c96fdeb124c260d36e2b..63a3c1c8410fe5a648dd7f90d4672f5f80821cda 100644 (file)
@@ -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<bitrate>\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 = {