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.

              Let’s begin!

              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.

              Region

              The region is pre-set at US East (N. Virginia).” You can choose another region, of course — whichever suits your video streaming workflow best.

              Software Version

              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:

              1. Launch through EC2 (elastic cloud computing);
              2. Launch from Website, which is the default option; and 
              3. 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.

              1. 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.
              2. You can choose the VPC settings in the AWS environment, which you cannot change here, but you can create new ones.
              3. 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.”

              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.”

              Launch Instances

              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: 

              https://​docs​.aws​.ama​zon​.com/​A​W​S​E​C​2​/​l​a​t​e​s​t​/​U​s​e​r​G​u​i​d​e​/​e​c​2​-​k​e​y​-​p​a​i​r​s​.html

              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:

              HLS: http://<instance-url>/vod2live_hands_on.isml/.m3u8
              DASHhttp://<instance-url>/vod2live_hands_on.isml/.mpd 
              SmoothStreaming: http://<instance-url>/vod2live_hands_on.isml/Manifest

              And they can be tested with a player immediately in your browser at:

              http://<instance-url>/?http://<instance-url>/vod2live_hands_on.isml/.mpd

                        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.

                        Wrapping up

                        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​.ama​zon​.com/​m​a​r​k​e​t​p​l​a​c​e​/​s​e​l​l​e​r​-​p​r​o​f​i​l​e​?​i​d​=​e​c​1211​f​f​-​d​b​e​3​-​4​e​c​0​-​b​9​f​e​-​5​f​21​f​25​f​3442&​r​e​f​=​d​t​l​_​B​01​G​Q​W21OS.

                        (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.)