Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

aether-ffmpeg

FFmpeg (LGPL) xcframeworks with the eac3 encoder enabled, used by Aether's PrismCore playback engine.

Why

PrismCore's AudioBridge (roadmap phase 3) re-encodes audio that HLS-fMP4 cannot stream-copy — TrueHD, DTS, DTS-HD MA, MP3, MP2, Opus, Vorbis, PCM — to EAC3, so those sources keep surround sound on the native AVPlayer path instead of falling back to software playback. That needs FFmpeg's eac3 encoder, and stock MPVKit compiles only the ac3/eac3 decoders. These builds close that gap.

The bridge detects the encoder at runtime (AudioBridge.isEncoderAvailable), so swapping these frameworks in is the entire integration: no code changes in PrismCore or the host.

Provenance

Built from mpvkit/MPVKit @ 0.41.0 (LGPL variant, FFmpeg n8.0.1), with one functional change to the FFmpeg configure whitelist:

--enable-encoder=eac3

The eac3 encoder is native FFmpeg code (LGPL) — no new external library is linked. The full build-script diff is attached to each release (0001-enable-eac3-encoder.patch); it also carries a build-environment fix (propagating DEVELOPER_DIR to subprocesses) that does not affect the artifacts.

Everything else — versions, dependencies (openssl, libass, libplacebo, dav1d, libdovi, …), deployment targets, platform slices — is stock MPVKit 0.41.0, so these zips are a drop-in replacement for the seven FFmpeg binary targets of an MPVKit 0.41.0 pin: Libavcodec, Libavdevice, Libavfilter, Libavformat, Libavutil, Libswresample, Libswscale.

License

FFmpeg is LGPL-2.1-or-later. Corresponding source: FFmpeg n8.0.1, built via mpvkit/MPVKit @ 0.41.0 with the attached patch. Third-party license notices: see MPVKit's THIRD_PARTY_NOTICES.

Use (SwiftPM)

Each release hosts the seven *.xcframework.zip assets (all Apple-platform slices) plus *.checksum.txt. Consume via:

.binaryTarget(
    name: "Libavcodec",
    url: "<release-asset-url>/Libavcodec.xcframework.zip",
    checksum: "<sha256>"
)

About

FFmpeg (LGPL) xcframeworks with the eac3 encoder enabled — for Aether's PrismCore AudioBridge (MPVKit 0.41.0 / FFmpeg n8.0.1 drop-in)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors