Wowza Community

Transcoded HLS levels to RTP

Hi there

I’m using the Wowza Transcoder AddOn to sucessfully create three different quality levels for an incoming RTMP stream. This gives me a good ABR experience for unicast delivery. However I have a requirement to also make this content available as three separate RTP streams, which can be delivered on a multicast-enabled network to different locations (with different bandiwdth capacities).

Am I able to use the server-side API, or some other mechanism, to re-stream the three transcoded HLS levels to three separate RTP streams? I can then push these RTP streams to a different server for multicast, or I can have Wowza multicast them, whichever is easier.

I was thinking of setting up a PushPublish process to send a transcoded quality level from the source application to another application, which would create an RTP stream. Could this approach work? I imagine that it could be possible as it might just be a case of transmuxing, not a full transcode, but I need to know how to hook into the right place in the Transcoder workflow.

Alternatively perhaps it’s possible to create three HLS levels and three RTP streams all from the same Transcoder?

Any thoughts/ideas gratefully appreciated!

Rob

Adaptive bit rate (ABR) with multicast output from Wowza is not supported. You could transcode multiple renditions and output them all to multicast streams via Push Publishing, but there is not a way to play them back as ABR.

You can use the same transcoded stream for HLS and RTP. HLS will have ABR but RTP will be single streams at different bitrates.

Salvadore

Adaptive bit rate (ABR) with multicast output from Wowza is not supported. You could transcode multiple renditions and output them all to multicast streams via Push Publishing, but there is not a way to play them back as ABR.

You can use the same transcoded stream for HLS and RTP. HLS will have ABR but RTP will be single streams at different bitrates.

Salvadore

Thank you. Sorry, I was not clear - I don’t expect the ABR to be for multicast, just the ability to create three RTP streams from the HLS quality levels.

Do you know where I would start with the API to achieve this?

Thanks again

Rob

Hi,

Yes, you can use the Push Publishing functionality to push the three different streams to the multicast addresses.

Here is the article explaining how to do that: How to push streams to CDNs and other services (Push Publishing)

Here is an example PushPublishMap.txt file entry showing how to push a stream to a multicast address: Push Publishing destinations (with sample mapping file information)

You would basically need to have something similar to this in your PushPublishMap.txt file:

myStream_720p={profile:"mpegts", streamName:"myStreamMPEGTS_720p", host:"239.1.1.1", port:1212, rtpWrap:false}
myStream_480p={profile:"mpegts", streamName:"myStreamMPEGTS_480p", host:"239.1.1.2", port:1234, rtpWrap:false}
myStream_360p={profile:"mpegts", streamName:"myStreamMPEGTS_360p", host:"239.1.1.3", port:1256, rtpWrap:false}

I am assuming that myStream_720p, myStream_480p and myStream_360p are the transcoded output streams that your Wowza server is generating.

Please note that you won’t be able to deliver the multicast stream over the internet. You should be able to deliver the multicast output into your controlled network environment, where you can be certain that all the network elements are correctly configured to deliver the multicast traffic.

Zoran