[![npm](https://img.shields.io/npm/v/hls.js.svg?style=flat)](https://npmjs.org/package/hls.js)
[![npm](https://img.shields.io/npm/v/hls.js/canary.svg?style=flat)](https://www.npmjs.com/package/hls.js/v/canary)
[![](https://data.jsdelivr.com/v1/package/npm/hls.js/badge?style=rounded)](https://www.jsdelivr.com/package/npm/hls.js)
[![Sauce Test Status](https://saucelabs.com/buildstatus/robwalch)](https://app.saucelabs.com/u/robwalch)
[comment]: <> ([![Sauce Test Status](https://saucelabs.com/browser-matrix/robwalch.svg)](https://saucelabs.com/u/robwalch))
# ![HLS.js](https://cloud.githubusercontent.com/assets/616833/19739063/e10be95a-9bb9-11e6-8100-2896f8500138.png)
HLS.js is a JavaScript library that implements an [HTTP Live Streaming] client.
It relies on [HTML5 video][] and [MediaSource Extensions][] for playback.
It works by transmuxing MPEG-2 Transport Stream and AAC/MP3 streams into ISO BMFF (MP4) fragments.
Transmuxing is performed asynchronously using a [Web Worker] when available in the browser.
HLS.js also supports HLS + fmp4, as announced during [WWDC2016](https://developer.apple.com/videos/play/wwdc2016/504/).
HLS.js works directly on top of a standard HTML`<video>` element.
HLS.js is written in [ECMAScript6] (`*.js`) and [TypeScript] (`*.ts`) (strongly typed superset of ES6), and transpiled in ECMAScript5 using [Babel](https://babeljs.io/) and the [TypeScript compiler].
[Webpack] is used to build the distro bundle and serve the local development environment.
[html5 video]: https://www.html5rocks.com/en/tutorials/video/basics/
[mediasource extensions]: https://w3c.github.io/media-source/
[http live streaming]: https://en.wikipedia.org/wiki/HTTP_Live_Streaming
[web worker]: https://caniuse.com/#search=worker
[ecmascript6]: https://github.com/ericdouglas/ES6-Learning#articles--tutorials
[typescript]: https://www.typescriptlang.org/
[typescript compiler]: https://www.typescriptlang.org/docs/handbook/compiler-options.html
[webpack]: https://webpack.js.org/
## Features
- VOD & Live playlists
- DVR support on Live playlists
- Fragmented MP4 container
- MPEG-2 TS container
- ITU-T Rec. H.264 and ISO/IEC 14496-10 Elementary Stream
- ISO/IEC 13818-7 ADTS AAC Elementary Stream
- ISO/IEC 11172-3 / ISO/IEC 13818-3 (MPEG-1/2 Audio Layer III) Elementary Stream
- Packetized metadata (ID3v2.3.0) Elementary Stream
- AAC container (audio only streams)
- MPEG Audio container (MPEG-1/2 Audio Layer III audio only streams)
- Timed Metadata for HTTP Live Streaming (in ID3 format, carried in MPEG-2 TS)
- AES-128 decryption
- SAMPLE-AES decryption (only supported if using MPEG-2 TS container)
- Encrypted media extensions (EME) support for DRM (digital rights management)
- Widevine CDM (only tested with [shaka-packager](https://github.com/google/shaka-packager) test-stream on [the demo page](https://hls-js.netlify.app/demo/?src=https%3A%2F%2Fstorage.googleapis.com%2Fshaka-demo-assets%2Fangel-one-widevine-hls%2Fhls.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==))
- CEA-608/708 captions
- WebVTT subtitles
- Alternate Audio Track Rendition (Master Playlist with Alternative Audio) for VoD and Live playlists
- Adaptive streaming
- Manual & Auto Quality Switching
- 3 Quality Switching modes are available (controllable through API means)
- Instant switching (immediate quality switch at current video position)
- Smooth switching (quality switch for next loaded fragment)
- Bandwidth conservative switching (quality switch change for next loaded fragment, without flushing the buffer)
- In Auto-Quality mode, emergency switch down in case bandwidth is suddenly dropping to minimize buffering.
- Accurate Seeking on VoD & Live (not limited to fragment or keyframe boundary)
- Ability to seek in buffer and back buffer without redownloading segments
- Built-in Analytics
- All internal events can be monitored (Network Events, Video Events)
- Playback session metrics are also exposed
- Resilience to errors
- Retry mechanism embedded in the library
- Recovery actions can be triggered fix fatal media or network errors
- [Redundant/Failover Playlists](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html#//apple_ref/doc/uid/TP40008332-CH102-SW22)
### Supported M3U8 tags
For details on the HLS format and these tags' meanings, see https://tools.ietf.org/html/draft-pantos-hls-rfc8216bis-08
#### Manifest tags
- `#EXT-X-STREAM-INF:<attribute-list>`
`<URI>`
- `#EXT-X-MEDIA:<attribute-list>`
- `#EXT-X-SESSION-DATA:<attribute-list>`
The following properties are added to their respective variants' attribute list but are not implemented in their selection and playback.
- `VIDEO-RANGE` and `HDCP-LEVEL` (See [#2489](https://github.com/video-dev/hls.js/issues/2489))
#### Playlist tags
- `#EXTM3U`
- `#EXT-X-VERSION=<n>`
- `#EXTINF:<duration>,[<title>]`
- `#EXT-X-ENDLIST`
- `#EXT-X-MEDIA-SEQUENCE=<n>`
- `#EXT-X-TARGETDURATION=<n>`
- `#EXT-X-DISCONTINUITY`
- `#EXT-X-DISCONTINUITY-SEQUENCE=<n>`
- `#EXT-X-BYTERANGE=<n>[@<o>]`
- `#EXT-X-MAP:<attribute-list>`
- `#EXT-X-KEY:<attribute-list>` (`METHOD=SAMPLE-AES` is only supports with MPEG-2 TS segments)
- `#EXT-X-PROGRAM-DATE-TIME:<attribute-list>`
- `#EXT-X-START:TIME-OFFSET=<n>`
- `#EXT-X-SERVER-CONTROL:<attribute-list>`
- `#EXT-X-PART-INF:PART-TARGET=<n>`
- `#EXT-X-PART:<attribute-list>`
- `#EXT-X-PRELOAD-HINT:<attribute-list>`
- `#EXT-X-SKIP:<attribute-list>`
- `#EXT-X-RENDITION-REPORT:<attribute-list>`
The following tags are added to their respective fragment's attribute list but are not implemented in streaming and playback.
- `#EXT-X-DATERANGE:<attribute-list>` (Not added to metadata TextTracks. See [#2218](https://github.com/video-dev/hls.js/issues/2218))
- `#EXT-X-BITRATE` (Not used in ABR controller)
- `#EXT-X-GAP` (Not implemented. See [#2940](https://github.com/video-dev/hls.js/issues/2940))
### Not Supported
For a complete list of issues, see ["Top priorities" in the Release Planning and Backlog project tab](https://github.com/video-dev/hls.js/projects/6). Codec support is dependent on the runtime environment (for example, not all browsers on the same OS support HEVC).
- CMAF CC support [#2623](https://github.com/video-dev/hls.js/issues/2623)
- `Emsg` Inband Timed Metadata for FMP4 (ID3 within Emsgv1) in "metadata" TextTracks [#2360](https://github.com/video-dev/hls.js/issues/2360)
- `#EXT-X-DATERANGE` in "metadata" TextTracks [#2218](https://github.com/video-dev/hls.js/issues/2218)
- `#EXT-X-GAP` filling [#2940](https://github.com/video-dev/hls.js/issues/2940)
- `#EXT-X-I-FRAME-STREAM-INF` I-frame Media Playlist files
- `SAMPLE-AES` with fmp4, aac, mp3, vtt... segments (MPEG-2 TS only)
- PlayReady and FairPlay DRM ( See [#3779](https://github.com/video-dev/hls.js/issues/2360) and [issues labeled DRM](https://github.com/video-dev/hls.js/issues?q=is%3Aissue+is%3Aopen+label%3ADRM))
- Advanced variant selection based on runtime media capabilities (See issues labeled [`media-capabilities`](https://github.com/video-dev/hls.js/labels/media-capabilities))
- MP3 elementary stream audio in IE and Edge (<=18) on Windows 10 (See [#1641](https://github.com/video-dev/hls.js/issues/1641) and [Microsoft answers forum](https://answers.microsoft.com/en-us/ie/forum/all/ie11-on-windows-10-cannot-play-hls-with-mp3/2da994b5-8dec-4ae9-9201-7d138ede49d9))
### Server-side-rendering (SSR) and `require` from a Node.js runtime
You can safely require this library in Node and **absolutely nothing will happen**. A dummy object is exported so that requiring the library does not throw an error. HLS.js is not instantiable in Node.js. S
没有合适的资源?快使用搜索试试~ 我知道了~
使用superMap-leaflet-2D显示地图
共568个文件
png:176个
js:149个
jpg:56个
需积分: 5 0 下载量 69 浏览量
2023-03-10
10:28:47
上传
评论
收藏 25.87MB RAR 举报
温馨提示
使用superMap_leaflet_2D显示地图
资源推荐
资源详情
资源评论
收起资源包目录
使用superMap-leaflet-2D显示地图 (568个子文件)
042fa0506e59dc02e8734c7dc9d57885d7dc87 2KB
0a13a0cf2f4ca1dfcedc84e0fdb1f9913483cb 733B
0ae9030fc6a259a46f9f8af82b4a7b00fc30ac 113B
0e297e0f53483455d2aa432887c3b7975d6c11 117B
10c6a45035b6573151ff6196e4bdea78deb75d 53B
2791b96c1a1feda351bfae7790a2d90a990467 53B
2ffcd6411b536576f9086af2757612bf68f682 17KB
36fcfb72584e00488330b560ebcf34a41c64c2 979B
37ad98847dff3495703ee9b42359c78406164e 329B
3adbc1e527906a4aa59558cd582c20bcd1d738 160B
4388fe43cdfd7ce1c29cd3e401541ded620dba 46B
4624515c356231d01060e82a207c50fdaed7c2 87B
5345696713d1bf0ab7b359da6ec17acf417b2d 154B
558405fdcc02f12d757acb308e02937a7444f1 82B
581bc896a35c8d206cf025d183e95a6b6fbfd6 1KB
5a13962197105f2078d2a224cc57dfa09b4893 383B
5a32c998528858e3721d3f615fd65cd7290d55 120B
5fcdb3ec387ac9c2632005ada5308a1f6ada87 238B
61b257a6f28d42a2aedab1d9c6defc2cfc8b8f 200B
66a66e25556e5d4bfc14346ec54698a941db80 430B
7a93cd9e34a3c224744af56ac767d1b8549fbf 102B
7d058e221b6db23fc54112c13627fc82d8c3bd 2KB
7ef37f30a3b6f5cf2cb5c4995c36a968156292 322B
8efc5dd79dbdc1229a8584cd92641f4970c627 624B
9b29774052f16a4b4a16bd7b2b22f1642b8771 348B
9de29bb2d1d6434b8b29ae775ad8c2e48c5391 15B
a28070de24f2055171ca2e20543881cb7fdf1c 85B
a3347a1f94129d1dfbb079176a25b5561c8487 275B
afc5f6ed86fe6dff8d4b6be59290cbdeb61656 175B
bf960e214e73e5513e054ac34c331b6d4b1a46 88B
.browserslistrc 30B
COMMIT_EDITMSG 5B
config 130B
ckplayer.ixigua.css 46KB
ckplayer.red.css 44KB
ckplayer.css 44KB
navigation.css 5KB
Animation.css 4KB
CesiumInspector.css 3KB
BaseLayerPicker.css 3KB
Cesium3DTilesInspector.css 2KB
shared.css 2KB
NavigationHelpButton.css 2KB
InfoBox.css 2KB
lighter.css 2KB
Viewer.css 2KB
Geocoder.css 2KB
InfoBoxDescription.css 2KB
SceneModePicker.css 2KB
Timeline.css 2KB
CesiumWidget.css 1KB
lighterShared.css 1KB
ProjectionPicker.css 1KB
lighter.css 1KB
widgets.css 867B
lighter.css 723B
ZoomIndicator.css 561B
lighter.css 482B
SelectionIndicator.css 449B
lighter.css 426B
lighter.css 333B
PerformanceWatchdog.css 331B
lighter.css 287B
FullscreenButton.css 142B
VRButton.css 134B
Pan.cur 2KB
Hold.cur 2KB
d099126bf736c81bd61c002ff087687ced54f4 59B
d2503fc2a44b5053b0837ebea6e87a2d339a43 6KB
d96d7a7049d1ddda2073b5bed757935fc35fbc 228B
description 73B
exclude 240B
f655e10600e581a2ccc33769d5c6f9cf56ea42 198KB
f7a16e32050aa7c8510c1da14e28376b20c7ea 53B
ffa8e3acbd629064905827e0192b19c42ad254 131B
info-loading.gif 723B
.gitignore 231B
.gitignore 109B
.gitignore 18B
HEAD 149B
HEAD 21B
ie.html 23KB
index.html 3KB
index.html 1KB
favicon.ico 4KB
dazhou_fire_protection.iml 539B
index 2KB
excavationregion_side.jpg 521KB
excavationregion_top.jpg 444KB
waterNormals.jpg 287KB
GlobalBkLayer.jpg 203KB
StarBurst.jpg 191KB
tycho2t3_80_mz.jpg 179KB
tycho2t3_80_py.jpg 165KB
tycho2t3_80_pz.jpg 165KB
tycho2t3_80_my.jpg 164KB
tycho2t3_80_px.jpg 135KB
tycho2t3_80_mx.jpg 131KB
DirtMask.jpg 111KB
waterNormalsSmall.jpg 33KB
共 568 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
萌新之路
- 粉丝: 4541
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功