VideoWhisper RTMP Web Session Check

For sites and integrations where additional security measures are required, VideoWhisper Web Applications support login session check on Wowza RTMP side.

This is used to make sure no clients will be able to connect to rtmp server without having previously logged in on the website (with the _login.php scripts for php editions).
When a new client tries to connect to RTMP server with a session name, rtmp application will check on the web server if that client session exists. If web server does not confirm that client logged in, rtmp server will reject the connection. RTMP server will also check for a webKey that needs to be configured same way on rtmp and web server: this will prevent connections in case of web domain hijacking (only web server and rtmp server know the key, client app does not).

Notes

  • This will disable connections from external encoders (ie. FMLE) and players (ie. JwPlayer) to that rtmp address, as these will not provide a session name to check for validity. These apps can be supported with a more advanced solution that allows inserting a key in rtmp address and also continuous rtmp session control from web (rtmp reports online sessions to web scripts and these can terminate any rtmp session):  RTMP Session Control
  •  Usually, each installation will require its own rtmp side that checks session info with that installation. Otherwise you will have to tweak scripts to check on all installations.
  • This Wowza SE functionality is optional and can be disabled by leaving those properties blank.

 

RTMP Configuration

RTMP side web session check is currently supported for Wowza rtmp side. Download latest version of Wowza rtmp side, deploy to your server and update these settings in conf/videowhisper-web/Application.xml :

…
<Properties>
<Property>
<Name>acceptPlayers</Name>
<Value>true</Value>
</Property>
<Property>
<Name>webLogin</Name>
<Value>http://installation_url/rtmp_login.php?s=</Value>
</Property>
<Property>
<Name>webKey</Name>
<Value>VideoWhisper</Value>
</Property>
<Property>
<Name>webLogout</Name>
<Value>http://installation_url/rtmp_logout.php?s=</Value>
</Property>
</Properties>
</Application>

 

 

Then restart WowzaMediaServer service. For troubleshooting check Wowza access logs. If errors occur in the error logs submit a ticket to VideoWhisper about this.

Web Configuration

Download latest Video Conference php edition and check these integration files:
rtmp.inc.php – stores session info when user authenticates from vc_login.php ; contains $webKey if you want to change it
rtmp_login.php – called by rtmp server to see if a session name is valid (authenticated); also gets canKick permission to allow user to kick clients
rtmp_logout.php – called by rtmp server when client with a session name disconnected (to cleanup session)

Configure settings.php to use the videowhisper-web rtmp address.

To integrate this on other editions or installations you will need to copy the 3 files mentioned above to installation folder and include rtmp.inc.php in the _login.php scripts that authorize the user.
Other changes could be required depending on particularities of each integration.

Sample Demo Configuration

Installation url: http://www.videowhisper.com/demos/vc_web
Using rtmp address: rtmp://videowhisper.com/videowhisper-web

         <Property>
<Name>webLogin</Name>
<Value>http://www.videowhisper.com/demos/vc_web/rtmp_login.php?s=</Value>
</Property>
<Property>
<Name>webKey</Name>
<Value>VideoWhisper</Value>
</Property>
<Property>
<Name>webLogout</Name>
<Value>http://www.videowhisper.com/demos/vc_web/rtmp_logout.php?s=</Value>
</Property>

 

RTMP Session Control (including after login and for 3rd party encoders/apps)

In addition to session login control, VideoWhisper rtmp side for Wowza can also  provide RTMP Session Control (special licensing is required for 3rd party servers).

This can be used to monitor 3rd party clients, other than VideoWhisper applications, like Wirecast, Flash Media Live Encoder (FMLE), Open Broadcaster Software (OBS), iOS/Android GoCoder app for rtmp live broadcasting.

In example, if a broadcaster connects directly with an external encoder application, the website scripts can be notified about this to show his channel as LIVE.
Also web scripts can communicate back to rtmp server to disconnect a client when necessary.

Setting up VideoWhisper RTMP on Influxis

If you have a FMS account with Influxis, use these instructions for setting up a new application:

1. Create application from Tools > New App Builder or My Applications > Add New Application. Use any name i.e. “videowhisper” and save generated rtmp path.

2. From Tools > File Manager / File Admin edit videowhisper/main.asc file and make sure it has the contents of videowhisper/main.asc (open it with notepad or other text editor). If needed select all from text editor (CTRL+A), copy (CTRL+C), move to form, select all from there (CTRL+A), paste from clipboard (CTRL+V).
Get VideoWhisper FMIS rtmp side from Downloads : RTMP VideoWhisper Applications > FMIS .

3. From Account Settings > Domain Permissions, Set Referring Domain(s), Add New Domain – add your domain that hosts the flash (i.e. your-domain.com)

4. Reset the VHost for your Influxis account so it loads new applications or updates.
In your Influxis account go to My Applications > FCS Administration Console: Connect then go to Maintenance : Adaptor / VHost: Restart .