yanchengPowerSupply/node_modules/videojs-contrib-media-sources/README.md

73 lines
2.8 KiB
Markdown

# videojs-media-sources
A [Media Source Extensions](https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html) shim for video.js.
Media Source Extensions (MSE) is a W3C draft specification that makes it possible to feed data directly to a video element.
MSE allows video developers to build functionality like adaptive streaming directly in javascript.
Lead Maintainer: Jon-Carlos Rivera [@imbcmdth](https://github.com/imbcmdth)
Maintenance Status: Stable
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [Getting Started](#getting-started)
- [Options](#options)
- [mode](#mode)
- [Release History](#release-history)
- [License](#license)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
## Getting Started
On browsers that natively support Media Source Extensions, the HTML implementation will be used.
If you're running in an environment without MSE, a Flash-backed polyfill will be used.
Currently, the Flash polyfill only supports video content encoded in the FLV file format.
For information on how FLVs are structured, Adobe hosts the [latest version of the spec](http://www.adobe.com/devnet/f4v.html) on their site.
The Flash polyfill attempts to balance throughput to the FLV with end-user responsiveness by asynchronously feeding bytes to the SWF at a fixed rate.
By default, that rate is capped at 4MB/s.
If you'd like to play higher bitrate content, you can adjust that setting:
```javascript
// 8MB/s at 60fps
videojs.MediaSource.BYTES_PER_SECOND_GOAL = 8 * 1024 * 1024;
```
Setting the `BYTES_PER_SECOND_GOAL` too high may lead to dropped frames during playback on slower computers.
Check out an example of the plugin in use in [example.html](example.html).
## Options
You can configure some aspects of the MediaSource polyfill by
specifying a hash of options when you construct it:
```js
var mediaSource = new videojs.MediaSource({ mode: 'html5' });
```
### mode
Type: `string`
Values: `'auto'`, `'html5'`, `'flash'`
Default Value: `'auto'`
How to determine the MediaSources implementation to use. With the
default value of `auto`, the presence of native MediaSources is
detected at construction time and they're used if available. Choosing
`html5` or `flash` will force the use of that respective MediaSource
implementation, even if it does not appear the browser supports it.
## Release History
* 1.0.0: throw an error if appends are called during an update
* 0.3.0: Delegate SourceBuffer.abort() calls to the SWF
* 0.2.0: Improve interactivity by batching communication with Flash.
* 0.1.0: Initial release
## License
See [LICENSE-APACHE2](LICENSE-APACHE2).