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