FFmpeg Builds for yt-dlp

nihil-admirari 89aa7a4051 7.1 release před 2 měsíci
.github 89aa7a4051 7.1 release před 4 dny
addins d4d9acc8d5 Add 7.1 addin před 2 měsíci
images 1193d650d5 Remove stray reference to upstream před 4 dny
patches 7a7d2be56e 7.0 release před 4 dny
scripts.d 8410769796 Enable alpha support in libx265 před 4 dny
util fe6b024b11 Update repository path and readme před 4 dny
variants 8efdbd5a6b Add initial support for winarm64 před 8 měsíci
.gitignore fe6b024b11 Update repository path and readme před 4 dny
LICENSE b0600d251c Update license year před 3 roky
README.md d1aa2c2ea4 Use the correct Vulkan NULL type před 4 dny
build.sh 8efbcbb4c1 FFmpeg master no longer needs WebVTT fix před 4 dny
download.sh e7b51ec84e Simplify rootless-test před 3 měsíci
generate.sh 40511a0e8a Always use COPY --link před 2 měsíci
makeimage.sh bca241b76e Only re-build step image if not in output cache yet před 9 měsíci

README.md

FFmpeg Static Auto-Builds

This repository provides static Windows (x86 and x86_64) and Linux (x86_64, arm64) Builds of FFmpeg master and latest release branch with some patches necessary for smooth integration with yt-dlp

Note: The builds provided are only meant to be used with yt-dlp and any unrelated issues/patches will be rejected

Downloads

Linux x64 GPL master Linux ARM64 GPL master Windows x64 GPL master Windows x86 GPL master Windows ARM64 GPL master Other variants Other versions


Patches Welcome

Known issues for which patches are welcome:

1. More Builds

There are currently no MacOS builds. If you know how to add them to the workflow, make a PR

2. Removing a segment before the first subtitle

yt-dlp#2753, FFmpeg#9646

Patches Applied

These patches have been applied to the builds:

1. Decoding non-standard HEVC in FLV containers

HEVC inside FLV has been standardized by @Veovera, implemented by @T-bagwell and merged to FFmpeg master in aa83654 and ac5cc66.

Chinese sites seem to continue using an old non-standard way to deliver HEVC in FLV containers. These builds of FFmpeg support the decoding of such files.

Releases older than 6.1 also supported the encoding of such non-standard files. The implementation was assembled from patches by @xiaoxial, @runner365, and Matthieu Patou. See this comment for details.

Fixes yt-dlp#5874, FFmpeg#6389.

Historical Patches

Patches that were used in the past but are no longer needed as of 7.0:

1. Fix AAC HLS streams being truncated mid stream

by @shirt and @jeeb, merged in c205778. Fixes yt-dlp#618, yt-dlp#998, yt-dlp#1039, FFmpeg#9433

2. Fix for YouTube's VP9 encodes with non-monotonous DTS

by @danny-wu, merged in 68595b4 Fixes yt-dlp#871, youtube-dl#28042, FFmpeg#9086

3. Long path support for Windows

by @nihil-admirari. Fixes yt-dlp#1995, yt-dlp#1273, FFmpeg#8885.

This patch has been substantially reworked by FFmpeg devs @softworkz and @mstorsjo, and merged in a series of commits: 3fb9244 4cdc14a 6076dbc f579a1d 6b32ad5 c5aba39 bc8f1bb 5d5a014 3b3c567 fee765c cc5844d dfa062e 13350e8 c381f54 69364a0

4. Chapter embedding regression

by @bashonly. Fixes FFmpeg#10482

Fixed upstream by @mkver; merged in 02064ba.

5. WebVTT decoding fix

by @tpikonen. Fixes yt-dlp#4127, FFmpeg#8684

Fixed upstream by @ztion; merged in 51d303e.

2. Use the correct Vulkan NULL type

by @nihil-admirari. Makes it possible to build the current master for Win32 targets.

Fixed upstream by @ceyusa; merged in 2bcc124.

Credits


PS: The commits are unsigned because of the periodic automatic rebase