summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-04-12 17:36:29 +0600
committerSergey M․ <dstftw@gmail.com>2015-04-12 17:36:29 +0600
commitc36a95954947fd5d9fb8df2539115a7f9a6b3a59 (patch)
treee19fbdf2ab356b9dffcc1478ddf04984ff22113e
parente91b2d14e3100801269ec9e5e853fd8a21c29443 (diff)
downloadyoutube-dl-c36a95954947fd5d9fb8df2539115a7f9a6b3a59.tar.gz
youtube-dl-c36a95954947fd5d9fb8df2539115a7f9a6b3a59.tar.xz
youtube-dl-c36a95954947fd5d9fb8df2539115a7f9a6b3a59.zip
[YoutubeDL] Try to download worst audio+video served by a single file first (Closes #5408)
-rwxr-xr-xyoutube_dl/YoutubeDL.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
index 640b8c99d..a68b24ab4 100755
--- a/youtube_dl/YoutubeDL.py
+++ b/youtube_dl/YoutubeDL.py
@@ -919,6 +919,11 @@ class YoutubeDL(object):
         if format_spec == 'best' or format_spec is None:
             return available_formats[-1]
         elif format_spec == 'worst':
+            audiovideo_formats = [
+                f for f in available_formats
+                if f.get('vcodec') != 'none' and f.get('acodec') != 'none']
+            if audiovideo_formats:
+                return audiovideo_formats[0]
             return available_formats[0]
         elif format_spec == 'bestaudio':
             audio_formats = [