Wowza One-click Deployment
Video Streaming Using Wowza
Introduction
Wowza Streaming Engine is a robust, customisable, and highly extensible Java-based platform that powers live and on-demand single-bitrate and adaptive bitrate streaming to any device, anywhere.
Part of what makes Wowza Streaming Engine so powerful is the variety of ways you can use and extend the software to meet your needs. Ultimately, all settings and configurations for Wowza Streaming Engine are saved in “.XML” files within the Wowza Streaming Engine installation directory. You can edit the “.XML” files directly or, when possible, use Wowza Streaming Engine Manager.
E2E’s 1-Click Deployment Wowza provides you with a ready-to-use setup saving time and efforts for the installation.
Note: E2E’s 1-Click Deployment Wowza is BYOL(Bring Your Own License) and comes with limited capabilities. To use advanced features, the customer is suggested to use their license(Purchased or Free Trial).
How to launch Wowza instance on E2E Networks
Logging into E2E Networks MyAccount
Please go to MyAccount and log in using your credentials set up at the time of creating and activating the E2E Networks My Account.
Launch your Wowza 1-Click Deployment
Once you select “Wowza” under 1-Click Deployment tab, you can see all available Wowza images. Select your desired Wowza image then click the “Create” Button. It will take you to the final stage of the ‘Create Compute Node’ page.
Here, you can specify the node name and additional options for the Node you’re creating. - Choose a Node Name – Default name is provided based on the Plan you selected, but you can modify and give your node a name that suits your needs.
You can also enable additional features for your Node.
Choose a Group Name – where you can add a group name to organise and related Nodes.
Choose a Secure Authentication option – You can choose the method you want to use to log in to your Node. There are three options:
SSH keys: It provides more security along with a password. Kindly note that SSH keys based login are not applicable for the window compute node.
Disable Password for remote SSH Access: Only SSH key is required to access your Node remotely. In case you lose your key, you will not be able to access your node.
One-time password: A single-use password shared to you via an auto-generated email by-default and will require you to set a new password.
Enable Backup – you can enable automatic backups of the node by ticking the Enable backup checkbox.
Once you have selected your options, click the “Create” button. It will take a few minutes to set up the Node, and you will take to the ‘Manage Node’ page.
After Wowza 1-Click Deployment is ready, then Node comes to “Running” state. Also, you will receive a notification email along with your Node login credentials. Now, you can access and manage your nodes from the ‘Manage Node’ page.
Accessing Wowza Streaming Engine and Wowza Streaming Engine Manager
After Wowza 1-Click Deployment comes to “Running” state, confirm that Wowza Streaming Engine is running by opening a web browser and entering the URL:** http://[wowza-ip-address]:1935**
If Wowza Streaming Engine is installed correctly, the browser displays the Wowza Streaming Engine version number. If it doesn’t, check to see if the server software installed successfully and that TCP port 1935 is open on your router, firewall, and in your iptables.
Access the Wowza Streaming Manager with URL: http://[wowza-ip-address]:8088/enginemanager
Note
The login username and password for Wowza Streaming Manager is “wowza” by default.
Test-Play a video-on-demand test stream
Wowza Streaming Engine installs a simple VOD application that you can use to test whether the software is running correctly and can serve content.
In Wowza Streaming Engine Manager, in the Test Video area of the Home page, click Test Players. The test players are configured to play the sample.mp4 video file that installs with Wowza Streaming Engine in several supported formats. Test playback now using MPEG-DASH.
In the Test Players window, click the MPEG DASH tab. Click the “Start” button in the upper right corner of the preview area.
Note
The MPEG DASH player has an inconsistent behaviour and can cause issues with the playback. The preferred method is to play the test stream with a network stream player like VLC.
Test-Play a video-on-demand test stream with network stream player
In Wowza Streaming Engine Manager, in the Test Video area of the Home page, click Test Players. The test players are configured to play the sample.mp4 video file that installs with Wowza Streaming Engine in several supported formats. Test playback now using MPEG-DASH.
In the Test Players window, click the MPEG DASH tab. Replace the defined IP in the URL with the Public IP of the node.
Copy and use this URL to play your test stream with a network stream player like VLC.
Note
The Adobe RTMP and Adobe HDS test players require Flash. Browser support for Flash varies.
Wowza Streaming Engine video-on-demand URL
The Wowza video-on-demand URL**( http://[wowza-ip-address]:1935/[VOD-application-name]/[media-file-extension]:[media-file-name]/manifest.mpd)** contains following parts:
Wowza-ip-address: Defines the IP address of your node. By default, the IP address will show the private IP of your node. Replace this IP address with the Public IP address of your node.
VOD-application-name: Defines your video-on-demand application name. The default video-on-demand application name is “vod”.
Media-file-extension: Defines the extension of your media file for the playback. The default extension shown in the URL is “mp4”.
Media-file-name: Defines the file name of your media file for the playback. The file extension in “Media-file-name” should be the same as “Media-file-extension”. The default value shown in the URL is “sample.mp4”.
Wowza Streaming Engine Live Streaming URL
The Wowza Live Streaming URL( http://[wowza-ip-address]:1935/[Live-application-name]/[Stream-name]/manifest.mpd) contains following parts:
Wowza-ip-address: Defines the IP address of your node. By default, the IP address will show the private IP of your node. Replace this IP address with the Public IP address of your node.
Live-application-name: Defines your live streaming application name. The default live streaming application name is “live”.
Stream-name: Defines the stream name with which you want to connect for playback. The default live stream name is “myStream”.
Note
To create a new application for video-on-demand; please refer to Wowza’s VOD documentation
. To create a new application for live streaming, please refer to Wowza’s Live Streaming documentation.
E2E’s Object Store as Media source
Wowza’s Media Cache is a read-through caching mechanism for video-on-demand (VOD) streaming with Wowza Streaming Engine. Media Cache lets you upload and manage content through a centralised location so that you can scale without adding hardware, implementing a content management system, taxing bandwidth and network resources, or increasing latency.
A Media Cache configuration can have multiple sources. A Media Cache source defines the type of content and the location of the content that’s available to the Wowza Streaming Engine server. The location might be a local or networked disk.
By default, the media source for video-on-demand (VOD) streaming is the local storage of the server.
To use the E2E’s Object Store as a media source, we need to follow the simple steps:
Log in to Wowza Streaming Engine Manager at URL http://[wowza-ip-address]:8088/enginemanager/ with your credentials.
You will be redirected to the Engine Manager’s dashboard. Click the “Server” tab placed in the dashboard header.
Select the “Media Cache” option on the left-hand side menu.
On the “Sources” tab of the Media Cache page, click “Add Media Cache Source”.
On the “Basic” tab, enter the following values:
Source Name and Description: Information about this source to help you identify it from other Media Cache sources. The Source Name, which is required, must be unique and can’t contain less-than (<), greater-than (>), colon (:), quotation (’ and “), forward-slash (/), backslash (), pipe (|), question mark (?), an asterisk (*), double-dot (..), or tilde (~) characters. The Description is optional.
Source Type: The type of source. The options available are File, HTTP, Amazon S3, Azure, GoogleCloudStorage. Please select HTTP to use E2E’s Object Store.
Prefix: The first part of the URL that clients use to access content from the source. The Prefix field populates automatically depending on the selected Source Type. For E2E’s object store(HTTP Source Type), a prefix will be prefilled as http/.
Base Path: Forms the second part of the URL that clients use to access content from the source. For E2E’s Object Store, the base path will be the public URL of the Object Store(https://[bucket-name].objectstore.e2enetworks.net/).
** Validate Configuration**: The location that Media Cache uses to find the source. This field updates as you specify the Prefix and Base Path. Make sure the Validate Configuration field shows the full, correct address of your content.
Minimum Time to Live and Maximum Time To Live: Options that control how long unused content is cached. The time-to-live counter starts when the last client playing the content stops. If the cache is full and other source items are requested, content that isn’t viewed within the specified Minimum Time To Live is purged from the cache. If the cache isn’t full, content that isn’t viewed remains in the cache until the specified Maximum Time To Live is reached, after which it’s purged from the cache. The Minimum Time To Live value must be less than or equal to the Maximum Time To Live value.
Click “Add”.
Note
You will need to create a VOD Edge application to use E2E’s Object Store as Media source for the content.
Playback URL for VOD Edge application(with E2E’s Object Store)
The following URLs show how to play content from a media source by using an example file named sample.mp4 in the source location. Here file-path represents the path to the file you want to stream in E2E’s Object Store.
Adobe Flash Player
Apple iOS device
Microsoft Silverlight http://[wowza-ip-address]:1935/[VOD-edge-application]/_definst_/mp4:http/file-path/sample.mp4/Manifest
RTSP/RTP player or device rtsp://[wowza-ip-address]:1935/[VOD-edge-application]/_definst_/mp4:http/file-path/sample.mp4
Integrate Domain name with Wowza(HTTP)
To access Wowza Streaming Engine with your domain, follow the steps:
- Create an “A” type record in your DNS for the domain and IP address as Public IP of the Wowza 1-Click Deployment node.
Example: “e2ewowza.in” points to IP “164.52.xxx.xx”.
Change the URLs for the playback streams and to access the Wowza Streaming Engine Manager.
Playback Stream URL
Without Domain http://[wowza-ip-address]:1935/[application-name]/mp4:sample.mp4/manifest.mpd
With Domain
http://[http-domain-name]/[application-name]/mp4:sample.mp4/manifest.mpd
Wowza Streaming Engine Manager URL
Without Domain
http://[wowza-ip-address]:8088/enginemanager/ - With Domain http://[http-domain-name]:8088/enginemanager/
Integrate an SSL certificate for Wowza Streaming Engine
For integrating your SSL certificate, you will need to access the Wowza 1-Click Deployment node(SSH) with the public IP address and credentials. Once you successfully log in, access the docker container for Wowza with the command “docker exec -it wowza1 bash”. After you access the container, follow these steps:
- Configure the Java JRE to use keytool
The Java keytool utility installs with your Wowza Streaming Engine JRE. It’s located at [install-dir]/java/bin. In a Command Prompt or Terminal window, type export PATH=$PATH:~/[install-dir]/java/bin to add the bin folder to your PATH environment variable. The default location of “install-dir” is /usr/local/WowzaStreamingEngine.
- Convert the certificate and private key to PKCS 12
You can’t directly import private key information to a keystore (.JKS) using keytool. Instead, you must convert the certificate and private key into a PKCS 12 (.p12) file, and then you can import the PKCS 12 file into your keystore. Change the directory to [install-dir]/conf and execute the command:
openssl pkcs12 -export -in [certificate-file] -inkey [key-file] -name [host-name] -out [jks-filename]-PKCS-12.p12
Certificate-file: Define the path and filename to the SSL certificate file. Key-file: Define the path and filename to the private key file. Host-name: Define the domain name associated with the server. Jks-filename: Define the new name for the PKCS 12 (.p12) file. - Import the PKCS 12 certificate to the keystore
Import the PKCS 12 certificate by executing the following command:
keytool -importkeystore -deststorepass [password] -destkeystore [filename-new-keystore.jks] -srckeystore [filename-new-PKCS-12.p12] -srcstoretype PKCS12 Password: Define the password you specified when you created the private key in the previous step. Filename-new-keystore.jks: Define the keystore.jks file created in the previous step. Filename-new-PKCS-12.p12: Define the PKCS file created in the previous step.
Import the CA Bundles to the keystore
Import the CA bundles by executing the following command:
keytool -import -alias bundle -trustcacerts -file [ca-bundle] -keystore [filename-new-keystore.jks]
Ca-bundle: Define the CA bundle for your certificate or certificate chain file. Filename-new-keystore.jks: Define the keystore.jks file created in the previous step.
Configure a host port to use the SSL Certificate for Wowza Streaming Engine
In Wowza Streaming Engine Manager, click the Server tab, and then click Virtual Host Setup in the contents panel.
In the Virtual Host Setup page, click Edit.
Scroll down to Host Ports settings area and click Add Host Port.
In the Add a new host port dialog box, enter the following data, and then click Add:
Name: Enter StreamLock (or any other custom name).
Type: Select the Streaming.
IP Address: Enter an asterisk (*) to serve as a wildcard character. A wildcard (*) allows listening for traffic on all network interfaces. You can specify the IP address of a specific network interface, which will limit traffic to the specified interface.
Select Enable SSL/StreamLock.
Keystore Path: Specify the location of your certificate (.jks file). If your certificate is in the [install-dir]/conf directory, as described above, enter the following: ${com.wowza.wms.context.VHostConfigHome}/conf/[certificate-domain].jks where [certificate-domain] defines the hostname, or domain name, of the certificate.
Keystore password: Enter the certificate password. This is the password you created when you downloaded your certificate.
Use WebRTC: Select this to enable the host port to support WebRTC signaling.
Click “Save” to apply these new changes. Restart the virtual host (VHost) when prompted to apply the changes.
Note: Your playback stream URL will be updated from HTTP to HTTPS. Example: https://[http-domain-name]/[application-name]/mp4:sample.mp4/manifest.mpd
Integrating E2E CDN with Wowza 1-Click Deployment
To integrate E2E CDN with Wowza’s node, create a CDN for Wowza’s domain. Afterwards, replace the domain name in the playback stream URL with the Distribution URL from CDN. For detailed information, refer to the CDN documentation .
Replacing existing license with your BYOL license
Wowza 1-Click Deployment comes with a license with limited capabilities. You must bring your license (BYOL) for Wowza Streaming Engine. With a BYOL license, you can use any Wowza Streaming Engine Subscription or Perpetual license key with your Docker container. BYOL licensees have access to all Wowza Streaming Engine functionality and features, including Transcoder (for 64-bit instances only), nDVR, and DRM.
To replace an existing license with BYOL license, follow these steps:
In Wowza Streaming Engine Manager, click the “Server” tab, and then click “Server Setup” in the contents panel.
In the Server Setup page, click the “Edit” button under “Basic” tab.
Existing license key mentioned in the “License Keys” area. Replace this current license with BYOL license.
Note: Don’t change “BEGIN LICENSE” or “END LICENSE” lines as it may cause some inconsistencies in behaviour.
Click the “Save” button.
Restart server when prompted.