From 0e2d64cdfd4bcf641d5c273a6fe2bb0b0cbec94a Mon Sep 17 00:00:00 2001 From: Divarion_D Date: Sun, 30 Aug 2026 14:05:34 +0300 Subject: [PATCH] feat(ffmpeg): dynamic build discovery + capabilities, wire ffmpeg_gpu, drop 4.0 hardcoding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Discover the bundled FFmpeg builds from bin/ffmpeg_bin// instead of a hardcoded version list, and expose what each build can do. - FfmpegBinaries (new): scans real version folders (skips *.backup.*), probes each binary's hardware encoders (nvenc/qsv/vaapi/…), flags GPU capability, caches the result to tmp/ffmpeg_capabilities.json keyed by a folder-mtime fingerprint. UI-only. - FfmpegPaths::resolve() rewritten: builds paths dynamically from the version string (is_file check, no shell — stays on the bootstrap hot path) and takes a separate GPU version; the switch and the per-version constants are gone. Unknown CPU version falls back to the legacy 4.0 build; an empty/invalid GPU version falls back to the CPU build. - Wire the previously-dead ffmpeg_gpu column: LegacyInitializer passes it to resolve(); settings.php lists versions from the scanner and adds an ffmpeg_gpu - + + + + + + + +
+