Per application publish.password files to control RTSP/RTP encoder authentication

https://www.wowza.com/docs/how-to-use-a-per-application-publish-password-file

For RTMP authentication, you need to add this property the level cotainer at the bottom of conf/[application]/Application.xml:

<Property>
	<Name>rtmpEncoderAuthenticateFile</Name>
	<Value>${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/publish.password</Value>
</Property>

The property you are changing is only for RTSP/RTP authentication. I know this is all a bit messy but that is just due to the way it has to be due to the way authentication is handled by the different technologies.

Charlie

Hi Charlie,

I’m trying this but for me don’t work.

On the logs say:

INFO server comment - ModuleRTMPAuthenticate.onAppStart: Authorization password file: /usr/local/WowzaMediaServer/conf/publish.password

But my Autentication.xml say:

<Method>
                                <Name>digest</Name>
                                <Description>Digest Authentication</Description>
                                <Class>com.wowza.wms.authentication.AuthenticateDigest</Class>
                                <Properties>
                                        <Property>
                                                <Name>passwordFile</Name>
<Value>${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/publish.password</Value>
                                        </Property>
                                        <Property>
                                                <Name>realm</Name>
                                                <Value>Streaming Server</Value>
                                        </Property>
                                </Properties>
                        </Method>

Do you have some advice for fix that?

BTW, I’m using the last AMI on EC2

Thanks in advance!

Alejandro

Charlie,

With your new instruction, this work really well.

BTW, this work too with “ApplicationInstance” level.

Only need create into conf/{Application}/{ApplicationInstance}/publish.password

Example: /usr/local/WowzaMediaServer/conf/live/1001/publish.password

My properties:

                        <Property>
                                <Name>rtmpEncoderAuthenticateFile</Name>
                                <Value>${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/${com.wowza.wms.context.ApplicationInstance}/publish.password</Value>
                        </Property>

and this way you can have multiple client in the same Application, but anyone can’t use the ApplicationInstance assigned to other clients.

I hope this Tip be useful.

Alejandro