Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@brightcove/flashls
Advanced tools
An Open-source HLS Flash plugin that allows you to play HLS streams.
An Open-source HLS Flash plugin that allows you to play HLS streams.
The plugin is compatible with the following players:
#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
The plugin accepts several optional configuration options, such as:
hls_debug
(default false) - Toggle debug traces, outputted on JS consolehls_debug2
(default false) - Toggle verbose debug traces, outputted on JS consolehls_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)
-1
some heuristics based on past metrics are used to define an accurate value that should prevent buffer to stallminBufferLengthCapping
(default -1) - minimum buffer length capping value (max value) if minBufferLength is set to -1hls_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 300) - Maximum buffer length in seconds (0 means infinite buffering)hls_maxbackbufferlength
(default 30) - Maximum back buffer length in seconds (0 means infinite back buffering). back buffer is seekable without redownloading segments.hls_startfrombitrate
(default -1)hls_startfromlevel
(default -1)hls_autoStartMaxDuration
(default -1) max fragment loading duration ( bw test + fragment loading) in automatic start level selection mode (in ms)
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 seekinghls_flushliveurlcache
(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_initiallivemanifestsize
(default 1) - Number of segments needed to start playback of Live stream.hls_seekmode
hls_manifestloadmaxretry
(default -1): max number of Manifest load retries after I/O Error.
hls_keyloadmaxretry
(default -1): max number of key load retries after I/O Error.
hls_fragmentloadmaxretry
(default 4s): max number of Fragment load retries after I/O Error.
hls_fragmentloadskipaftermaxretry
(default true): control behaviour in case fragment load still fails after max retry timeout
- true : fragment will be skipped and next one will be loaded.
- false : an I/O Error will be raised.hls_maxskippedfragments
(default 5): Maximum count of skipped fragments in a row before an I/O Error will be raised.
hls_capleveltostage
(default false) : limit levels usable in auto-quality by the stage dimensions (width and height)
hls_maxlevelcappingmode
option. Note: this setting is ignored in manual mode so all the levels could be selected manually.hls_maxlevelcappingmode
(default downscale) : defines the max level capping mode to the one available in HLSMaxLevelCappingMode:
hls_usehardwarevideodecoder
(default true) : enable/disable hardware video decoding. disabling it could be useful to workaround hardware video decoding issues.hls_fpsdroppedmonitoringperiod
(default 5000ms) : dropped FPS Monitor Period in ms. period at which number of dropped FPS will be checked.hls_fpsdroppedmonitoringthreshold
(default 0.2) : every fpsDroppedMonitoringPeriod, dropped FPS will be compared to displayed FPS. if during that period, ratio of (dropped FPS/displayed FPS) is greater or equal than hls_fpsdroppedmonitoringthreshold, HLSEvent.FPS_DROP event will be fired.hls_caplevelonfpsdrop
(default true) : Limit levels usable in auto-quality when FPS drop is detected.i.e. if frame drop is detected on level 5, auto level will be capped to level 4. Note: this setting is ignored in manual mode so all the levels could be selected manually.hls_smoothautoswitchonfpsdrop
(default true) : force a smooth level switch Limit when FPS drop is detected in auto-quality. i.e. if frame drop is detected on level 5, it will trigger an auto quality level switch to level 4 for next fragment. Note: this setting is active only if capLevelonFPSDrop==true.hls_switchdownonlevelerror
(default true) : if level loading fails, and if in auto mode, and we are not on lowest level, don't report Level loading error straight-away, try to switch down firsthls API and events are described here
examples
directory you will find examples for ChromelessPlayer, Flowplayer, Strobe Media Playback (SMP) and GrindPlayerFlowPlayer/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:
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: false,
hls_debug2: false,
hls_lowbufferlength: 3,
hls_minbufferlength: 8,
hls_maxbufferlength: 60,
hls_startfromlowestlevel: false,
hls_seekfromlowestlevel: false,
hls_live_flushurlcache: false,
hls_seekmode: 'ACCURATE',
hls_capleveltostage: false,
hls_maxlevelcappingmode: 'downscale'
}
}
});
var playerOptions = {
// Strobe Media Playback configuration options
// ...
source: 'http://example.com/stream.m3u8',
// flashls configuration options
plugin_hls: "flashlsOSMF.swf",
hls_debug: false,
hls_debug2: false,
hls_minbufferlength: -1,
hls_lowbufferlength: 2,
hls_maxbufferlength: 60,
hls_startfromlowestlevel: false,
hls_seekfromlowestlevel: false,
hls_live_flushurlcache: false,
hls_seekmode: 'ACCURATE',
hls_capleveltostage: false,
hls_maxlevelcappingmode: 'downscale'
};
swfobject.embedSWF('StrobeMediaPlayback.swf', 'player', 640, 360, '10.2', null, playerOptions, {
allowFullScreen: true,
allowScriptAccess: 'always',
bgColor: '#000000',
wmode: 'opaque'
}, {
name: 'player'
});
Run FLEXPATH=/path/to/flex/sdk sh ./build.sh
inside the build
directory
FLEXPATH
should point to your Flex SDK location (i.e. /opt/local/flex/4.6)
After a successful build you will find fresh binaries in the bin/debug
and bin/release
directories
Logo | Company |
---|---|
Amazon | |
Bitmovin | |
Dailymotion | |
FlowPlayer | |
globo.com | |
The New York Times | |
Radiant Media Player | |
Tidal | |
Ubicast |
If you'd like to support future development and new product features, please make a donation via PayPal. These donations are used to cover my ongoing expenses - web hosting, domain registrations, and software and hardware purchases.
FAQs
An Open-source HLS Flash plugin that allows you to play HLS streams.
The npm package @brightcove/flashls receives a total of 266 weekly downloads. As such, @brightcove/flashls popularity was classified as not popular.
We found that @brightcove/flashls demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 84 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.