Skip to content

Enable libvpx in ffmpeg so VP9 is actually available#54

Merged
roddylindsay merged 1 commit into
EnvelopSound:masterfrom
mormegil6:enable-libvpx
Jul 23, 2026
Merged

Enable libvpx in ffmpeg so VP9 is actually available#54
roddylindsay merged 1 commit into
EnvelopSound:masterfrom
mormegil6:enable-libvpx

Conversation

@mormegil6

Copy link
Copy Markdown
Contributor

What this fixes

libvpx-dev is installed as a build dependency in the Dockerfile, but ffmpeg's ./configure enables only --enable-libx264 and --enable-libopus. libvpx is therefore never compiled into the ffmpeg binary, so any -c:v libvpx-vp9 transcode fails at runtime with:

Unknown encoder 'libvpx-vp9'

VP9 is a natural fit for Earshot's DASH/WebM output (and pairs with the Opus audio it already produces), but it is currently unreachable despite the dependency being present.

Fix

Add --enable-libvpx to the ffmpeg configure, matching the already-installed libvpx-dev. One line, no new dependencies, no image-size change beyond the already-present runtime libvpx.

Note on CI

The red test check is unrelated to this change — the workflow's actions/cache@v2 is auto-rejected by GitHub, so test fails before it runs (lint still passes).

libvpx-dev is installed as a build dependency, but ffmpeg's ./configure enabled
only --enable-libx264 and --enable-libopus, so libvpx-vp9 was never compiled in.
Any `-c:v libvpx-vp9` transcode then fails at runtime with "Unknown encoder
'libvpx-vp9'". Add --enable-libvpx to match the installed dependency.
Copilot AI review requested due to automatic review settings July 22, 2026 15:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables VP9 encoding support in the project’s custom-built FFmpeg Docker image by compiling FFmpeg with libvpx, aligning the build configuration with the already-installed libvpx dependencies.

Changes:

  • Add --enable-libvpx to the FFmpeg ./configure flags in the Docker build stage.
  • Ensures the resulting FFmpeg binary includes the libvpx-vp9 encoder (with libvpx already present in the runtime image).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@roddylindsay
roddylindsay merged commit b03d8bc into EnvelopSound:master Jul 23, 2026
2 of 4 checks passed
@mormegil6
mormegil6 deleted the enable-libvpx branch July 23, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants