Date: | 12/18 2016 |
---|
基于 HTML5 新增特性 MSE(Media Source Extensions) 实现的音视频媒体播放器。
MSE 目前支持的流格式:
- MSE-FORMAT-ISOBMFF , ISO BMFF Byte Stream Format
- MSE-FORMAT-MP2T , MPEG-2 Transport Streams Byte Stream Format
- MSE-FORMAT-WEBM , WebM Byte Stream Format
- MSE-FORMAT-MPEG-AUDIO , MPEG Audio Byte Stream Format
Media Source Extensions Byte Stream Format Registry :
// https://cconcolato.github.io/media-mime-support/
// https://wiki.whatwg.org/wiki/Video_type_parameters#Video_Codecs_2
// ISO BMFF Byte Stream Format
window.MediaSource.isTypeSupported('video/mp4');
window.MediaSource.isTypeSupported('audio/mp4');
window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'); // AVC_BASELINE
window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.4D401E, mp4a.40.2"'); // AVC_MAIN
window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.64001E, mp4a.40.2"'); // AVC_HIGH
// WARN: mp4 with no fragments, should rebuild mp4 box
window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.640028"');
window.MediaSource.isTypeSupported('video/mp4; codecs="mp4v.20.9"');
window.MediaSource.isTypeSupported('audio/mp4; codecs="mp4a.40.2"');
window.MediaSource.isTypeSupported('video/3gpp2; codecs="sevc, s263"');
// WebM Byte Stream Format
window.MediaSource.isTypeSupported('video/webm');
window.MediaSource.isTypeSupported('audio/webm');
window.MediaSource.isTypeSupported('video/webm; codecs="vp8, vorbis"');
window.MediaSource.isTypeSupported('video/webm; codecs="vp8, opus"');
window.MediaSource.isTypeSupported('video/webm; codecs="vp9, vorbis"');
window.MediaSource.isTypeSupported('video/webm; codecs="vp9, opus"');
window.MediaSource.isTypeSupported('video/webm; codecs="vorbis"');
window.MediaSource.isTypeSupported('audio/webm; codecs="vorbis"');
window.MediaSource.isTypeSupported('video/webm; codecs="opus"');
window.MediaSource.isTypeSupported('audio/webm; codecs="opus"');
// MPEG-2 Transport Streams Byte Stream Format
// window.MediaSource.isTypeSupported('video/mp2t');
// window.MediaSource.isTypeSupported('audio/mp2t');
window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');
// MPEG Audio Byte Stream Format
window.MediaSource.isTypeSupported('audio/mpeg');
window.MediaSource.isTypeSupported('audio/aac');
// MP3 (chrome)
window.MediaSource.isTypeSupported('audio/mp4; codecs="mp3"');
- 本项目名字 HTTP Live Streaming 并非是指对 Apple Http Live streaming 的单一实现。实际上,本项目还涵盖了 XSPF 以及 MPD(Media Presentation Description)
- ISO MPEG-DASH 中的 MPD(Media Presentation Description) 和 MPD(Music Player Daemon) 是两个不同的东西。
Apple HLS:
ISO MPEG-DASH:
- ISO MPEG-DASH , MPEG DASH (Dynamic Adaptive Streaming over HTTP, ISO/IEC 23009-1)
Microsoft Smooth Streaming:
Adobe HDS (HTTP Dynamic Streaming):
PlayList Format:
ISO Base Media File Format