Skip to content

GPAC 2.4

Latest
Compare
Choose a tag to compare
@jeanlf jeanlf released this 17 Apr 17:30
· 224 commits to master since this release

We are happy to announce the release of GPAC 2.4

This release marks the beginning of GPAC in your browser with emscripten support, with a live demo at https://wasm.gpac.io !

This release also brings many new features including pcap support, async net IOs, JIT packaging for on-demand content and better subtitle/CC support.

As usual, installers are available on gpac.io for most common platforms.

Enjoy, give us feedback and spread the news!

Detailed changes:

Emscripten|WebAssembly(WASM) support

  • Session can run in worker or in main browser loop
  • Automatic disable of ffdec and ffenc threads when not running in worker
  • Use fetch() api for downloader
  • Support for WebCodecs
  • Support for getUserMedia and canvas readable streams
  • gpac.html demo page

Media Formats

  • Fixes in text subtitle converters
  • Improved DolbyVision muxing from mkv
  • Dasher support for inputs with multiple stsd entries
  • Allow multiplexed representations for LL-HLS
  • Improved eac3 support
  • QT cmov support (reading and writing)
  • QT lpcm support
  • Improved chaptering support
  • Improved timecode inspection
  • Support for big-endian PCM formats
  • Support for uncv (raw video in mp4 and heif)
  • Support for forced subtitles
  • Support for HEVC bitstreams merging in dash (for multi-res tile adaptation)

Filters

  • Async HTTP request in all filters
  • JS/Python/NodeJS bindings for httpout server
  • Fixed CORS and mime types in httpout for wasm and sharedArrayuffer support
  • Allow compilation without threads
  • Allow compilation without network
  • Fixed GF_FileIO for async read and write modes
  • Added seeking in mp4dmx in mem mode
  • vout updated to use VBO (required for gles2)
  • libcaca video output support
  • Allow ffdmx to work as demux filter on gpac input file pids
  • GHI format for pre-indexing DASH/HLS session for JIT packaging/encryption/transcode
  • Zero-copy for mp4dmx and fragmented mp4mx
  • Various speed optimizations (filter session, isomedia lib, disk io, xml)
  • Allow running the session without mutexes
  • Closed Caption decoding filter (CEA708)
  • MPEG-H decoder using IIS mpeghdec
  • Templating for property assignment
  • Conditional filter replacement to identify based on codecID
  • Per-filter logging

MP4Box

  • Add track reordering option

Misc

  • Migrated doc from github's wiki to wiki.gpac.io
  • FFmpeg 7 support
  • Added features for configure (vout, aout, fonts, doc, evg)
  • Allow specifying network interface by name or IP (instead of IP only)
  • UDP/TCP filtering and recording to / playback from pcap, pcapng and GPAC gpc files
  • Added Nix and Docker build files
  • Many bug fixes, improvements and security patches