Stream HLS from S3

Updated on December 10th, 2022

Setup and Stream HLS Proxies from S3 

Import the new workflow

In order to utilise S3 as a source for HLS proxies we will need to import a new workflow created that will copy the existing HLS created proxy from the online location to the S3 bucket of choice.

Currently you can get the new workflow here:

in Git under WorkInProgress\Core\Spawn - Copy HLS Proxy Files.xml.

(Note that this may change as it becomes core or gets replaced by an output type for Xcode direct.)

Configure the Mediastores

In order to get the workflow to work we must create a mediastore with the correct settings, please use the template below:

<COPY-HLS-PROXYFILES>
<PathMetadataKey></PathMetadataKey>
<OutputProfile>AWS S3</OutputProfile>
<Path>aws://ipvexamplebucket/webproxies</Path>
<AvailableMetadataKey></AvailableMetadataKey>
<StoreType>Dynamic</StoreType>
<DeviceGroup></DeviceGroup>
<Workflow>Spawn - Copy HLS Proxy Files</Workflow>
<MediaStoreTemplate>Transfer</MediaStoreTemplate>
<Source>PROXY</Source>
</COPY-HLS-PROXYFILES>

You'll need to use this in conjunction with the creation of a HLS proxy, so depending on the method you use to create one, add the above store to the TransferTo metadata key, so this is performed AFTER the HLS proxy is created.

Setup Streaming for GUI/Panel

With most of our web clients and Panel, we should be able to use the web.config or the panel config to setup a videoserveraddress value.

Simply to allow a S3 bucket to be the source.

There are some requirements on the S3 side (to be confirmed) but most likely will be to make it publicly view-able.

Config setting example:

<!-- HTML5 video-->
 <add key="VideoServerAddress" value="https://ipvexamplebucket.s3-eu-west-1.amazonaws.com/" />

 

Was this article helpful?