GPAC is an open-source multimedia framework built around a pluggable filter graph pipeline, where modular processing units called filters connect into a directed graph to handle media workflows. At its core, the framework centers all media packaging and manipulation on the ISO Base Media File Format (ISOBMFF), with specialized tools for reading, writing, fragmenting, and encrypting MP4 and related containers. It also provides a declarative scene graph composition system for describing interactive multimedia scenes using MPEG-4 BIFS, X3D, SVG, or VRML syntax, alongside a hardware-accelerated rendering pipeline that supports OpenGL and WebGL contexts.
The framework distinguishes itself through dynamic filter session management, allowing filters to be created, connected, and removed at runtime without restarting the entire workflow. It integrates cross-language scripting with JavaScript and Python runtimes, enabling user-defined scripts to act as filters, handle events, and control pipeline behavior alongside native C modules. GPAC also handles real-time network protocol multiplexing, simultaneously managing reception and transmission over RTP, RTSP, HTTP, UDP, TCP, and ATSC 3.0 ROUTE with built-in packet scheduling and timestamp synchronization for live streaming.
Beyond its core architecture, GPAC covers a broad capability surface including adaptive streaming packaging for MPEG-DASH, HLS, and CMAF formats, media container manipulation for creating and editing ISOBMFF files, and media encryption and DRM with support for AES-128 CENC, ISMA, and Adobe schemes. It also provides tools for audio and video transcoding, subtitle processing, tile-based video adaptation, and interactive 3D graphics rendering, all accessible through a command-line interface and configurable via structured configuration files.