MediaSource API and mp4

I followed this example from, that is using the MediaSource API and a .webm video. I tried the example with another .webm video and it was working, but when I tried with .mp4 video it didn't work. Is it possible somehow?



Update: MP4 (or more formally ISO BMFF) support is in Chrome Dev/Canary. You'll need to generate your MP4 files in a way that conforms to the Media Source spec. Fortunately, Media Source was written with MPEG-DASH in mind, so any DASH-compliant files will work with Media Source. GPAC/MP4Box is a great tool for this:

MP4Box -dash 5000 -frag 5000 -rap some_file.mp4

...will create 'some_file_dash.mp4', which should be compatible with Media Source. There are some bugs in earlier released versions of MP4Box, so I recommend building from SVN for now.


As @Steven mentioned, use MP4Box to create the dashed MP4 file and try with Chrome canary m23 build (media source api enabled). You need to take care of the following:

  1. There should be a single fragment per segment (-dash <ms> -frag <same ms>)
  2. The segment should start with SAP (-rap)
  3. Modify the demo's script such that it appends segment after segment. Splitting into equal size chunks as in the case of webm does not work for ISO BMFF. You can use mpd file generated by MP4Box to know individual segment sizes.

Update: MP4-DASH is now supported.

MP4 is not supported in Chrome's implementation of the Media Source API yet.

We have plans to add support, but it won't be done for a couple of months. We are currently focusing on updating the existing implementation to match the new version of the Media Source API spec that was recently proposed to the W3C.

You can follow the progess of the implementation upgrade by watching this chromium bug


For playback in HTML5 using the MSE you will need a JS-based player implementations like the open source dash.js player or the bitdash MPEG-DASH player


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.