Wowza Community

Moving from RTMPE to RTMPS - how to handle RTMPTS?

We stream live audio with HLS (Apple devices) and RTMPE (jwplayer). Security is important to us, so we’ve implemented ‘expiring links’ on the streams. With RTMPE and jwplayer, we could add the timestamp and hash signature as flash vars and process them in an onConnect() method that we added as a module to Wowza.

We’re now deploying RTMPS. Since jwplayer doesn’t seem to support RTMPS, we’re using flowplayer. But flowplayer doesn’t seem to support setting flashvars and pass parameters as jwplayer does. So, we’re looking at using flowplayer’s SecureStreaming plugin which supports expiring links as well as secure token.

The problem we’re now having is deciding what to do with clients that still connect with jwplayer when using an RTMPS stream. In the RTMP onConnect() method, we check client.isSSL(). When this TRUE, we thought we could assume that the connection came from flowplayer using RTMPS and then skip the processing of the expiring links in onConnect(), deferring the check to later. However, it turns out that jwplayer will see RTMPS and connect with RTMPTS. This, of course, also returns TRUE for client.isSSL(). As a result, none of our ‘expiring links’ checking gets done with jwplayer using RTMPS.

Is there any way to determine in onConnect() if the connection is RTMPTS or RTMPS?

Is there a better way to process ‘expiring links’, say in the onPlay() method that will work for both jwplayer and flowplayer?

You have to set the proxyType to “best”, which you can do in JW Player (through a Flashvar) and Flowplayer.


JW player seems to not have any support for assiging proxyType, although it’s in the pipeline for a later release it would appear: I have compiled the jwplayer from source and added the proxyType then checked the wowza logs.

What I am having difficulty ascertaining is whether the StreamLock logic is actually working 100%. I see the content in the player, however, looking through the logs I see both rtmpts and rtmps, plus I never see https for hls, only http.

Is this expected in the logs and how can I properly confirm that the rtmp and hls traffic is using SSL correctly?