Control Stream class streams dynamically

Control Stream class streams dynamically with a Wowza Streaming Engine Java module

Updated on 07/16/2026 8:08 am PDT

You can use the HTTPStreamControl module for Wowza Streaming Engine™ media server software to control Stream class streams and playlists through HTTP requests. Use it to dynamically create, set up, and start new live Stream class streams from static and live sources, and to add sources to existing Stream class streams. For extra control, use this HTTP provider with the StreamPublisher module.

Notes:

Prerequisites [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#prerequisites "Copy to clipboard"/index.html)


Wowza Streaming Engine 4.0.0 or later is required.

Installation [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#installation "Copy to clipboard"/index.html)


  1. Download wse-plugin-httpstreamcontrol.zip.
  2. Extract the contents from the downloaded (zipped) package, and then copy the lib/wse-plugin-httpstreamcontrol.jar file from the package to the lib folder in your Wowza Streaming Engine installation ( [ install-dir]/lib).
  3. Restart Wowza Streaming Engine.

Configuration [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#configuration "Copy to clipboard"/index.html)


  1. Navigate to [ install-dir]/conf and open VHost.xml in a text editor.
  2. Locate the section //Default Streaming.
  3. Add the following HTTP provider definition to the section:

Copy

<HTTPProvider>
    <BaseClass>com.wowza.wms.plugin.HTTPStreamControl</BaseClass>
    <RequestFilters>streamcontrol*</RequestFilters>
    <AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>

Important: The new HTTP provider must be above the last HTTP provider that's used to resolve all requests that aren't handled by other providers. RequestFilters identifies the last part of the URL that's checked to see if the HTTP provider can handle the request. It isn't the name of a custom image.

To make it harder for someone to detect that this is a referer check, change the request filter to your own value, but note that stream extensions that aren't currently used elsewhere in the server won't work.

  1. Save and close VHost.xml, and then restart Wowza Streaming Engine.

Usage [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#usage "Copy to clipboard"/index.html)


Control the playlist through an HTTP request, passing the required variables as query string parameters.

Add a new stream:

Copy

curl "http://localhost:8086/streamcontrol?appName=myApplication&action=addNewStream&streamName=testStream"

Add a new playlist:

Copy

curl "http://localhost:8086/streamcontrol?appName=myApplication&action=addNewPlaylist&playlistName=p1"

Add a playlist item:

Copy

curl "http://localhost:8086/streamcontrol?appName=myApplication&action=addItemToPlaylist&playlistName=p1&streamName=testStream&playlistItemName=sample.mp4"

Open the playlist on a stream. By default, start is 0 and length is -1. For live streams, use -2 for start. Any positive integer for length plays the source for that number of seconds:

Copy

curl "http://localhost:8086/streamcontrol?appName=myApplication&action=openPlaylistOnStream&playlistName=p1&streamName=testStream"

Play the next item on the playlist:

Copy

curl "http://localhost:8086/streamcontrol?appName=myApplication&action=playNextPlaylistItem&streamName=testStream"

Remove an item from a playlist:

Copy

curl "http://localhost:8086/streamcontrol?appName=myApplication&action=removeItemFromPlaylist&playlistItemName=sample.mp4&streamName=testStream"

Stop a stream:

Copy

curl "http://localhost:8086/streamcontrol?appName=myApplication&action=stopStream&streamName=testStream"

For developers [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#for-developers "Copy to clipboard"/index.html)


Was this article helpful?

[Helpful](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol# "Helpful"/index.html)

Thank you for your feedback!

300 characters remaining

Name

Email

reCAPTCHA

Recaptcha requires verification.

I'm not a robot

reCAPTCHA

[Submit](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol# "Submit comment"/index.html)

Thank you for providing feedback to help us improve our documentation!

Popular Video Topics [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#popular-video-topics "Copy to clipboard"/index.html)
Video Resources [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#video-resources "Copy to clipboard"/index.html)
Partners [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#partners "Copy to clipboard"/index.html)
Company [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#company "Copy to clipboard"/index.html)
Stay Connected [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#stay-connected "Copy to clipboard"/index.html)
Stay Up to Date with the Blog [Copy to clipboard](/content/docs/how-to-control-stream-class-streams-dynamically-httpstreamcontrol#stay-up-to-date-with-the-blog "Copy to clipboard"/index.html)

Email

X - Form Filled Type

© 2007–2025 Wowza Media Systems™, LLC. All rights reserved.   Security & Privacy Policy | Legal | System Status

reCAPTCHA