A cold vcpkg FFmpeg build costs ~40 minutes per Windows run and the Windows dependency chain is the hardest to keep healthy; BtbN's builds come from public GitHub Actions on the release/8.1 branch (BtbN is an FFmpeg developer; ffmpeg.org links these builds as the official Windows option). The archive ships include/, MSVC import libs (.lib), pkg-config files and the runtime DLLs, and is fetched straight from his release page with the checksums.sha256 published in the same release — nothing is mirrored here, so provenance stays upstream. The Windows jobs download/verify/extract it to .cache/ffmpeg (the checksum comes from that release's own checksums.sha256), point FFMPEG_DIR/PKG_CONFIG_PATH at it (pkgconf still comes from vcpkg) and the installer bundles its DLLs. The manifest gates ffmpeg to !windows and drops librsvg (the icon now ships as the committed PNG).
51 lines
1.3 KiB
JSON
51 lines
1.3 KiB
JSON
{
|
|
"name": "oak",
|
|
"version": "0.5.0",
|
|
"$comment": "FFmpeg for the Linux/macOS CI/CD builds with the project's feature set (every free codec + hwaccel, mirroring tooling/ffmpeg/build-ffmpeg.sh's configure switches); Windows uses the vendored BtbN prebuilt instead (GPL shared, MSVC import libs) because a cold vcpkg FFmpeg build there took ~40 minutes — see the ffmpeg-prebuilt-win64-n8.1 release. pkgconf is needed everywhere (oak-ffmpeg-link's build script). Local builds may keep using tooling/install-deps.sh + tooling/ffmpeg/build-ffmpeg.sh. ffmpeg is pinned to 8.1.2#3 via overrides (matching the ffmpeg-next 8.x binding); builtin-baseline pins the rest of the port tree.",
|
|
"builtin-baseline": "771b0a2e7c473c3a6bee56553be4d5bb32bb653c",
|
|
"dependencies": [
|
|
{
|
|
"name": "ffmpeg",
|
|
"platform": "!windows",
|
|
"features": [
|
|
"gpl",
|
|
"version3",
|
|
"x264",
|
|
"x265",
|
|
"dav1d",
|
|
"vpx",
|
|
"openh264",
|
|
"openjpeg",
|
|
"zlib",
|
|
"theora",
|
|
"webp",
|
|
"mp3lame",
|
|
"opus",
|
|
"vorbis",
|
|
"speex",
|
|
"snappy",
|
|
"ass",
|
|
"freetype",
|
|
"fribidi",
|
|
"fontconfig",
|
|
"openssl",
|
|
{
|
|
"name": "nvcodec",
|
|
"platform": "linux | (windows & !arm64)"
|
|
},
|
|
{
|
|
"name": "vaapi",
|
|
"platform": "linux"
|
|
}
|
|
]
|
|
},
|
|
"pkgconf"
|
|
],
|
|
"overrides": [
|
|
{
|
|
"name": "ffmpeg",
|
|
"version": "8.1.2#3"
|
|
}
|
|
]
|
|
}
|