Service: Channel Engine Bridge - EyevinnOSC/community GitHub Wiki
While in most cases it is not a problem to have a CDN pull directly from a FAST Channel Engine in Open Source Cloud there are use cases where you need to push the channel to another live origin. This is what the open source project Channel Engine Bridge aims to solve. This tutorial walks you through how you setup a Channel Engine Bridge in Open Source Cloud to push to either an AWS Media Package origin or an AWS S3 Bucket as origin.
- If you have not already done so, sign up for an OSC account.
- AWS account
- A FAST Engine channel
In this example we will bridge a FAST Engine channel to an AWS S3 bucket as origin.
Create the service secrets for the AWS S3 access.
awsaccesskeyid=<aws-access-key-id>
awssecretaccesskey=<aws-secret-access-key>
Replace <aws-access-key-id>
and <aws-secret-access-key>
with your credentials.
Click on the button "Create channel-engine-bridge" in the web user interface.
Enter the following in the create dialog.
- Name:
guide
- Source:
https://demo.ce.prod.osaas.io/channels/website/master.m3u8
- DestType:
s3
- DestUrl:
s3://<your-output-bucket>/hls/index.m3u8
- AwsAccessKeyId:
{{secrets.awsaccesskeyid}}
- AwsSecretAccessKey:
{{secrets.awssecretaccesskey}}
- AwsRegion:
<region-where-your-bucket-is-placed>
Then press Create button.
If you rather want to use the OSC command line tool you would run the following command in your terminal to create the bridge.
osc create eyevinn-channel-engine-bridge guide \
-o Source=https://demo.ce.prod.osaas.io/channels/website/master.m3u8 \
-o DestType=s3 \
-o DestUrl=s3://<your-output-bucket>/hls/index.m3u8 \
-o AwsAccessKeyId="{{secrets.awsaccesskeyid}}" \
-o AwsSecretAccessKey="{{secrets.awssecretaccesskey}}" \
-o AwsRegion=eu-north-1
The URL to the HLS from the S3 bucket is then https://<your-cloudfront-distribution-for-the-bucket>/hls/index.m3u8
and can be played in any HLS capable video player.
Create a Media Package channel in the AWS console.
Note down the URL
, username
and password
for one of the HLS ingest endpoints.
Create a secret for the HLS ingest endpoint to push to.
mediapackageingest=https://<username>:<password>@<URL>
where <URL>
is in the format xxxxx.mediapackage.xxxxxx.amazonaws.com/in/v2/146950c8d69d45c7a20f2995803d622e/146950c8d69d45c7a20f2995803d622e/channel
Click on the button "Create channel-engine-bridge" in the web user interface.
Enter the following in the create dialog and then press the Create button
- Name:
guide
- Source:
https://demo.ce.prod.osaas.io/channels/website/master.m3u8
- DestType:
mediapackage
- DestUrl:
{{secrets.mediapackageingest}}
or with the OSC command line tool.
osc create eyevinn-channel-engine-bridge guide \
-o Source=https://demo.ce.prod.osaas.io/channels/website/master.m3u8 \
-o DestType=mediapackage \
-o DestUrl="{{secrets.mediapackageingest}}"
In the AWS console we can now create an origin endpoint for this Media Package channel. We have created one endpoint of type Apple HLS.
We can then obtain the origin playback endpoint and use it with an HLS capable video player.
Also, we can create an additional origin endpoint for the MPEG-DASH format and use an MPEG-DASH player with this endpoint.