JWPlayer Integration with Storm Streaming Server
JWPlayer is one of the oldest and most popular video players for websites. The vast number of
plugins and configuration options makes it a great choice. To properly configure JWPlayer for use with Storm Streaming Server, you must
select HLS as the streaming format and provide a valid `.m3u8` stream URL.
Note: This guide assumes you are using JWPlayer 8.x or later. Make sure your license or CDN source is compatible with HLS playback.
Embed Code
First, make sure to include the JWPlayer JavaScript library (either self-hosted or from a CDN):
<script src="//{YOUR_CDN_URL}/jwplayer.js"></script>
Then initialize the player with the following configuration:
<div id="myElement"></div>
<script>
// Replace the placeholders below with actual values
// ${SERVER_HOST}, ${APP_NAME}, ${STREAM_KEY}
jwplayer("myElement").setup({
playlist: [{
sources: [{
default: false,
type: "hls",
file: "https://${SERVER_HOST}/generic_hls/${APP_NAME}/${STREAM_KEY}.m3u8", // ← your stream URL
label: "0",
preload: "metadata"
}]
}],
primary: "html5",
hlshtml: true
});
</script>
Main Parameters Explanation
sources: type |
Must be set to "hls" to enable HTTP Live Streaming.
|
sources: file |
Path to the `.m3u8` stream file. It should match the following pattern:
https://${SERVER_HOST}/generic_hls/
${APP_NAME}/${STREAM_KEY}.m3u8
where:
${SERVER_HOST} |
Hostname or IP address of your Storm Streaming Server (vHost with HTTP enabled).
|
${APP_NAME} |
Application name in Storm Streaming Server. By default, this is live .
|
${STREAM_KEY} |
The stream key of your video source.
|
|
Table 1. Main parameters table
Adaptive Bitrate Streaming (ABR)
To use the Adaptive Bitrate Streaming (ABR) feature, you must activate and configure
the transcoding option. In Storm Streaming Server, this requires a commercial license and properly set up transcoding for the application.
See our Transcoder guide for details.
Differences Between JWPlayer & Storm Library/Player
JWPlayer and our dedicated Storm Library/Player behave differently. JWPlayer does not
automatically react to stream state changes (e.g., published/unpublished). Developers are responsible for implementing custom logic if needed.