Media Source Api not working for a custom webm file (Chrome Version 23.0.1271.97 m)
Solution 1:
The most likely problem is your WebM file has Clusters that don't start with a keyframe.
In Chrome dev-channel builds (ie Chrome 25 or later), you can verify this with the following steps.
- Open chrome:media-internals in another tab.
- Return to the tab with your test page and reload it.
- When the error occurs again, switch back to chrome:media-internals tab and look for the bottom entry under the "Active media players:" header. It should have the same blob: URL that you passed to the video element src attribute.
- Click on the blob: URL to expand the player data.
- Click on the "Log:" entry to expose the player logging data.
- Search for entries that have "MEDIA_SOURCE_ERROR" in the "Event:" column. These entries should provide information about what is wrong with the content passed to the browser.
If you see a message that says something like "Media segment did not begin with keyframe." then it means your file has Clusters that don't start with a keyframe. This is common with content that is generated by FFmpeg. You can fix your file in one of the following ways:
- Run the sample_muxer program mentioned in section 2.2.5 of the WebM adaptive streaming guide
- Run the mse_webm_remuxer program I wrote as part of my mse-tools project.