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 this:[x])Make sure you are using the latest version: run
youtube-dl --versionand ensure your version is 2018.01.21. 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
My examples will be from youtube, but this option should be applicable everywhere. Consider a video that has been encoded in different resolutions and in different codecs:
Now these versions contain video files with old generation codecs like avc1 or vp8 and new generation codecs like vp9 in the case of youtube (other sites might provide hevc). There are also audio files in old generation codecs like vorbis and m4a and the new opus codec generation.
I would want the following behaviour:
The default options don't do that because the avc1 files will typically be 5-10% larger than the vp9 files. The assumption right now is that more bitrate equals more quality. But that's not the case across codec generations. A vp9 file with 90% of the bitrate of an avc1 file will be slightly smaller AND of much better quality. The same is true for opus compared to vorbis for example.
As the new codec generations happen to be free formats, I thought --prefer-free-formats would do the trick. But it doesn't prefer free formats unless they also have the highest bitrate. As this free-format debate is quite contentious as it is, I don't want to hijack it but find another solution:
solves the problem in most cases on youtube. But wouldn't it be much more convenient if youtube-dl would recognize that some codecs perform better than others at equal bitrates and could conveniently select codecs from the newest generation. As it is, the user has to find out manually which site provides which codecs and then select them via the proxy of the container format if possible.