Javascript Library that implements MpegTS, MP4 and WebM demuxers. It also implements AVC (H.264), AAC and MP3 parsers that are used to inspect payload and to report the type of frames within each video/audio track. It doesn't decode content, just parse it, so inspection process is lightweight and can be done in real time for live streams without impacting CPU consumption.
Besides other things it can be used to analyze the content of MpegTS, MP4 or WebM based streams (HLS/DASH/Smooth Streaming).
Note: Inspector.js can be used with web workers which allows to inspect big files without blocking UI. Take a look to our samples to see how to use it.
The easiest way to start using inspector.js in your own projects is installing it using npm:
- npm install inspector.js
Once done, and integrated with your web app, you can start using it. Example:
var mediaSamplesUrl = 'https://video-dev.github.io/streams/x36xhzz/url_0/url_462/193039199_mp4_h264_aac_hd_7.ts';
var req = new XMLHttpRequest();
req.open('GET', mediaSamplesUrl, true);
req.responseType = 'arraybuffer';
req.onload = function (data) {
var arrayBuffer = req.response;
if (arrayBuffer) {
var byteArray = new Uint8Array(arrayBuffer);
var demuxer = inspectorjs.createMpegTSDemuxer();
demuxer.append(byteArray);
demuxer.end();
// You will find tracks information in demuxer.tracks
console.log(demuxer.tracks);
}
- Install dependencies
- npm install
- Run devevelopment server
- npm run start
Once dev server gets started, the project is automatically built whenever you apply any change.