Live Transcoding with Open Source Cloud

As live streaming continues to grow in popularity across various platforms, building a scalable, resilient, and cost-effective architecture is essential for broadcasters and content providers. Whether you’re streaming live sports, news, or entertainment, ensuring that your content reaches audiences globally with minimal latency and interruptions is critical.

With Open Source Cloud, you can build a live streaming architecture that leverages open-source components to offer scalability, resilience, and customization — all at a lower cost.

Live Transcoding and CDN pull stream

In this scenario the CDN pulls the stream from the encoder instance in Open Source Cloud. We strongly recommend to place a CDN origin shield between the CDN distribution nodes and the encoder instance acting as origin.

This tutorial walks you through how to setup live transcoding using Open Source Cloud.

Prerequisites

  • If you have not already done so, sign up for an OSC account.
  • Be on a paid subscription plan.

For best guaranteed performance we recommend purchasing a reservation for at least 1 single premium node (200 EUR per month) but not required to getting started.

Step 1: Setup secrets

Go to the web user interface and navigate to the service called Eyevinn Live Encoding. Click on the tab Service Secrets and the button New Secret.

Create a secret called streamkeya containing mysecretkey. This will be the stream key the live production software will need to be able to push the stream to the encoder.

Step 2: Create encoder instance

In the web user interface click on the button “Create encoder +” and enter the following in the instance creation dialog.

  • Name: guide
  • HlsOnly: true
  • StreamKey: {{secrets.streamkeya}}

You will create one encoder instance for each live stream you want to distribute.

Step 3: Start encoder

Once the instance is up and running you can use the provided web user interface to start and stop the encoder.

Click on the instance card to open the web user interface and for automation and integration with API you find the live API documentation by clicking on the menu item Open API Docs.There you are presented with a web based REST API client ready to use.

To start the encoder click on the button START ENCODER. When the encoder is in status “starting” it is ready to receive the stream.

On the service card you find an IP and port in the format IP:PORT and these values are used when configuring your live production software (for example OBS). For example you enter rtmp://IP:PORT/live/mysecretkey as the stream destination in OBS.

As soon as the stream is being received by the encoder you will find a video playing the encoded stream.

Step 4: Watch the stream

You can play the HLS stream directly from the origin by opening an HLS capable video player to the address returned by the OSC tool. In this example it was https://demo-guide.eyevinn-live-encoding.auto.prod.osaas.io/origin/hls/index.m3u8.

Step 5: Stop the stream

When the live event has been completed you stop the stream in the live production software and when that is stopped you can stop the encoder by clicking on the button STOP ENCODER.

Step 6: Configure CDN

Configure your CDN and CDN origin shield to fetch the stream from the URL that you tested with your video player as a media origin.

Leave a Reply

Your email address will not be published. Required fields are marked *