针对RTMP和RTSP推流进行基于用户名和密码的认证
转载请注明:文章来自www.wowza.cn
注意: 要访问最新的技术资料,请访问http://www.ttstream.com/wowza/
默认情况下,Wowza Stream Engine 4 不会对使用RTMP和RTSP向自己推流的视频源(通常是一个编码器)进行身份验证。这边文章描述了如何采用用户名和密码对基于RTMP/RTSP协议的编码器进行推送认证。 www.wowza.cn

注意:从Wowza Media Server 3.5.0开始, ModuleRTMPAuthenticate模块已经内置到服务器中了。如果你正在使用更早的版本,你必须下载MediaSecurity Addon来获得这个模块。下载并解开压缩包后, 将/lib文件夹下的wms-plugin-security.jar文件拷贝的Wowza Media Server的/lib文件夹,然后重启Wowza Media Server。

配置(RTMP)


要使用username/password对采用RTMP协议推送到Wowza Media Server的流进行认证,请按下面的操作进行:

  1. 用文本编辑器打开[install-dir]/conf/[application]/Application.xml文件,在<Modules>的列表的最后面添加下面的<Module>:
    Code:
    <Module>
    	<Name>ModuleRTMPAuthenticate</Name>
    	<Description>ModuleRTMPAuthenticate</Description>
    	<Class>com.wowza.wms.security.ModuleRTMPAuthenticate</Class>
    </Module>
    注意: 如果你正在使用Wowza Media Server 3.1.2或更早的版本,要在<Modules>列表的最后面添加下面的<Module>:
    Code:
    <Module>
         <Name>ModuleRTMPAuthenticate</Name>
         <Description>ModuleRTMPAuthenticate</Description>
         <Class>com.wowza.wms.plugin.security.ModuleRTMPAuthenticate</Class>
    </Module>
  2. 默认情况下,ModuleRTMPAuthenticate模块被设计为采用[install-dir]/conf/publish.password的文本文件来存储用户名和密码。在文件中新的一行添加的一个username和password来验证推流。下面的例子展现了如何添加用户名和密码。
    Code:
    # Publish password file (format [username][space][password])
    # username password
    myuser mypassword
  3. 为每一个应用配置一个用户名和密码的文件:

    1. [install-dir]/conf/publish.password文件拷贝到[install-dir]/conf/[application]/publish.password

    2. [install-dir]/conf/[application]/Application.xml文件最下面的的<Properties>中添加下面的属性。
      Code:
      <Property>
      	<Name>rtmpEncoderAuthenticateFile</Name>
      	<Value>${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/publish.password</Value>
      </Property>

注意:ModuleRTMPAuthenticate模块同样可以添加SecureToken保护。要了解更多,请阅读www.wowza.cn如何使用SecureToken (ModuleSecureToken)对RTMP流媒体进行保护

配置(RTSP)


要使用username/password对采用RTSP协议推送到Wowza Media Server的流进行认证,请按下面的操作进行:

  1. 用文本编辑器打开[install-dir]/conf/[application]/Application.xml,将RTP/Authentication/PublishMethod 设置为 digest (这也是默认的设置):
    Code:
    <PublishMethod>digest</PublishMethod>
    注意:有些RTSP编码器不支持digest 认证。如果是这样,请将RTP/Authentication/PublishMethod设置为basic,这个应该是被支持的。

  2. 默认情况下,用户名和密码被存储在[install-dir]/conf/publish.password 文件中。在这个文件的新的一行添加一对用户名和密码来验证推流。下面的例子展现了如何添加用户名和密码:
    Code:
    # Publish password file (format [username][space][password])
    # username password
    myuser mypassword
  3. 为每个应用配置一个用户名和密码的文件:

    1. [install-dir]/conf/publish.password 拷贝到 [install-dir]/conf/[application]/publish.password

    2. [install-dir]/conf/[application]/Application.xml<Properties>列表中添加<Properties>属性。
      Code:
      <Property>
      	<Name>rtspEncoderAuthenticateFile</Name>
      	<Value>${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/publish.password</Value>
      </Property>
      www.wowza.cn


你可以用一个数据库系统或其它认证系统来扩展这个username/password系统。要了解更多,请阅读如何将Wowza的用户认证系统与外部的认证系统集成到一起.