A lightweight JavaScript parser for MPEG-4 (ISOBMFF) files, enabling metadata extraction and validation in browsers.
codem-isoboxer is a lightweight JavaScript parser for MPEG-4 (ISOBMFF) files, enabling direct access to the box structure of media files in the browser. It solves the need for extracting metadata like in-band events or subtitles, validating segments for streaming protocols, and integrating low-level media parsing into player frameworks without heavy dependencies.
Developers building web-based video players, streaming frameworks (e.g., for MPEG-DASH or HLS), or tools requiring MP4 metadata extraction or validation in browser environments.
Developers choose codem-isoboxer for its minimal footprint, raw data access, and flexibility—it avoids high-level abstractions, supports modular builds for size optimization, and handles incomplete buffers, making it ideal for performance-sensitive media applications.
A lightweight browser-based MPEG-4 (ISOBMFF) file/box parser.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Optimized for small size and efficient parsing in browser environments, as stated in the key features, reducing overhead for web-based media tools.
Offers depth-first traversal via parent/child properties and direct fetching of specific boxes, simplifying navigation of MP4 structure without manual iteration.
Supports custom builds to include only necessary parsers, reducing library size significantly, as described in the advanced build options section.
Can parse partial data with marking for incomplete boxes, allowing incremental data addition, which is crucial for streaming and progressive loading scenarios.
Only a subset of ISOBMFF boxes is supported out-of-the-box, requiring developers to add custom parsers for additional boxes, as admitted in the README.
Primarily designed for browsers, with minimal support for Node.js features like streams, limiting its utility for server-side MP4 processing workflows.
Provides a low-level interface with minimal data conversion, necessitating deep knowledge of MP4 specifications and manual handling for most use cases.