Skip to content

1.0.0

Latest

Choose a tag to compare

@superuser404notfound superuser404notfound released this 17 Jun 06:16

First tagged release of FFmpegBuild: slim FFmpeg 8.1 + dav1d 1.5.1 xcframeworks for iOS 16+, tvOS 16+ and macOS 14+, consumed via Swift Package Manager.

The package has been stable in production (it backs AetherEngine) for months. 1.0.0 marks the first versioned cut so consumers can pin a release instead of tracking main.

What's in

  • libavformat: demux MKV, MP4, WebM, MPEG-TS, MPEG-PS (VOB / DVD), DASH, AVI, OGG, FLV, plus raw elementary streams
  • libavcodec: video + audio decode with a VideoToolbox bridge
  • libswresample / libswscale: audio resample / channel remap and pixel-format convert (YUV to NV12 / P010) for the software-decode path
  • libavfilter: trimmed to zscale + tonemap + colorspace (HDR to SDR still extraction) and bwdif + yadif (deinterlace)
  • dav1d 1.5.1: fast AV1 software decoder (separate xcframework)
  • zimg: zscale's resampling / colorspace backend (separate xcframework, link-only)

What's deliberately out

No TLS / network stack (you wire URLSession into FFmpeg's avio callback), no CLI programs (ffmpeg / ffplay / ffprobe), no hardware accel layer other than VideoToolbox. Encoders are stripped except FLAC and EAC3 (the audio bridge path), muxers except MP4 / MOV / HLS (the HLS-fMP4 producer).

Decode coverage

  • Video (HW, VideoToolbox): H.264, HEVC up to Main10 (HDR10 / DV Profile 8)
  • Video (SW): AV1 (dav1d), VP9, VP8, MPEG-2, MPEG-4, VC-1
  • Audio: AAC, AC3, EAC3 (with JOC / Atmos detection), FLAC, MP2, MP3, Opus, Vorbis, TrueHD, MLP, DTS, ALAC, PCM (incl. Blu-ray LPCM)
  • Subtitles: SRT, ASS, SSA, WebVTT, PGS, DVB, DVD

HDR metadata (BT.2020, ST 2084 / PQ, HLG, DV RPU) is preserved end-to-end.

Size

Roughly ~10 MB per architecture (FFmpeg + dav1d combined), release configuration.

Install

.package(url: "https://github.com/superuser404notfound/FFmpegBuild", from: "1.0.0")

License

LGPL-3.0, same as upstream FFmpeg. App Store compatible when linked dynamically.