# flashls
An Open-source HLS Flash plugin that allows you to play HLS streams.
The plugin is compatible with the following players:
- [Flowplayer](#flowplayer) 3.2.12
- [OSMF 2.0](#strobe-media-playback-smp-and-other-osmf-based-players) based players (such as SMP and GrindPlayer)
- [Video.js][1] 4.6, 4.7, 4.8 (adaptation done here [https://github.com/mangui/video-js-swf][2])
- [MediaElement.js][3] (adaptation done here [https://github.com/mangui/mediaelement][4], now integrated in official MediaElement.js release since 2.15.0)
## Features
- VoD & Live playlists
- Sliding window (aka DVR) support on Live playlists
- Adaptive streaming
- Manual & Auto switching
- Serial segment fetching method from http://www.cs.tut.fi/~moncef/publications/rate-adaptation-IC-2011.pdf
- Configurable seeking method on VoD & Live
- Accurate seeking to exact requested position
- Key frame based seeking (nearest key frame)
- Segment based seeking (beginning of segment)
- Timed Metadata for HTTP Live Streaming (in ID3 format, carried in MPEG2-TS, as defined in https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/HTTP_Live_Streaming_Metadata_Spec/HTTP_Live_Streaming_Metadata_Spec.pdf)
- AES-128 decryption
- Buffer progress report
- Error resilience
- Retry mechanism on I/O errors
- Recovery mechanism on badly segmented TS streams
### Supported M3U8 tags
- `#EXTM3U`
- `#EXTINF`
- `#EXT-X-STREAM-INF` (Multiple bitrate)
- `#EXT-X-ENDLIST` (VoD / Live playlist)
- `#EXT-X-MEDIA-SEQUENCE`
- `#EXT-X-TARGETDURATION`
- `#EXT-X-DISCONTINUITY`
- `#EXT-X-DISCONTINUITY-SEQUENCE`
- `#EXT-X-PROGRAM-DATE-TIME` (optional, used to synchronize time-stamps and sequence number when switching from one level to another)
- `#EXT-X-KEY` (AES-128 method supported only)
- `#EXT-X-BYTERANGE`
## Configuration
The plugin accepts several **optional** configuration options, such as:
- `hls_debug` (default false) - Toggle _debug_ traces, outputted on JS console
- `hls_debug2` (default false) - Toggle _verbose debug_ traces, outputted on JS console
- `hls_minbufferlength` (default -1) - Minimum buffer length in _seconds_ that needs to be reached before playback can start (after seeking) or restart (in case of empty buffer)
- If set to `-1` some heuristics based on past metrics are used to define an accurate value that should prevent buffer to stall
- `hls_lowbufferlength` (default 3) - Low buffer threshold in _seconds_. When crossing down this threshold, HLS will switch to buffering state, usually the player will report this buffering state through a rotating icon. Playback will still continue.
- `hls_maxbufferlength` (default 60) - Maximum buffer length in _seconds_ (0 means infinite buffering)
- `hls_startfrombitrate` (default -1)
- If greater than 0, specifies the preferred bitrate to start with.
- If -1, and hls_startfromlevel is not specified, automatic start level selection will be used.
- This parameter, if set, will take priority over hls_startfromlevel.
- `hls_startfromlevel` (default -1)
- from 0 to 1 : indicates the "normalized" preferred bitrate. As such,
- if 0, lowest non-audio bitrate is used,
- if 1, highest bitrate is used,
- if 0.5, the closest to the middle bitrate will be selected and used first.
- -1 : automatic start level selection, playback will start from level matching download bandwidth (determined from download of first segment)
- `hls_seekfromlevel` (default -1) - If set to true, playback will start from lowest non-audio level after any seek operation. If set to false, playback will start from level used before seeking
- from 0 to 1 : indicates the "normalized" preferred bitrate. As such,
- if 0, lowest non-audio bitrate is used,
- if 1, highest bitrate is used,
- if 0.5, the closest to the middle bitrate will be selected and used first.
- -1 : automatic seek level selection, keep level before seek.
- `hls_live_flushurlcache` (default false) - If set to true, Live playlist will be flushed from URL cache before reloading (this is to workaround some cache issues with some combination of Flash Player / IE version)
- `hls_seekmode` (default: "KEYFRAME")
- "ACCURATE" - Seek to exact position
- "KEYFRAME" - Seek to last keyframe before requested position
- "SEGMENT" - Seek to beginning of segment containing requested position
- `hls_manifestloadmaxretry` (default -1): max number of Manifest load retries after I/O Error.
- if any I/O error is met during initial Manifest load, it will not be reloaded. an HLSError will be triggered immediately.
- After initial load, any I/O error will trigger retries every 1s,2s,4s,8s (exponential, capped to 64s). please note specific handling for these 2 values :
- 0, means no retry, error message will be triggered automatically
- -1 means infinite retry
- `hls_keyloadmaxretry` (default -1): max number of key load retries after I/O Error.
* any I/O error will trigger retries every 1s,2s,4s,8s (exponential, capped to 64s). please note specific handling for these 2 values :
* 0, means no retry, error message will be triggered automatically
* -1 means infinite retry
- `hls_fragmentloadmaxretry` (default -1): max number of Fragment load retries after I/O Error.
* any I/O error will trigger retries every 1s,2s,4s,8s (exponential, capped to 64s). please note specific handling for these 2 values :
* 0, means no retry, error message will be triggered automatically
* -1 means infinite retry
- `hls_capleveltostage` (default false) : limit levels usable in auto-quality by the stage dimensions (width and height)
- true : level width and height (defined in m3u8 playlist) will be compared with the player width and height (stage.stageWidth and stage.stageHeight). Max level will be set depending on the `hls_maxlevelcappingmode` option. Note: this setting is ignored in manual mode so all the levels could be selected manually.
- false : levels will not be limited. All available levels could be used in auto-quality mode taking only bandwidth into consideration.
- `hls_maxlevelcappingmode` (default downscale) : defines the max level capping mode to the one available in HLSMaxLevelCappingMode:
- "downscale" - max capped level should be the one with the dimensions equal or greater than the stage dimensions (so the video will be downscaled)
- "upscale" - max capped level should be the one with the dimensions equal or lower than the stage dimensions (so the video will be upscaled)
- `hls_usehardwarevideodecoder` (default true) : enable/disable hardware video decoding. it could be useful to workaround hardware video decoding issues.
## Examples :
* http://www.flashls.org/latest/examples/chromeless
* http://www.flashls.org/latest/examples/osmf/GrindPlayer.html
* http://www.flashls.org/latest/examples/osmf/StrobeMediaPlayback.html
* http://www.flashls.org/latest/examples/flowplayer/index.html
* http://www.flashls.org/mediaelement/demo/mediaelementplayer-hls.html
* http://www.flashls.org/videojs/flash_demo.html
## Usage
- Download flashls from https://github.com/mangui/flashls/releases
- Unzip, extract and upload the appropiate version to your server
- In the `examples` directory you will find examples for ChromelessPlayer, Flowplayer, Strobe Media Playback (SMP) and GrindPlayer
### Setup
---
#### Flowplayer
FlowPlayer/flashls setup is described here : http://flash.flowplayer.org/plugins/streaming/flashls.html
please also refer to example below if you want to use specific configuration options:
```javascript
flowplayer("player", 'http://releases.flowplayer.org/swf/flowplayer-3.2.12.swf', {
// Flowplayer configuration options
// ...
plugins: {
httpstreaming: {
// flashls configuration options
url: 'flashlsFlowPlayer.swf',
hls_debug:
没有合适的资源?快使用搜索试试~ 我知道了~
视频打赏源码无解压密码
共1129个文件
php:310个
png:141个
js:139个
需积分: 44 10 下载量 54 浏览量
2018-08-06
21:37:27
上传
评论
收藏 18.23MB ZIP 举报
温馨提示
视频打赏源码亲测可用/无解压密码。
资源推荐
资源详情
资源评论
收起资源包目录
视频打赏源码无解压密码 (1129个子文件)
FragmentLoader.as 52KB
TSDemuxer.as 35KB
style.as 32KB
HLSNetStream.as 29KB
Manifest.as 23KB
main.as 21KB
ChromelessPlayer.as 19KB
HLSStreamProvider.as 18KB
ManifestLoader.as 16KB
newelement.as 16KB
Level.as 15KB
AutoLevelController.as 11KB
AACDemuxer.as 10KB
AudioTrackController.as 10KB
FastAESKey.as 9KB
script.as 8KB
HLSSettings.as 8KB
HLSMediaElement.as 7KB
HLSLoaderBase.as 7KB
FLVTag.as 7KB
AES.as 7KB
HLS.as 6KB
httpstream.as 6KB
HLSEvent.as 6KB
MP3Demuxer.as 6KB
element.as 6KB
HLSLoadFromDocumentElement.as 6KB
httpm3u8.as 5KB
HLSAlternativeAudioTrait.as 5KB
JSURLStream.as 5KB
rtmpstream.as 5KB
SPSInfo.as 5KB
ID3.as 5KB
Nalu.as 4KB
AutoBufferController.as 4KB
PES.as 4KB
newpreview.as 3KB
HLSDynamicStreamTrait.as 3KB
FragmentData.as 3KB
Params2Settings.as 3KB
DemuxHelper.as 3KB
Fragment.as 3KB
HLSDisplayObjectTrait.as 3KB
HLSPlugin.as 3KB
DataUri.as 3KB
HLSNetStreamLoadTrait.as 2KB
HLSSeekTrait.as 2KB
AVCC.as 2KB
HLSPlayTrait.as 2KB
HLSBufferTrait.as 2KB
HLSNetStreamClient.as 2KB
menu.as 2KB
configure.as 2KB
ErrorManager.as 2KB
ExpGolomb.as 2KB
Log.as 2KB
HLSTimeTrait.as 2KB
loadspriteimg.as 2KB
HLSError.as 2KB
loadimg.as 2KB
Hex.as 1KB
ScaleVideo.as 1KB
HLSMediatime.as 1KB
PTS.as 1KB
FragmentMetrics.as 1KB
language.as 1KB
HLSLoadMetrics.as 1KB
logo.as 1KB
AltAudioTrack.as 1KB
HLSPlayMetrics.as 1KB
AudioTrack.as 1KB
Player.as 1022B
HLSPlayStates.as 975B
HLSNetLoader.as 944B
HLSMaxLevelCappingMode.as 785B
HLSDynamicPlugin.as 709B
AudioFrame.as 694B
VideoFrame.as 657B
HLSSeekMode.as 627B
HLSSeekStates.as 605B
HLSPluginFactory.as 559B
Demuxer.as 533B
HLSTypes.as 525B
jquery.min.js.bak 90KB
news-20.html.bak 16KB
amazeui.min.css 251KB
amazeui2.min.css 251KB
bootstrap-extend.css 157KB
bootstrap.css 144KB
bootstrap.css 124KB
bootstrap.css 117KB
bootstrap.min.css 95KB
bootstrap.min.css 95KB
index.css 81KB
sm.min.css 80KB
buttons.css 80KB
buttons.css 78KB
mui.min.css 74KB
api.css 63KB
frozen.css 59KB
共 1129 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
qq_34268318
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功