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.
youtube-dl doesn't understand ffmpeg masquerading as avconv #14633
Comments
|
What issue is this a duplicate of? I'd like to submit a patch for this, and I should refer to the issue in the PR. |
|
Nevermind, I found it. (It's #10673.) |
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 2017.10.29. 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?
If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the
-vflag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):Description of your issue, suggested solution and other information
youtube-dl understands how to use ffmpeg and avconv. On a system with both installed, it can explicitly use either; if you don't specify a default it somehow chooses one or the other to use.
On my freshly-installed Ubuntu 17.10 (64-bit) computer, youtube-dl seems to choose avconv by default. But avconv is not actually installed. Debian chose to switch back to ffmpeg quite some time ago, but in order to not break shell scripts (I guess) they symbolically linked avconv to ffmpeg. Naturally Ubuntu inherited this behavior, voila:
The real avconv tool is currently at version 12.0. And it seems that avconv added a feature in version 10.0 that's necessary for youtube-dl to use it for muxing; versions older than 10.0 are too old to be useful.
However, ffmpeg is currently at version 3.3.4-2 on this system. And here's the bug: it seems that youtube-dl somehow analyzes "avconv" (really ffmpeg), and concludes that it's at version 3.3.4-2. Since that's less than 10.0, youtube-dl decides it can't mux with avconv. So instead it downloads the best-quality single-file download, which is of markedly lower quality, judging by download size.
I can work around this problem by specifying "--prefer-ffmpeg" on the youtube-dl command-line. But it would be nice if I didn't have to.
Strategies you might consider to work around this problem:
One final note: my computers running Ubuntu 17.04 (64-bit) did not (and do not currently) have this problem, despite the fact that they too have avconv as a symbolic link to ffmpeg, and ffmpeg is an even older version ("3.2.4-1build2"). I don't know why I don't see this behavior on those computers.