Requirements to Provide Live Streaming Services
To provide Live Streaming CDN service to your clients, you would require at least one of the following:
- Streaming edge servers (created on your own in Control Panel). These streaming edge servers and storage servers would require Wowza charges, which will be forwarded to your account at $50/month/instance.
Create Live Streaming CDN Resource
To add a live streaming CDN resource:
- Go to your Control Panel > CDN > Resources menu.
- Click the "+" button in the top right corner or the CDN Resource Wizard button.
- Follow the steps of the CDN resource creation wizard:
Click LIVE STREAMING to select the required resource type, and then click Next to proceed.
CDN hostname – specify the name which will serve as a label only
For Live Streaming CDN resources, a CNAME is not required to be set for a CDN hostname, as the CDN hostname is not used. For example, if the CDN hostname is cdn.domain.com, the video files are always served from video.domain.com.
A CDN hostname is used for labelling purposes in Control Panel.
If the CDN hostname of a Live Streaming resource has a configured CNAME, e.g., xxx.r.worldcdn.net (where xxx is a resource ID), a message with a Wowza version will appear by default when visitors access the CDN hostname.
HTTPS support for a live streaming resource is limited to a playback via the video.worldcdn.net CDN hostname.
Currently, HTTPS support is unavailable for white label CDN hostnames.
- Publishing point – specify the resource's publishing point settings - Internal or External. The internal publishing point is one of your storage servers. It is configured at the next step - Edge locations. The external publishing point is simply an URL. Specify its settings here:
External publishing location - specify your publishing point's URL as an RTMP protocol. For example, rtmp://domain.com/xxx
An external publishing point must start with an rtmp, e.g., rtmp//xxxxxx.xxxx.com/live. It is possible to exclude the stream name in the external publishing point URL. For example, if the URL of an RTMP stream is rtmp://mystreamingurl.com/live/stream1, insert rtmp://mystreamingurl.com/live/ for the external publishing point URL.
Once it is restreamed across the CDN, it can be viewed in RTMP, HDS, HLS, Microsoft Smooth Streaming, and RTSP protocols. The connection flow would be as follows:
Viewer’s PC > Closest Streaming Edge > External Publishing Point.For more details on limitations, click here
- Wowza supports only restreaming of h.264+AAC to HLS/HDS.
- For HLS/HDS restreaming, only Wowza RTMP origin is supported.
Failover external publishing location - specify the failover URL
Please note that username and password used to connect to a live stream publishing point cannot be changed.
Users are expected to publish a stream to primary and secondary publishing points if both are enabled upon the creation of a live streaming resource. The secondary publishing point does not automatically restream a video from the primary publishing point. If the user does not publish to both primary and secondary publishing points from the live encoder, visitors who are redirected to the secondary publishing point server will not be able to view the stream.
Tick the checkbox next to the edge group(s) which will share the resource added. Available edge groups depend on the assigned bucket limits.
The map displays own, subscribed and available CDN resources. If you click a location icon on the map, the city name and country name of the location appear:
In case of choosing Internal Publishing Point in the previous step, specify its settings here:
Internal publishing location - select location of your edge servers from the drop-down listClick here to explore how the publishing point is selected
For instance, you created a CDN resource cdn.livestream.com with the internal publishing point Location A. For example, Location A has three streaming edge servers X, Y, and Z. Our system randomly chooses a specific streaming edge server among the three as a publishing point. If X is chosen, whenever you connect to the live streaming resource FMS URL, it always reaches the edge server X. If the server X is down or removed, CDN resource cdn.livestream.com will be down, as the encoder can no longer connect to the FMS URL, because the FMS URL will be only resolved to the edge server X. After that, you need to select a different publishing point location from the UI. Our system will not automatically use Y and Z servers from the same location as the publishing points.
- Failover internal publishing location - specify the failover edge server
Configure a rule to enable/disable access to the CDN resource’s content for specified countries.
- Access Policy – select the Disabled option to switch off a rule or Block by default. If the access policy is set to block by default, fill in the Except for Countries field to specify countries to which the access policy won’t be applied. To select more than one country, hold Ctrl during selection.
Hotlink policy - select the Disabled option to switch off hotlink policy security: otherwise choose Block by default. If the hotlink policy is set to block by default, fill in the Except for domains field to specify the domains to which the hotlink policy won’t be applied.
The Hotlink policy feature is applicable to RTMP and RTSP only. For HLS streaming, it is not supported.
If you need to enable the hotlink policy for HLS streaming, it is recommended to create an HTTP Pull resource.
- Enable secure Wowza – tick the checkbox to protect your stream with Wowza secure token.
- Token for Edge/Flash player – specify the token authentication code. The authentication code will be then saved on the edge server. The token at the player side and the token at the edge server must match in order to make the video available.
- Enable Token Authentication - tick the checkbox to enable token authentication.
- Token Auth Primary Key - specify the secret key to be used with the scripts which generate token.
- Token Auth Backup Key - input the backup key which can be used if you want to change the primary key. To make sure the link generated with existing token won't be broken, the suggested procedure is the following:
- Copy the existing primary key and paste to backup key.
- Fill in a new primary key.
- Protected Path - specify the protected path. By default it is "/". Only the Path inserted is allowed to be streamed.
Now proceed with running the .NET or JAVA scripts to complete the procedure.
With an HTTP Pull CDN resource, you can restream an HLS stream. To do it, you need to create an HTTP Pull resource.
When creating the HTTP Pull resource, in the Origins field, specify the HLS URL (without a path and a filename), and move the Enable HLS Optimization slider to the right.
- Cache in the edge server RAM rather than in a hard disk
- An automatic cache expiry rule with 10 seconds for video content
- The resource will have a 30-second DNS TTL
If the origin source is from a Wowza media server, make sure it is configured as an HTTP caching origin. For smooth playing, it is recommended to set the max-age (Cache-Control header of the origin) as the length of your video segments.
4. Click the Create CDN Resource button.
For a Live Streaming CDN resource, use multicast.
- The stream is never saved in the client's hard drive.
- The stream is distributed via multicast. If the video bitrate is 300 Kbps and there are 100 people watching the video, it requires only 300 Kbps for the camera to distribute it to CDN PoPs.
If a CDN live streaming resource is used as an origin, it may cause a poor cache hit ratio on HLS.
To improve the cache hit ratio, refer to the instructions on how to configure Wowza as an HTTP caching origin.
Live Streaming URL
You can use the following links:
For RTMP player (JW, FLOW)
For Android devices
rtsp://[resource id].r.worldcdn.net/[resource id]/_definst_/streamname
- The [resource id] is the numeric number of the "CDN Reference" which shows on the details page.
- "Streamname" should be replace with the stream name you used in Adobe Media Encoder.
This URL method performs a 302 Url Redirection, which may not be compatible with newer web players such as JWplayer and Flowplayer.