Live Streaming

This application provides web based live video streaming. It contains an application to broadcast video with realtime configuration of resolution, framerate, bandwidth, audio rate and also allows discussing with video subscribers. The live broadcasting application also saves snapshots of current video as images for preview purposes and provides links and html code to publish channel and preview.

http://www.videowhisper.com/?p=Live+Streaming

Currently php edition was integrated win Wowza. Rest of editions will follow.

Software can be downloaded, installed on php sites and run in free mode.

Hi,

I have modified the [instal-dir]/conf/live/Application.xml as videowhisper recommends at http://www.videowhisper.com/?p=RTMP+Applications#settings and have modified the settings.php to include the token.

Here it is the Application.xlm file:


true

live

${com.wowza.wms.context.VHostConfigHome}/content

${com.wowza.wms.context.VHostConfigHome}/keys

smoothstreamingpacketizer,cupertinostreamingpacketizer,sanjosestreamingpacketizer

cupertinostreaming,smoothstreaming,sanjosestreaming

-1

*

*

*

*

none

none

senderreport

12000

75

90000

0

0.0.0.0

127.0.0.1

*

base

Base

com.wowza.wms.module.ModuleCore

properties

Properties

com.wowza.wms.module.ModuleProperties

logging

Client Logging

com.wowza.wms.module.ModuleClientLogging

flvplayback

FLVPlayback

com.wowza.wms.module.ModuleFLVPlayback

ModuleLimitPublishedStreamBandwidth

Module Limit to Published Stream Bandwidth

com.wowza.wms.plugin.collection.module.ModuleLimitPublishedStreamBandwidth

VideoWhisper

VideoWhisper.com rtmp server side.

com.videowhisper.wms.module.VideoWhisper

ModuleRTMPAuthenticate

ModuleRTMPAuthenticate

com.wowza.wms.plugin.security.ModuleRTMPAuthenticate

ModuleSecureToken

ModuleSecureToken

com.wowza.wms.plugin.security.ModuleSecureToken

ModuleRequireSecureConnection

ModuleRequireSecureConnection

com.wowza.wms.plugin.security.ModuleRequireSecureConnection

MaxBitrate

700

Integer

secureTokenSharedSecret

#ed%h0#w@1

requireSecureConnection

true

Boolean


After restarting Wowza server, I get the message You have been disconnected from server. when starting a new stream.

Please could you help to get the right configuration?

Thanks

You are probably not using secure protocol, which you are requiring (redundantly with a Module and a Property). Use RTMPE

rtmpE://[wowza-address]/[app-name]

You can take out ModuleRequireSecureConnection and ModuleSecureToken, because you have ModuleRTMPAuthenticate and the secureTokenSharedSecret Property and requireSecureConnection Property.

Richard

You have to implement SecureToken response in your Flash player. It has to be compiled into the SWF. Does VideoWhisper include a player? Take a look at this guide to implement SecureToken in JW Player:

https://www.wowza.com/docs/how-to-add-securetoken-protection-to-jw-player

Any Flash player that connects to Wowza should have the same NetConnection NetStatusEvent handler that you can similarly implement SecureToken.

Richard

RTMPE works and RTMP doesn’t work because you have added requireSecureConnection Property to the Properties list, or you might have added the ModuleRequireSecureConnection to the Modules list. Either method has the same affect.

Don’t use HotLinkDenial on the origin. You should not need to connect a Flash client directly to an origin, so it is not useful. You can use SecureToken between the edges and the origin to secure the origin. Take a look at this article:

https://www.wowza.com/docs/how-to-configure-a-live-stream-repeater

Richard

In that article there is a section “Securing the Origin”. You will implement SecureToken between the edges and the origin. This is a super easy use of SecureToken, no compiling Flash involved, it’s just between the servers. It makes it so that Flash clients cannot connect to your origin. This is all you need.

Richard

Yes, that is how it is implemented, following the guide. You also need the jar file from the Wowza collection added to each edge /lib folder, then to restart Wowza. You don’t need the AllowEncoder Property, but it won’t cause any problem if you do.

Richard

To enable security token in VideoWhisper Live Streaming, you need to configure:

  1. Login script parameters, as explained on http://www.videowhisper.com/?p=PHP+Live+Streaming .

