-
-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprioritize HEVC-over-FLV formats #5823
Deprioritize HEVC-over-FLV formats #5823
Conversation
You mean in core code? We could add this logic here Lines 6307 to 6309 in c733555
|
@pukkandan Maybe |
Sounds good |
161910f
to
5232694
Compare
FWIW, there's (open-source?) code in GitHub (from Oct 2020) which implements exactly that (HEVC inside FLV container): Another dev patched a slightly newer ffmpeg version from Nov 2020, see here; hopefully, current ffmpeg 5.x.x could be patched (and compiled?) in a similar fashion 😜 ... Source: SO Later addition: |
https://trac.ffmpeg.org/ticket/6389#comment:1 |
TLDR:
Gory details:
There is no shortage of such patches out there; one was even submitted to FFmpeg. The problem is that these patches are all slightly different, and I'm not knowledgeable of codec internals to sort out the differences.
|
Remuxing without being requested may not be a good idea. I think we should just leave the format deprioritized. Opinion, @Lesmiscore ? |
Agreed since we can't expect upstream to apply the patch |
I've disabled SSL for GMP. Builds are operational once again. Having no access to real world HEVC-over-FLV, i've downloaded an example from OSSRS, and recoded it as per instructions: ffmpeg -re -i source.200kbps.768x320.flv -acodec copy -vcodec libx265 -f flv test.flv Patched FFmpeg is capable of probing and playing the resulting file:
Non-patched FFmpeg throws:
Nonetheless, testing on real-world examples would be greatly appreciated.
At least a warning should be issued, when this format is selected, along the lines of “selected format is non-standard and unsupported by most player. Consider using --remux-video.” |
We could add a note to |
Looks okay to me (
|
IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information
Looks like BiliBili is offering HEVC-over-FLV formats, which isn't in standards and even not supported by ffmpeg. (How do browsers play? There's a library to demux for them)
Although they could have been skipped, I think they should be available for download for anyone interested in.
ref. https://trac.ffmpeg.org/ticket/6389
ref. #5821
... wait, should we implement some scheme to deprioritize such formats (i.e. impossible or out-of-spec combination of container/codecs) globally? @pukkandan
Template
Before submitting a pull request make sure you have:
In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:
#5821
What is the purpose of your pull request?