Send a stream

The Wowza Streaming Engine™ (WSE) Trial Docker image is preconfigured with sample applications, a sample transcoding template, and an SSL certificate for wse-trial.wowza.com, so you can send your first live stream and play it back within minutes. This guide shows you how to publish a live stream to a WSE Trial container using one of four methods (WebRTC, a simulated stream, FFmpeg, or OBS) and then test playback over WebRTC, HLS, and MPEG-DASH.

Prerequisites


Before you start, you need the following:

  • WSE and WSE Manager running from the Trial image variant (wowza/wowza-streaming-engine:latest-trial). If you haven't deployed them yet, follow Deploy Wowza Streaming Engine with Docker and use the Trial Compose file. The links and server addresses on this page assume the Trial image, which includes the live and simu-live applications and the myStream transcoding template.
  • Access to WSE Manager at http://localhost:8088, signed in with the ADMIN_USER and ADMIN_PASSWORD values you set when you deployed.
  • Depending on the stream publishing method:
    • WebRTC: A browser and a computer with a web camera and microphone.
    • Simulated: Nothing else. The stream is already running.
    • FFmpeg or OBS: The encoder installed on your computer.

(Optional) Enable adaptive bitrate streaming


To deliver adaptive bitrate (ABR) streams, you must enable the Wowza Streaming Engine Transcoder. The Trial Compose file disables it by default. If you only want to test single-bitrate playback, skip to Publish a live stream.

  1. In your docker-compose.yaml file, change the wse service's TRANSCODER environment variable from disabled to enabled:
          - TRANSCODER=enabled
  2. Save the file and run docker compose up again from the same directory. Compose recreates the WSE container with the new setting.
  3. In WSE Manager, open your application and click Transcoder in the contents panel. On the Setup tab, check the Transcoder Templates section to confirm the myStream template is listed.

For more about the transcoder, see Set up and run Transcoder in Wowza Streaming Engine.

When the transcoder is enabled and a stream is published, the myStream template creates the following renditions, which appear on the application's Incoming Streams page:

Publish a live stream


Choose one of the following methods to publish a live stream to your WSE Trial container. Toggle between the tabs to see the steps for each method.

WebRTC

Follow these steps to publish a low-latency WebRTC live stream from your computer's web camera. For more, see Set up WebRTC streaming with Wowza Streaming Engine.

  1. Open the WebRTC publish page.
  2. When your browser prompts you, allow access to your web camera and microphone.
  3. Leave the prepopulated settings as they are. Note that the Application Name is live.
  4. Confirm your camera and microphone input settings.
  5. Click Publish.
  6. In WSE Manager, go to Applications > live > Incoming Streams and confirm that your stream is Active. If you enabled the transcoder, the ABR renditions also appear here.
  7. Continue to Test playback.

Simulated

If you don't have a web camera or encoder, use the simulated live stream that comes with the Trial image. It loops a video file indefinitely, so there's nothing to publish. This stream follows the workflow in Publish a video file as a live stream with Wowza Streaming Engine.

  1. In WSE Manager, go to Applications > simu-live > Incoming Streams and confirm that the stream is Active. If you enabled the transcoder, the ABR renditions also appear here.
  2. Continue to Test playback.

FFmpeg

Follow these steps to publish a test pattern and tone over RTMP using FFmpeg as your encoder. For more, see the FFmpeg documentation.

  1. Download and install FFmpeg.
  2. Open a terminal and run:
ffmpeg \
  -stats \
  -re \
  -f lavfi -i testsrc=size=1280x720,format=yuv420p \
  -f lavfi -i sine=f=220:b=4 \
  -c:v libx264 \
  -g 50 \
  -c:a aac \
  -f flv rtmp://wse-trial.wowza.com/live/myStream
  1. In WSE Manager, go to Applications > live > Incoming Streams and confirm that your stream is Active. If you enabled the transcoder, the ABR renditions also appear here.
  2. Continue to Test playback.

OBS

Follow these steps to publish a live stream using Open Broadcaster Software (OBS) as your encoder. For more, see the OBS documentation and the OBS quick start guide.

  1. Download and install OBS.
  2. Open OBS.
  3. In the Sources dock, add a Media Source for your video. Set its properties and click OK.
  4. In the Controls dock, click Settings.
  5. Click Stream.
  6. Enter the following settings:
  • Service: Custom...
  • Server: rtmp://wse-trial.wowza.com/live
  • Stream Key: myStream

  1. Review and adjust the General, Audio, and Video settings as needed.
  2. Click OK to save your settings.
  3. Click Start Streaming.
  4. In WSE Manager, go to Applications > live > Incoming Streams and confirm that your stream is Active. If you enabled the transcoder, the ABR renditions also appear here.
  5. Continue to Test playback.

 

Test playback


After you publish a live stream, use the links below to play it back. Toggle between the tabs for your publish method.

WebRTC/FFmpeg/OBS

Use these links to play streams published with the WebRTC publish page, FFmpeg, or OBS. For WebRTC playback, click Play on the WSE Trial Player page.

Note: WebRTC is designed for interactive, real-time audio and video, such as video conferencing and live publishing to servers. To deliver a WebRTC stream over HLS or MPEG-DASH, it usually has to be transcoded or repackaged first. We recommend the Wowza Streaming Engine Transcoder for this. See Enable adaptive bitrate streaming.

Transcoder disabled

Protocol Publish method Notes
Play over WebRTC WebRTC  
FFmpeg/OBS Video only. WebRTC playback uses Opus audio, and FFmpeg and OBS publish AAC audio.
Play over HLS WebRTC Video only. The WebRTC stream's Opus audio isn't supported for HLS playback.
FFmpeg/OBS  
Play over MPEG-DASH WebRTC Not supported. WebRTC streams can't be played directly over MPEG-DASH.
FFmpeg/OBS  

Transcoder enabled

Protocol Publish method Notes
WebRTC WebRTC/FFmpeg/OBS Not available. WebRTC doesn't support adaptive bitrate streaming.
Play over HLS WebRTC/FFmpeg/OBS  
Play over MPEG-DASH WebRTC/FFmpeg/OBS  

Simulated

Use these links to play the simulated live stream, which is always running. (TODO: Remove Simu-live?)

Transcoder state Protocol Notes
Disabled Play over WebRTC Video only. WebRTC playback uses Opus audio, which the source file doesn't use.
Play over HLS  
Play over MPEG-DASH  
Enabled WebRTC Not available. WebRTC doesn't support adaptive bitrate streaming.
Play over HLS  
Play over MPEG-DASH  

 

Next steps


  • To keep your applications and configuration between container restarts, uncomment the volumes section in your Compose file. See Deploy Wowza Streaming Engine with Docker.
  • When you're ready to move beyond the trial, switch to the Base or Slim image variant.