Introducing GPAC.WASM – the new WebAssembly Interface to try GPAC

Embarking on the multimedia processing journey with GPAC has never been easier or more accessible, thanks to the GPAC Web Assembly (WASM) Platform. This innovative new interface is designed with every user in mind, from coding novices to seasoned command-line veterans. 

By removing the need for installation and offering a straightforward, interactive interface, we’re opening up the world of GPAC to a broader audience than ever before. No matter your experience level, the GPAC WASM Platform provides a welcoming space to experiment with, learn, and leverage GPAC’s comprehensive multimedia capabilities. 

Dive into our ready-to-use commands or craft your own to see what GPAC can do for you, all while bypassing the common hurdles of getting started. Join us in demystifying multimedia processing, making it more approachable and enjoyable for everyone.

What can you do with the new GPAC WASM Platform?

Before we dive into the possibilities unlocked by the GPAC WASM Platform, let’s take a moment to understand the technology it’s built upon: WebAssembly (WASM).

WebAssembly (WASM) enables high-performance execution of code on Web browsers, providing a fast and efficient alternative to JavaScript for Web applications. WebAssembly represents a significant advancement in performance, bridging the gap between native applications and Web browsers. 

The new GPAC WASM platform opens up exciting possibilities for everyone to experience the power of GPAC with just one click. 

Historically, leveraging GPAC’s full suite of multimedia processing tools required a certain level of technical know-how, including installation and command-line navigation. This necessity often posed a daunting barrier for many, from individuals curious about multimedia processing to professionals seeking efficient, browser-based solutions.

The new platform showcases popular use-cases along with their corresponding command-lines, guiding users effortlessly into the world of GPAC.

  • Audiovisual Play:
    • Command: gpac -i -i aout vout
    • Plays an audiovisual file combining video and audio streams from the provided URLs. This demonstrates GPAC’s capability to synchronize and render multimedia content.
  • Inspect Media:
    • Command: gpac -i -i inspect:full
    • Provides a detailed analysis of the media properties for both the video and audio streams. It’s a powerful tool for understanding the technical specifics and encoding parameters of multimedia files.
  • Trick Mode:
    • Command: gpac -i @#Video reframer:saps=1 @ -o iframes.mp4
    • Demonstrates the manipulation of a video stream to extract and save only the I-frames to a new file. This is particularly useful for editing, analyzing, or optimizing video content.
  • Extra Content from a .mpd:
    • Command: gpac -i dashin:forward=file -o 'dump/$File$':dynext
    • Shows how to process adaptive streaming content (DASH) by downloading segments from a .mpd (Media Presentation Description) file and saving them. It highlights GPAC’s capabilities in handling streaming media and adaptive bitrate streaming.

