This article explains how to broadcast live streams using the open source WebM file format, which is supported by the Transcoder in Wowza Streaming Engine™ media server software.
- This article requires Wowza Streaming Engine 4.5 or later, the latest version of Google Shaka Player, and the current version of Google Chrome.
- Wowza Streaming Engine 4.4.0 or later is required if you want to encrypt WebM streams on the fly. The encryption uses key files and follows the WebM Project specifications. Browsers that support Encrypted Media Extension (EME) and WebM, such as Google Shaka Player, should be able to decrypt and play the streams. For more information, see Secure WebM MPEG-DASH streams using Common Encryption in Wowza Streaming Engine.
Contents
About WebM
Transcode to WebM for MPEG-DASH playback
Prepare the player
Start streaming
About WebM
WebM is an open media file format created for serving live streams on the web. Developed by the WebM project, which is sponsored by Google, the WebM file format is open source and royalty free. The WebM file structure uses the Matroska container and contains streams compressed with the VP8 and VP9 video codecs and the open-source Vorbis and Opus audio codecs. VP8 and VP9 offer high-quality video compression that is designed to play on any device, including mobile devices, and over lower-bandwidth connections.
WebM files can be played in any browser that supports HTML5 and the VP8, VP9, Opus, and Vorbis codecs. One supported player is the latest version of Google Shaka Player.
Transcode to WebM for MPEG-DASH playback
Start Wowza Streaming Engine and configure a live application to receive an H.264 stream, transcode it, and deliver MPEG-DASH video to the latest Google Shaka Player.
- Sign in to Wowza Streaming Engine Manager, click the Applications tab, and select your live application in the contents panel.
- Confirm that MPEG-DASH is enabled under Playback Types.
- Click Transcoder in the contents panel and, if the Status is Not Enabled, click Enable Transcoder.
- After Transcoder is enabled, click Edit on the Setup tab of the Transcoder page.
- From the Fallback Template menu, select the template you want to use.
- Deselect Match source stream name to template name.
Note: If you leave Match source stream name to template name selected, the fallback template isn't always used. When Match source stream name to template name is selected, if the name of the template and the name of a stream are the same, the stream uses the corresponding transcoder template, not the fallback template. - Click Save, and then click Restart Now.
- In the Transcoder Templates list, click on the Fallback Template you selected.
- In the encoding Presets list, click the Edit icon for a preset you are using, configure the following options, and then click Save. Repeat for each preset you are using.
- From the Video Codec list, select VP8 or VP9.
- From the Audio Codec list, select Vorbis or Opus.
- Configure other settings as needed. For more information about encoding preset configuration options, see Template details - Encode.
Now all incoming streams will be transcoded into VP8/VP9 video and Vorbis/Opus audio.
Finally, set up the application to receive live stream from an H.264 IP camera or encoder.
- From the Video Codec list, select VP8 or VP9.
- In the contents panel, click Sources (Live).
- Select the camera or encoder that you want to use as your video source, and complete the steps to connect it to Wowza Streaming Engine. For more information, see Connect a publisher to Wowza Streaming Engine.
Note: Wowza Streaming Engine requires that encoders and cameras use authentication to connect to a live application. To disable incoming authentication (if desired), click Incoming Security, click Edit, and then for RTMP Publishing and RTSP Publishing, select Open (no authentication required).
Prepare the player
To play your WebM stream, use the latest Chrome browser and Google Shaka Player.
Note: You can test your stream setup using the Wowza implementation of Shaka Player on our Wowza Test Players webpage.
Start streaming
Start your encoder and then check the live stream.
- Start the stream in the H.264 camera or encoder that's sending the stream to your live application in Wowza Streaming Engine.
The application ingests the stream, transcodes it, and generates the MPEG-DASH adaptive bitrate streams.
- In Wowza Streaming Engine Manager, verify that the stream is working by clicking Incoming Streams in the contents panel and then clicking the stream name.
The stream detail page displays the Status of the stream (Active) as well as details about connections, uptime, and throughput for the live stream.
- Switch to the Google Shaka Player in Chrome and click the Play button. The stream should play.
- Stop the stream in the source camera or encoder to end your test connection.