浏览代码

[utils] Properly recognize AV1 codec (closes #17506)

Sergey M․ 7 年之前
父节点
当前提交
25d110be30
共有 2 个文件被更改,包括 5 次插入1 次删除
  1. 4 0
      test/test_utils.py
  2. 1 1
      youtube_dl/utils.py

+ 4 - 0
test/test_utils.py

@@ -785,6 +785,10 @@ class TestUtil(unittest.TestCase):
             'vcodec': 'h264',
             'vcodec': 'h264',
             'acodec': 'aac',
             'acodec': 'aac',
         })
         })
+        self.assertEqual(parse_codecs('av01.0.05M.08'), {
+            'vcodec': 'av01.0.05M.08',
+            'acodec': 'none',
+        })
 
 
     def test_escape_rfc3986(self):
     def test_escape_rfc3986(self):
         reserved = "!*'();:@&=+$,/?#[]"
         reserved = "!*'();:@&=+$,/?#[]"

+ 1 - 1
youtube_dl/utils.py

@@ -2477,7 +2477,7 @@ def parse_codecs(codecs_str):
     vcodec, acodec = None, None
     vcodec, acodec = None, None
     for full_codec in splited_codecs:
     for full_codec in splited_codecs:
         codec = full_codec.split('.')[0]
         codec = full_codec.split('.')[0]
-        if codec in ('avc1', 'avc2', 'avc3', 'avc4', 'vp9', 'vp8', 'hev1', 'hev2', 'h263', 'h264', 'mp4v', 'hvc1'):
+        if codec in ('avc1', 'avc2', 'avc3', 'avc4', 'vp9', 'vp8', 'hev1', 'hev2', 'h263', 'h264', 'mp4v', 'hvc1', 'av01'):
             if not vcodec:
             if not vcodec:
                 vcodec = full_codec
                 vcodec = full_codec
         elif codec in ('mp4a', 'opus', 'vorbis', 'mp3', 'aac', 'ac-3', 'ec-3', 'eac3', 'dtsc', 'dtse', 'dtsh', 'dtsl'):
         elif codec in ('mp4a', 'opus', 'vorbis', 'mp3', 'aac', 'ac-3', 'ec-3', 'eac3', 'dtsc', 'dtse', 'dtsh', 'dtsl'):