August 17, 2014

Publish RTMP from Wowza to Nimble for HLS transmuxing

Nimble Streamer is used for a variety of RTMP-related use cases. One of core scenarios is to produce HLS from published RTMP stream. Many customers use Wowza transcoder as a source for RTMP and Nimble edge servers to delivery content for end users. This allows offloading Wowza and have Nimble to handle all incoming requests easily.

Nimble Streamer supports this case perfectly so we'd like to describe how to set up Wowza to publish RTMP to Nimble Streamer.

The set up process consists of 2 steps - Nimble setup and Wowza setup.

1. Set up Nimble Streamer RTMP transmuxing


RTMP transmuxing can be configured as described in this article. Here is a brief visual guide to remind basic steps.

Start with "Nimble Streamer" -> "Live streams settings" menu.



You may overlap global settings by individual applications settings.



RTMP application setting.


Interfaces list.

Add new interface to get published RTMP stream.

For more details and explanations, read the original article.

When the interface is defined, you may publish stream from Wowza.

2. Set up Wowza RTMP publishing to Nimble


To publish your RTMP stream to Nimble Streamer, you need to install and set up PushPublishing add-on for Wowza.
Here's the description of PushPublishing configuration on Wowza website.

What you basically need to do is to follow 2 steps.

2.1. Edit Application.xml for designated live application to add these lines:

<Module>
    <Name>ModulePushPublish</Name>
    <Description>ModulePushPublish</Description>
    <Class>com.wowza.wms.pushpublish.module.ModulePushPublish</Class>
</Module>

2.2. Edit this file:
/usr/local/WowzaStreamingEngine/conf/PushPublishMap.txt
to add this line:
stream={profile:"rtmp", streamName:"test_stream", host:"localhost", port:1935, application:"live", userName:"test", password:"password"}
The PushPublishMap.txt file loaded dynamically so you can add and remove streams any time

That's it. The stream will then be published and Nimble Streamer will make further transmuxing to HLS. You may also use this stream to produce ABR HLS setup.
If you'd like to use RTMP for playback in Nimble, use RTMP playback streaming feature set.

If you have any difficulties with Wowza setup or if you need to define another source of RTMP stream for transmuxing via Nimble, please contact us.

You may also set RTMP republishing via Nimble Streamer itself so you can push RTMP further into Nimble-based network. For better flexibility, please also consider WMSPanel server tasks remote management via web console for convenient control of server-side commands. Launch any command, like ffmpeg process, with no need to log in via SSH, just an easy-to-use web interface.

Related documentation


Nimble StreamerRTMP republishing via Nimble, Republishing to Fastly CDNPay-per-view for Nimble StreamerTransmuxing RTMP to HLSAdaptive bitrate for RTMP to HLSPull RTMP to transmux into HLSHLS re-streaming set upRAM caching for effective re-streaming, Transmuxing RTMP to Icecast and ShoutcastTransmuxing HLS to RTMPRTMP playback streaming via Nimble

No comments:

Post a Comment