When you have many streaming servers, you usually have some Origin servers and some Edge servers. You publish the streams on the Origin servers, and the Edge servers connect to the Origin servers and pull the streams, and users connect to the Edge servers. When you have Wowza as an Origin server and Adobe AMS or Adobe FMS as Edge server(s), the Edge servers cannot connect to the Origin server as they would it the Origin server was another Adobe AMS/FMS. Or at least I did not succeed to do it when I tested this configuration. The Origin server sometimes has to be Wowza, for example when tou want to push to it an mpeg-ts stream, like in the situation explained in my previous post.
But there is an interesting feature of Wowza that allows it to push a stream to another server, Wowza or Adobe AMS/FMS or another server where you can publish an rtmp stream. Adobe Media Server sees this stream as an Adobe Flash Media Encoder, so it is working perfectly. The setup is pretty simple, but the documentation is not very explanatory. I made some tests and I finally understood exactly what setup you need to do on the Wowza server.
First, you have to enable the PushPublish module on the Wowza appliation you use. Let’s say that you publish a stream called “live.stream” on the “live” application, like in the previous post. In this case, you have to add the following lines in the config file of the “live” application (“Application.xml”), between “<Modules>” and “</Modules>”:
<Module>
<Name>ModulePushPublish</Name>
<Description>ModulePushPublish</Description>
<Class>com.wowza.wms.pushpublish.module.ModulePushPublish</Class>
</Module>
Second, you have to add the following line to the “PushPublishMap.txt” file, which is located in the “conf” folder:
live.stream={profile:"rtmp", streamName:"livestream1", host:"fms.domain.com", application:"liveapp"}
It is only one line, even if your browser splits it to two lines here. And the parameters you use are:
- live.stream is the name of the stream in Wowza. And in my example, live.stream is the stream name in the “live” application
- livestream1 is the stream name on the destination server
- liveapp is the application name on the destination server
- fms.domain.com is the hostname of the Adobe AMS os FMS server where we want to push the stream.
After this, you should restart Wowza service and you can start your streaming.