alexmdodge / cmafp

A WASM wrapped CMAF fMP4 parser conforming to the ISO/IEC 23000-19 and 14496-12 specifications for CMAF and ISOBMFF.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WASM CMAF Parser

A WASM wrapped CMAF parser conforming to the ISO/IEC 23000-19 and 14496-12 specifications for CMAF and ISOBMFF.

Setup

The following tools are required to build this project:

  • Node (Minimum v12)
  • CMake (Minimum v3.20.2)
  • Emscripten (Latest)

Install

To build, run, and test the parser using the default WASM approach:

npm install
npm run build
npm test

Testing

Tests are located in the test directory and include sample HLS and DASH wrapped CMAF media objects.

Parsing Support

The following CMAF header boxes are supported:

  • ftyp
  • moov
  • mvhd
  • trak
  • tkhd
  • edts
  • elst
  • mdia
  • mdhd
  • hdlr
  • elng
  • minf
  • vmhd
  • smhd
  • sthd
  • dinf
  • dref
  • stbl
  • stsd
  • stts
  • stsc
  • stsz/stz2
  • stco
  • sgpd
  • stss
  • udta
  • cprt
  • kind
  • mvex
  • mehd
  • trex
  • pssh
  • stsd
  • sinf
  • frma
  • schm
  • schi
  • tenc

The following CMAF chunk, fragment, and segment boxes are supported:

  • styp
  • prft
  • emsg
  • moof
  • mfhd
  • traf
  • tfhd
  • tfdt
  • trun
  • senc
  • saio
  • saiz
  • sbgp
  • sgpd
  • subs
  • mdat

About

A WASM wrapped CMAF fMP4 parser conforming to the ISO/IEC 23000-19 and 14496-12 specifications for CMAF and ISOBMFF.

License:MIT License


Languages

Language:C++ 99.5%Language:JavaScript 0.2%Language:CMake 0.2%Language:Shell 0.2%