From 483dbbc3e21c2bd3b154ad96a083bfc39aac0ee7 Mon Sep 17 00:00:00 2001 From: Igor Samokhovets Date: Mon, 23 Mar 2026 16:01:28 +0100 Subject: [PATCH] `rust-ffmpeg-splitter`: Fix AV1 encoder flag Use FFmpeg's `libaom_av1` component selector so the bundled binary actually registers the `libaom-av1` encoder, and add a smoke test that verifies encoder presence plus a minimal AV1 encode. --- compile-ffmpeg.mjs | 3 +-- test-ffmpeg.mjs | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/compile-ffmpeg.mjs b/compile-ffmpeg.mjs index 7b0e6e2..9e14de3 100644 --- a/compile-ffmpeg.mjs +++ b/compile-ffmpeg.mjs @@ -119,7 +119,6 @@ if (!existsSync(PREFIX)) { fs.mkdirSync(PREFIX); } -execSync("git config --global advice.detachedHead false"); const isWindows = process.argv.includes("windows"); const isMusl = process.argv.includes("musl"); const isOldCmake = process.argv.includes("old-cmake"); @@ -268,7 +267,7 @@ execSync( "--enable-encoder=pcm_s24le", "--enable-encoder=libx264", "--enable-encoder=libx265", - "--enable-encoder=libaom-av1", + "--enable-encoder=libaom_av1", "--enable-libvpx", "--enable-encoder=libvpx_vp8", "--enable-encoder=libvpx_vp9", diff --git a/test-ffmpeg.mjs b/test-ffmpeg.mjs index 507ab53..adb230a 100644 --- a/test-ffmpeg.mjs +++ b/test-ffmpeg.mjs @@ -31,6 +31,16 @@ if (exit1.status !== 0) { } assert(exit1.status === 0); +const encoders = spawnSync(ffmpegBinary, ["-hide_banner", "-encoders"], { + env, +}); +if (encoders.status !== 0) { + console.log(encoders.stderr.toString("utf8")); + console.log(encoders.stdout.toString("utf8")); +} +assert(encoders.status === 0); +assert(encoders.stdout.toString("utf8").includes("libaom-av1")); + const exit2 = spawnSync( ffmpegBinary, ["-i", "sample-5s.webm", "-t", "1", "out-test.mp4", "-y"], @@ -143,4 +153,24 @@ const exit6 = spawnSync( } ); assert(exit6.status === 0); + +const exit7 = spawnSync( + ffmpegBinary, + [ + "-i", + "sample.mp4", + "-frames:v", + "1", + "-an", + "-c:v", + "libaom-av1", + "out-test-libaom-av1.mkv", + "-y", + ], + { + env, + stdio: "inherit", + } +); +assert(exit7.status === 0); console.log("Hooray!");