This blog will dive quickly into what Remix VOD2Live is, and which markets our solution targets. Then, in Part 2 — the bulk of the blog — you’ll find a tutorial. By following its steps, you can get Remix VOD2Live up and running through the AWS Marketplace platform successfully.
Part 1: What’s Remix VOD2Live?
The Unified Remix VOD2Live solution makes it possible for telcos, cable operators, streaming services, and broadcasters to “recycle” VOD content and produce linear (simulated live) OTT streams dynamically, while minimizing compute infrastructure (re-transcoding, live encoding) and investment.
The solution also helps operators increase their channel lineup substantially, attract end-users with curated content, and augment their potential to generate ad revenue. The following markets can benefit from the VOD2Live solution:
- Operators (content providers, broadcasters) with VOD libraries on the cloud.
- Telcos and hospitality services that maintain simple playout workflows, or outsource them.
- Online video platforms with homegrown playout solutions in need of a robust, scalable alternative.
- Content providers that hold historically significant assets and want to produce direct-to-consumer or syndicated theme channels.
- Existing customers needing a VOD-based playout in case of live source outages, or a way to replace content that has distribution restrictions, on the fly.
Part 2: How do you get VOD2Live running in, say, AWS?
Good question. But first, why AWS? Well, with our solution on AWS Marketplace, customers can enjoy the benefits of Remix VOD2Live in another flexible way.
VOD2Live on AWS Marketplace features a usage-based pricing model: customers can pay as they go, and only for what they use.
Unified Remix VOD2Live on AWS Marketplace comes preconfigured, making it easier for customers to deploy the solution. Also, AWS customers who have a spending commitment, a certain contractual, monetary threshold to reach, can let their VOD2Live expense on Marketplace count toward their AWS quota, which may unlock discounts or credits for them.
Enough with the preamble. How long’s it take to get going?
Even on a user-friendly interface such as AWS Marketplace, deploying a software solution can take a little time. (Depending on an average customer’s familiarity, the amount of time may differ, but about 20 minutes should do it.) For customers who want to use VOD2Live through the AWS Marketplace, we are providing the following step-by-step tutorial, including beautiful screenshots.
An AWS user may consider two use cases of VOD2Live: either 1) VOD files stored in local storage (instance); or 2) VOD files stored in remote storage (S3). Once that choice is made, there are around twelve steps a user takes to deploy VOD2Live through AWS.
1. Login to AWS Marketplace with your AWS account
To use VOD2Live, you first need to login to the AWS Marketplace, of course, using your AWS account ID and password. Simple enough.
2. Find VOD2Live by using the search functionality
Clicking on VOD2Live will redirect you to the product’s page, where you will find product features, pricing, support, and documentation about VOD2Live.
3. Continue to Subscribe
Subscribe to the VOD2Live product by clicking on the “Continue to Subscribe” button.
4. Continue to Configuration
By clicking on ‘’Continue to Configuration” you can start the configuration process.
At this page you can configure your instance before actually using the product.
The region is pre-set at “US East (N. Virginia).” You can choose another region, of course — whichever suits your video streaming workflow best.
At “Software version,” you will find two versions of our product. Please choose the latest (most recent) version.
5. Continue to Launch
After selecting the region, the next step is clicking on “Continue to Launch.”
Before launching an instance, you need to do some extra configuration. Your configuration options are found on this page.
(Clicking the button ‘’Usage instructions’’ will take you directly to Unified Streaming documentation teaching you how to get a VOD2Live stream running. We will also include the same instructions in steps 8 – 11 in this blog.)
First, configure where to launch the product from. You have three options:
- Launch through EC2 (elastic cloud computing);
- Launch from Website, which is the default option; and
- Copy to Service Catalog.
Most likely, the easiest way to launch VOD2Live is the first option: Launch through EC2. You can also launch from the website, but if you are a regular AWS user, launching through EC2 will be the better option.
As a new user, you can click on “Launch from Website,’’ but you will still need to use the EC2 service to manage and launch your instance, which in this case is VOD2Live.
If you launch from the website, you can see that you again have three options.
- You can choose the type of instance you would like to use. The offered instances provide the same value in terms of performance and number of live channels that can be streamed. The instances differ in availability in specific AWS regions.
- You can choose the VPC settings in the AWS environment, which you cannot change here, but you can create new ones.
- You can choose security group settings and key pair settings.
For the security group setting choose “default.” If you have never created a security group before, use the “Create New Based On Seller Settings’’ button. Otherwise, choose one of your existing groups to continue.
For Key Pair Settings, you can leave the preconfigured setting.
6. Launch an instance through EC2
For the purposes of this tutorial, let’s launch through EC2.
Choose “Launch through EC2’’ and click on “Launch,” which redirects you to the EC2 environment.
EC2 Environment: Choose an instance type
Here you can choose the type of instance. The suggested type is c5a large.
EC2 Environment: Configure Instance Details
We choose our instance and then click on “Configure Instance Details.’’
Here you will choose the number of instances you would like to create, and other network options.
The default options are fine, so keep those as they are, unless you have specific requirements for your workflows. Then, we click “Add Storage.”
EC2 Environment: Add Storage
Your source content will be your live stream archive, so your storage requirement must be created based on your source content size. If the number or resolution of your VOD files for your live stream is high, then you can simply beef up the storage of your instance (maybe you’re working with 4K videos). Check the size of your files and adjust the instance’s storage accordingly. You can increase the storage up to 16GB.
Alternatively, you may use remote storage (e.g., S3) for your files. Later on in this tutorial you will find a link on how to do this (or simply read this link about Remote Manifests).
EC2 Environment: Add Tags
Depending on your needs, you can add the relevant tags. In this case you can add the tags “Name’’ and “VOD2Live test instance.’’ Also you can add a tag on who owns the instance, and in this case you can add the tag “owner’’ and a name.
EC2 Environment: Configure Security Group
The last part before launching is making sure that your instance is reachable from port 80, which is the standard HTTP port, and the one that the Apache web server listens to.
Whenever you want to stream something from your instance, this port must be allowed to stream your VOD2Live stream. Port 22 also must be allowed, so that you can establish a terminal connection.
For the security group, choose an existing security group, which in your case may be your company’s default settings.
For a new AWS user there may be no security group already available. In this case you would need to create one by clicking the “Create New Based on Seller Settings’’ button.
The warning sign means that there will be no IP based restriction for your instance. More specifically, anyone can get the streams if they have your streaming link.
EC2 Environment: Review Instance Launch
The last part is checking if everything is configured properly. You can then click on “Launch.”
A final window will appear. Here, you choose RSA keys or use your company’s RSA keys (which will be added into your instance’s credentials, thereby providing a secure connection to your instance), and click on Launch.
In our example, we have already created a key pair that we had named “Alex.”
Once you select your key pair, you can then click on “Launch Instances.”
Now the instance is being created. Once the instance is ready, it will be visible at the instances table of EC2. There, you can select the instance that you have just created, and will use.
Select an existing key pair or create a new key pair
You need to use your key pair. If you don’t have a key pair, you need to generate a key pair. If you don’t know how to create a key pair, don’t worry — you can read AWS documentation here:
7. Connect to the Instance
The instance and product is an Ubuntu server that requires command line tools.
If you’re on a Mac, you can use the native terminal.
If you’re on Windows, you need to choose a terminal interface, for example, PuTTY, which is supported by AWS.
Next, copy the public IP address of the instance, this can be found in the details as “Public IPv4 DNS.”
Using the terminal
Once you have copied the public IP, type in the terminal SSH. We use Ubuntu as the user and continue by adding the public IP address to establish the connection. The way you establish a connection should be similar to below.
#!/bin/bash ssh -i YOURKEY -p 22 ubuntu@ec2-IP.eu-west-1.compute.amazonaws.com
You can check if everything is in good order with your instance by typing your public IP address on a browser.
You will be redirected to the demo environment provided by Unified Streaming, including DASH and HLS test players, which you can use to play a live stream.
8. Demo environment
Here you can see the location address of the client manifest, which includes test content that is already uploaded on the server. For this tutorial, let’s use the video file titled “Tears of Steel.”
NOTE: You can use your own content from S3 by referring to it by URL. See Remote manifests for more details.
To see that content you need to use the list command for Tears of Steel, which is the document root of your web server. You should be able to get some of these example files listed below.
ubuntu@ip-172-30-0-243:~$ ls -li /var/www/tears-of-steel/ 265099 -rw-rw-r-- 1 root root 12487 Feb 25 14:36 index.html 265100 drwxr-xr-x 2 root root 4096 Mar 23 15:06 player 265106 -rw-rw-r-- 1 root root 11882495 Nov 2 2018 tears-of-steel-aac-128k.mp4 265107 -rw-rw-r-- 1 root root 6011096 Nov 2 2018 tears-of-steel-aac-64k.mp4 265108 -rw-rw-r-- 1 root root 41197309 Nov 2 2018 tears-of-steel-ac3-448k.mp4 265109 -rw-rw-r-- 1 root root 92029682 Nov 2 2018 tears-of-steel-avc1-1000k.mp4
9. Start a live channel from VOD assets stored locally
You need some VOD content to use for the VOD2Live stream, so for this tutorial let’s use the Tears of Steel video, which is already included in the Marketplace image, in /var/www/tears-of-steel directory.
10. Create a SMIL Playlist
You need to create a SMIL playlist that can be used by Unified Remix. You can use any text editor to create those playlists. It’s a generic XML file and you need to save them with “.smil” extensions to use it for the input.
The playlist we will use just lists the different video, audio, and subtitle tracks of Tears of Steel. <?xml version="1.0" encoding="UTF-8"?> <smil xmlns=""> <head> </head> <body> <seq> <par> <video src="tears-of-steel-avc1-1000k.mp4" /> <video src="tears-of-steel-avc1-1500k.mp4" /> <video src="tears-of-steel-avc1-750k.mp4" /> <video src="tears-of-steel-avc1-400k.mp4" /> <video src="tears-of-steel-aac-128k.mp4" /> <video src="tears-of-steel-aac-64k.mp4" /> <video src="tears-of-steel-en.cmft" /> <video src="tears-of-steel-zh-hans.cmft" /> </par> </seq> </body> </smil>
The file can be created like so:
#!/bin/bash cat <<EOF > /var/www/tears-of-steel/vod2live_hands_on.smil <?xml version="1.0" encoding="UTF-8"?> <smil xmlns=""> <head> </head> <body> <seq> <par> <video src="tears-of-steel-avc1-1000k.mp4" /> <video src="tears-of-steel-avc1-1500k.mp4" /> <video src="tears-of-steel-avc1-750k.mp4" /> <video src="tears-of-steel-avc1-400k.mp4" /> <video src="tears-of-steel-aac-128k.mp4" /> <video src="tears-of-steel-aac-64k.mp4" /> <video src="tears-of-steel-en.cmft" /> <video src="tears-of-steel-zh-hans.cmft" /> </par> </seq> </body> </smil>
11. Create a live server manifest
Unified Remix processes the SMIL inputs and outputs .mp4 files. Like creating the playlist, processing it with Remix isn’t any different for VOD2Live purposes either. Use a command similar to the one below to create your live server manifest’s input.
#!/bin/bash unified_remix -o /var/www/tears-of-steel/vod2live_hands_on.mp4 \ /var/www/tears-of-steel/vod2live_hands_on.smil
The next step is to create a live stream from this content. To do this, you need to create a live server manifest. A server manifest is the file which contains the configuration for the streams that Unified Origin will produce based on the input media.
This is created with the mp4split command line tool.
The options you use will enable VOD2Live output with a short DVR window of 30 seconds, and use FMP4 output for HLS.
#!/bin/bash mp4split -o /var/www/tears-of-steel/vod2live_hands_on.isml \ --vod2live \ --dvr_window_length=30 \ --hls.fmp4 \ /var/www/tears-of-steel/vod2live_hands_on.mp4
The command output should look something like:
mp4split version=1.11.3 (24483) Copyright 2007-2021 CodeShop B.V. I0.000 Manifest file:///var/www/tears-of-steel/vod2live_hands_on.isml I0.000 Track 1: I0.000 src=vod2live_hands_on.mp4 I0.000 audio bitrate=64000 name=audio_eng I0.000 id=1 timescale=48000 lang=en I0.000 soun/mp4a dref=1 bitrate=64000/64000 tag=255 samplerate=48000 channels=2 sample_size=16 packet_size=4 I0.000 soun/mp4a dref=2 (tears-of-steel-aac-64k.mp4) bitrate=64000/64000 tag=255 samplerate=48000 channels=2 sample_size=16 packet_size=4 I0.000 Track 2: I0.000 src=vod2live_hands_on.mp4 I0.000 audio bitrate=128000 name=audio_eng I0.000 id=2 timescale=48000 lang=en I0.000 soun/mp4a dref=1 bitrate=128000/128000 tag=255 samplerate=48000 channels=2 sample_size=16 packet_size=4 I0.000 soun/mp4a dref=2 (tears-of-steel-aac-128k.mp4) bitrate=128000/128000 tag=255 samplerate=48000 channels=2 sample_size=16 packet_size=4 I0.000 Track 3: I0.000 src=vod2live_hands_on.mp4 I0.000 textstream bitrate=1000 name=textstream_eng I0.000 id=3 timescale=1000 lang=en I0.000 subt/stpp dref=1 bitrate=1000/0 codecs=stpp.ttml.im1t
12. Stream the delivered URL
Now that your server manifest is ready, you can use this VOD2Live smil file as the source of your stream.
Back in your test environment, which contains the public IP of our AWS instance, you need to add the information of our stream. Since it is a live stream, it will end in isml.
And because you are using a DASH manifest in our example, you need to add .mpd.
If you want to have the live stream in HLS, then your URL should end in .m3u8.
The output streams will be available at the following URLs:
And they can be tested with a player immediately in your browser at:
Please replace <instance-url> with the public IP address of your EC2 instance, and yes, it does need to be replaced twice in the player test URL. If you want to scale the delivery of your live stream and reach many more viewers, you can use any CDN.
That’s it! That’s all you need to do to create a working VOD2Live stream via AWS Marketplace.
Use Remix VOD2Live and any other of our products at the AWS Marketplace with a flexible, usage-based method, and the option for annual pricing models! Just click on https://aws.amazon.com/marketplace/seller-profile?id=ec1211ff-dbe3-4ec0-b9fe-5f21f25f3442&ref=dtl_B01GQW21OS.
(Note: The UI of AWS as depicted in the tutorial above may be updated from time to time. Please notify us if any images need to be updated.)