As GPAC 2.0 brought support for Python and NodeJS, we felt WebAssembly had the potential to become our next binding (even before the C#, Go, or Rust bindings our community has been discussing).

The introduction of GPAC WASM Platform marks a pivotal development made possible by the GPAC Community. It creates new pathways for usage and deployment scenarios that leverage the versatility of the web. 

This evolution of GPAC through WebAssembly harnesses the power of the web to bring multimedia processing to a wider audience, overcoming barriers previously posed by installation requirements and technical complexities. 

Despite the inherent limitations set by the WebAssembly specification, toolchains, and web browser constraints, we are committed to expanding the platform’s capabilities based on user feedback. 

While the WASM Platform offers a convenient and accessible way to explore many of GPAC’s features, it is worth noting that this web-based version represents a curated selection of what GPAC can do. For those who find themselves bumping up against these boundaries and seeking access to GPAC’s full suite of tools and capabilities, we recommend considering a native installation of GPAC. Doing so may provide a more extensive and in-depth multimedia processing experience.

By bridging the gap between ease of access and powerful functionality, we hope to foster a community of users who feel empowered to experiment with and contribute to the evolution of GPAC. Whether through the GPAC WASM Platform or a native installation, there’s a wealth of potential waiting to be discovered for your multimedia projects.

GPAC 2.4

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 !

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 for most common platforms.

Enjoy, give us feedback and spread the news!

Continue reading GPAC 2.4

GPAC documentation updates

Announcing New Documentation for GPAC

For over two decades, GPAC and MP4Box have been at the forefront of multimedia processing innovation, continuously evolving and expanding their capabilities. This journey has seen the software mature and grow in scope over time. The documentation, too, has accumulated and evolved, with specific portions even becoming deprecated. As the GPAC landscape widened, we saw a need for accessible, up-to-date documentation that was able to grow alongside our technologies.

Ten years ago as we moved to GitHub for our public version control server, we migrated to the github wiki system: a nice improvement in developer experience to produce documentation at the time. This move marked a significant step forward, enhancing the developer experience and facilitating the creation and sharing of knowledge.

But today, with the large amount of documentation now provided to cover usage of GPAC filters along MP4Box, we felt the GitHub Wiki had shown its limits: the combined lack of support for HTTP redirects and poor search functionality of GitHub’s Wiki made it less appealing compared to the many alternatives available these days for software documentation.

Introducing a better documentation solution based on mkdocs

We settled with the excellent mkdocs framework, using the popular materials for mkdocs theme. This transition is not merely a change of platform but a significant upgrade to how our community accesses and interacts with GPAC documentation.

The upgrade provides a more refined user experience, a nicer look and feel on any device, a light and dark mode, improved navigation, an intuitive layout and table of contents. 

The upgraded GPAC Wiki is now hosted in a github repository of its own, making it easier to welcome contributions to the documentation.

But most importantly, the new documentation is now instantly searchable, making it easier than ever to find the relevant information for your MP4Box and GPAC use cases:

We invite you to explore the new documentation site at

Your feedback is invaluable to us, you can contribute the documentation or share your suggestions for improvements as issues on github.

Website Update: Your Feedback is Essential

Dear GPAC Community,

Major updates have been made to the GPAC website. To improve clarity and structure, we have undertaken a comprehensive revision to enhance the user experience that is being deployed. 

Understanding Our Users

To ensure that the revamped website aligns with the needs and preferences of our community, we are keen to understand who is using GPAC, any potential gaps in our current website, and any additional insights you might be willing to share. Your feedback is invaluable to us, and we’d appreciate if you would complete the survey.

A Brief Overview of GPAC

GPAC, since its inception, has always been more than just a multimedia framework. With capabilities ranging from hybrid broadcast-broadband scenarios to virtual reality (VR) and 3D scenes, GPAC stands out in its versatility and innovation. Our commitment to standards, demonstrated by accolades such as the Emmy awarded to ISOBMFF in 2021, is a testament to our dedication to excellence.

The success of GPAC is a collective effort. From its beginnings as a startup in New York City in 2000 to its evolution as a leading open-source project, the commitment and expertise of our contributors have been pivotal. Our collaboration with esteemed institutions like Télécom Paris and partnerships with entities like Motion Spell have further enriched our journey. 

We are also deeply grateful to our major sponsor, Netflix, not only for their strong support of the developer community here at GPAC but also for their dedication to open standards and innovation. Their alignment with our vision was further exemplified last year when Netflix successfully integrated GPAC software into its global content operations.

Engage with Us

We invite you to share your thoughts via the survey. Whether you’re involved in video streaming, research, or are a developer keen on multimedia frameworks, your insights will shape the future direction of GPAC.

We appreciate your continued support and engagement with GPAC.

The GPAC team

GPAC 2.2

We are happy to announce the release of GPAC 2.2

This release marks the end of MP4Client/Osmo4/Osmo4Ios/Osmo4Android, with gpac being used for all platforms – Android app now supports running gpac and MP4Box command line as well as running the GUI.

This release also brings better support for MKV, DolbyAtmos and DolbyVision.

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

Enjoy, give us feedback and spread the news!

Detailed changes:

Media Formats

  • 2-pass encoding for FFmpeg codecs other than libx264
  • Conversion filters for VTT, TXG3 and TTML
  • SubstationAlpha subtitle import (basic)
  • DVB subpictures in M2TS mux and demux
  • FFMPEG (mostly for Matroska) subtitle import and export (SRT/SSA to TX3G, TX3G to SRT, WebVTT and DVB subpictures)
  • EC3+Atmos signaling support
  • ALAC support
  • Improved DolbyVision muxing

Media player

  • subtitle delay and position adjustment
  • audio delay adjustment


  • allow numbers and media types as identifiers for track actions
  • dlba option to update atmos+ec3 signaling


  • UTC-based range extraction in reframer
  • Thumbnail generator filter
  • Added unframer filter
  • FFMPEG bitstream filters support
  • initseg support in mp4dmx filter
  • Access to GPU textures of decoders in Python and JSF bindings (glpush filter for tests)
  • Chapters editing and original timestamp dispatch in reformer range extraction
  • dual in-band and out-of-band parameter set support in dasher
  • non-blocking IO for RTSP and HTTP servers/clients
  • RTSP over HTTP in rtsp server
  • Source-Specific multicast for udp and rtp inputs
  • User Authentication for HTTP and RTSP servers
  • TLS support for RTSP client and server
  • Per-filter buffering options


  • ClearKey support in dasher and decryption


  • QT metadata tags in MP4Box and qt muxer
  • support for some packet properties in URL templates