Streaming servers are set up and configured explicitly to deliver your webcasts. They enable transcoding for adaptive bit rate streaming so that your live event is made available in any network and on any device. In addition, the streaming server is responsible for the cue point injections, which are set by an operator during a live stream.
Contents
A configuration of the streaming server is only necessary if you are using your own server. By default, movingimage offers this service for you, i.e. we make available our streaming server. You can simply select the setup from the list of streaming servers (see below).
Choosing a Streaming Server Playout Source
The movingimage Webcast supports two sources of playout information. The recommended source type is Wowza Live (Origin), which separates ingest streams from playback streams. Alternatively, you can choose Akamai CDN, which directly transmits the live stream to Akamai's content delivery network.
Create a new Streaming Server configuration
To create a streaming server, perform the following steps:
- In the navigation panel, click the "Streaming Server" entry. In the editing area, you will see a list of all previously created streaming servers.
Click the [Create] button to open a form.
All fields are required, except for Backup Ingest API Endpoint, Backup Ingest Username, Backup Ingest Password. These three fields are only required if you intend to use a second, backup Wowza instance.
Choose the Live playback source.
- The Ingest Endpoints specify which Wowza server(s) will receive your live stream data. You may have to contact your administrator to obtain this data.
The Streaming Variables are used within the URL Templates to construct the live and DVR playout URLs.
Adaptive Qualities
These options control which transcoded qualities will be passed to the Akamai network. Select only the options you need and configure the same qualities within the Wowza transcoder settings.
Standard Bitrates
Customers using the movingimage Wowza platform will use predefined transcoder settings to create adaptive streams. These are as follows:
Quality Video Codec Video Bitrate Width Height Audio Codec Audio Bitrate 360p H.264 500Kbps 640px 360px AAC 96Kbps 480p H.264 750Kbps 854px 480px AAC 96Kbps 720p H.264 1500Kbps 1280px 720px AAC 128Kbps - The URL Templates construct the live and DVR playout URLs. There are different default templates for Akamai CDN and Wowza Live playout sources, although you can modify them to match your environment.
Akamai CDN: https://$akamaihost$.akamaihd.net/hls/live/$akamaistream$/$streamname$_$language$/$streamname$_$language$_all/playlist.m3u8
Wowza Live: https://$wowzahost$/$appname$/ngrp:$streamname$_$language$_all/master.m3u8
Summary Table
This table summarises settings for the Streaming Server
General Information: | |
---|---|
Name: | This name will appear in the Live panel within the webcast configuration when choosing a streaming server. |
Playout Source: | |
Live Playback Source: | Akamai CDN or Wowza Live. |
Ingest Endpoints: | |
Primary Ingest API Endpoint: | The URL to the primary Wowza API endpoint (e.g. "http://primary.wowza/api"). |
Primary Ingest Username: | A username that can connect to the primary Wowza API endpoint. |
Primary Ingest Password: | The password for the above username. |
Backup Ingest API Endpoint: | The URL to the backup Wowza API endpoint (e.g. "http://backup.wowza/api"). This optional field allows you to set up a backup API, which will make an extra set of recordings of your live stream, a primary set and a backup set. For example, imagine you have a webcast with two language streams, and you set it up to upload to a VideoManager after the conclusion of the live stream. If you have also set up a backup API, four video files should be uploaded to your VideoManager: one for each language created from the primary API, and one for each language created from the backup API. |
Primary Ingest Username: | A username that can connect to the backup Wowza API endpoint. |
Primary Ingest Password: | The password for the above username. |
These fields below are the templates used to generate URLs for each webcast. Here you can use placeholders to construct your streaming URLs. The placeholders will be filled in with the items in the "Default Variables" pane (see details below). You can add a $language$ placeholder if you intend to stream webcasts in multiple languages; this allows creation of different URLs for each language you choose to support. | |
Streaming Variables: | |
Wowza Application Name: | The "Application Name" as used in the Wowza configuration. The value here will be used in Streaming URL templates wherever the $appname$ placeholder is set. |
Wowza Host: | The value here will be used in Streaming URL templates wherever the $wowzahost$ placeholder is set. This could be the same server as the primary Wowza server (in the Ingest Endpoints), or a proxy / caching server in front of the Wowza server. |
Default Language: | The default language that you intend Webcast streams to use. New webcasts will automatically create a language set using this language. The short country code (e.g. en, de) will be used in the templates wherever the $language$ placeholder is set. |
Akamai Host ID: | The subdomain portion of the AkamaiHD network as configured in the Luna Control Center. |
Akamai Stream ID: | The stream ID as configured in the Luna Control Center. |
Adaptive Qualities: | The adaptive qualities that will be passed to the Akamai network. See the infobox above for more information. |
Stream Name: | Note that this is not an editable field in this edit pane or any other. Each webcast is given a unique stream name when it is created (e.g. "59196e2d2d85b47d5c1a0c8f"). It will appear in the templates wherever the $streamname$ placeholder is set. |
URL Templates | |
URL templates are used to generate the streaming URLs for each webcast. Here you can use placeholders to construct your streaming URLs. The placeholders will be filled in with the items in the "Streaming Variables" pane (see details above). You can add a $language$ placeholder if you intend to stream webcasts in multiple languages; this allows creation of different URLs for each language you choose to support. | |
HLS URL: | The URL template for the live stream (e.g. "https://$akamaihost$.akamaihd.net/hls/live/$akamaistream$/$streamname$_$language$/$streamname$_$language$_all/playlist.m3u8" or "https://$wowzahost$/$appname$/$streamname$_$language$/master.m3u8") |
HLS DVR URL: | The URL template for the post-live DVR stream (e.g. "https://$wowzahost$/$appname$/$streamname$_$language$Dvr/playlist.m3u8?DVR") |
Template / Variable Usage Example: | |
Imagine you've just created a webcast and it's automatically generated stream name is, "59196e2d2d85b47d5c1a0c8f". If the following settings (using Akamai CDN playout) had been configured here... * | |
HLS URL Template: | https://$akamaihost$.akamaihd.net/hls/live/$akamaistream$/$streamname$_$language$/$streamname$_$language$_all/playlist.m3u8 |
Akamai Host ID: | akamai-live-i |
Akamai Stream ID: | 123456 |
Default Language: | English (en) |
Stream Name: | 59196e2d2d85b47d5c1a0c8f (note: this is automatically generated and can not be modified) |
* ... the HLS URL for the webcast would be: https://akamai-live-i.akamaihd.net/hls/live/123456/59196e2d2d85b47d5c1a0c8f_en/59196e2d2d85b47d5c1a0c8f_en_all/playlist.m3u8 |
Validate and save the configuration
- Click the [Validate] button to check the validity of your entries. You will see the following message if successful:
- Click the [Save] button to save your entries. The newly created streaming server will appear immediately in the list. You can edit it later by clicking the item in the list.
Edit a Streaming Server configuration
- In the navigation panel, click the Streaming Server you wish to edit.
- Using the information shown above, make the required changes.
- Click the [Validate] button to check the validity of your entries. You will see the following message if successful:
- Click the [Save] button to save your entries.
- The new settings will take effect when creating new Webcasts.
Set a Streaming Server configuration as default
Setting a default Streaming Server configuration means that it will be selected automatically when creating a new Webcast.
- In the navigation panel, click the action menu ≡ at the edge of the Streaming Server you want to set as default.
- Click the option ↑ Set as default.
- The Streaming Server is moved to the top of the list and marked with a green border.
- The new default will take effect when creating new Webcasts.