This is done for php edition by editing settings.php :

$tokenKey = “VideoWhisper”;

// This can be used to secure access as configured in RTMP server settings (secureTokenSharedSecret).

It will fill this parameter in login parameters mentioned for php edition page:

connection settings: server=<?=$rtmp_server?>&serverAMF=<?=$rtmp_amf?>&tokenKey=<?=$tokenKey?>

&serverProxy=best

This is to be configured for all applications (broadcaster and players):

vc_login.php : Video Broadcasting Interface (live_broadcast.swf)

vs_login.php : Video Watch and Discuss Interface (live_watch.swf)

vv_login.php : Live Video Interface (live_video.swf)

Configure Wowza Media Server rtmp side for VideoWhisper application:

http://www.videowhisper.com/?p=RTMP+Applications#settings

Wowza allows enabling some security modes with the MediaSecurity Addon Package.

Enable Secure Token

This will allow only connections from applications that support configuring a token key.

ModuleSecureToken

ModuleSecureToken

com.wowza.wms.plugin.security.ModuleSecureToken

secureTokenSharedSecret

VideoWhisper

Replace VideoWhisper with the token key of choice and update in web application settings.

RTMP Authentication and Secure Token can be used in combination with secure connections option.

requireSecureConnection

true

Boolean

videowhisper Hosting - normal, there are a lot better, for example, unlimited transfer, cheaper than listed …

Hi Richard,

Thanks for your reply.

I have now remove the modules you mentioned in your replay ModuleRequireSecureConnection and ModuleSecureToken, and this is how the end of the Application.xml looks like


VideoWhisper

VideoWhisper.com rtmp server side.

com.videowhisper.wms.module.VideoWhisper

ModuleRTMPAuthenticate

ModuleRTMPAuthenticate

com.wowza.wms.plugin.security.ModuleRTMPAut henticate

MaxBitrate

700

Integer

secureTokenSharedSecret

#ed%h0#w@1

requireSecureConnection

true

Boolean


Now I’m able to start broadcasting and I’m able to play the stream either with the player with the embed token or with the player without token.

Any suggestion on how to apply the secure Token to work with videoWhisper?

Thanks,

Ernest

Any help with this?

Thanks

Hi Richard,

I’ve got secureToken already working for jwplayer, at least it seems to be working. Forget about videowhisper, I’ve got another question. I’ve got a load balance configuration, one server with loadbalancer and liveorigin apps and a second server with liveedge app.

As I said, I think I’ve got ModuleRTMPAuthenticate working with the secure token and this is the embed code I use for the player

Why if I use rtmp instead of rtmpe the stream doens’t work? Also why the encoder (FMLE) is asking for user and password? (When I enter correct user and password I see in the encoding log “Primary - Connected to FMS/3,5,5,2004”)

Now I’m trying to implement the Hotlink Denial Module, but not getting it quite right, do I need to ad this module to loadbancer, liveorigin and edge applications?

When I add Hotlink Denial Module to liveorigin the player can’t play the stream, this is what I have added to liveorigin/application.xml

Hotlink Denial

Hotlink Denial Module

com.wowza.wms.plugin.collection.module.ModuleHotlinkDenial

and in properties

domainLock

127.0.0.1,EDGESERVERIP,*mydomain.com

AllowEncoder

FM

Am I doing something wrong?

Hi Richard,

I followed the steps form your link https://www.wowza.com/forums/content…er-Quick-Start and re-compiled the player with the token, now I can only play streams through the player with the token, that’s working :slight_smile:

Right now the problem I’ve got is that I can connet a flash client directly to origin using rtmp://mydomain.com/liveorigin. How can I avoid users from using the liveorigin to watch the stream?

Thanks

Hi Richard,

I’ve got this working I was misleading the securetoken between origin and edge and between edge and the player :slight_smile:

No I’d like to implement the Hotlink Denial module, I need to modify the Application.xlm on the edge, rigt?

Is this the right code?

IN MODULES

Hotlink Denial

Hotlink Denial Module

com.wowza.wms.plugin.collection.module.ModuleHotlinkDenial

IN PROPETIES

domainLock

127.0.0.1,*mydomain.com

AllowEncoder

FM

Thanks.,