Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Please follow the guide below
xinto all the boxes [ ] relevant to your issue (like that [x])Make sure you are using the latest version: run
youtube-dl --versionand ensure your version is 2016.11.08.1. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.Before submitting an issue make sure you have:
What is the purpose of your issue?
The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue
Description of your issue, suggested solution and other information
Feature request: the ability to specify one or more format code fallbacks with the -f parameter, separated by semicolon delimiters (;). Should work with any site. Two examples:
youtube-dl -f http-720p;http-360p https://vimeo.com/44583147
-- would download http-720p if available;
ELSE, would download http-360p if available;
ELSE, returns standard "ERROR: requested format not available" message and stops.
youtube-dl -f 22;135+140;135,171;18 https://www.youtube.com/watch?v=zDZFcDGpL4U
-- would download 22 if available;
ELSE, would download 135 and 140 (and merge them) if both 135 and 140 are available;
ELSE, would download 135 and 171 (and NOT merge them) if both 135 and 171 are available;
ELSE, would download 18 if available;
ELSE, returns standard "ERROR: requested format not available" message and stops.
Basically, this feature simply implies placing the portion of youtube-dl's code which tests the validity of the -f specification into a while() loop that repeats the test for each substring between semicolons. The while loop ends only upon finding the first match, or upon running out of possibilities.
The reason I need this feature (and believe others would benefit from it too) is that it would make batch downloading easier for those who would normally just do "-f best", but who have slow broadband and/or storage space limitations and/or preferences for certain container formats and/or preferences for specific download protocols (i.e. http vs. hls). My feature request is therefore just a way of restricting the action of "-f best" so that it operates within a user-specified list of qualities/formats/protocols -- and according to the user's own personal definition of best;to;worst.