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.
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
| Parameter | Description |
|---|---|
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 |
URL Parameters:
| Placeholder | Description |
|---|---|
{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. |
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.
Differences Between JWPlayer & Storm Player Core/UI
JWPlayer and our dedicated Storm Player Core/UI behave differently. JWPlayer does not automatically react to stream state changes (e.g., published/unpublished). Developers are responsible for implementing custom logic if needed. JWPlayer will also not provide a server with real-time playback details.
Useful Links
- JWPlayer Documentation – https://docs.jwplayer.com/platform/docs
If you have any questions or need assistance, please create a support ticket and our team will help you.