We have a specific client that uses flash media encoder (h264) and wants to stream to one specific domain only.
He doesn’t want someone to steal the link and add it on another player (like jwplayer on another domain).
- he wants to do this for different stream names like this:
Stream name: stream1 -> ONLY plays on domain1.com
Stream name: stream2 -> ONLY plays on domain2.com
Stream name: stream3 -> ONLY plays on domain3.com
(note: all these streams run from the same server)
Can this be done? Is there already a module that does exactly this or do we have to hire a wowza programmer to do it?
Cheers,
Savvas
Hi
The Hotlink denial module allows you to lock an application to only play from a particular domain but I think it could be modified to lock a stream.
Here’s the link
https://www.wowza.com/docs/how-to-combat-hotlinking-your-adobe-flash-swf-file
Jason
Wowza has to run on one domain, so you can’t really use Wowza this way. (You can restrict what domain or IP you accept rtmp streams from.)
Take a look at the MediaSecurity Addon, ModuleRTMPAuthenticate. This is the best way to limit encoder access to a live Wowza application.
https://www.wowza.com/docs/media-security-overview
Richard
Hotlink denial limits what domain a Flash RTMP client (swf) that connects to your server can be served from, so that won’t do what you want. You said you want to restrict by domain, I think what I pointed to will do that.
Richard
Thank you for the reply!
We want to limit the domain that is allowed to PLAY the stream, not the IP that the encoder sends the stream.
We use Amazon EC2 Wowza Instance, so most probably by only using the code below this will work (have to try it now):
domainLock
localhost,mysite.com
AllowEncoder
Wirecast
Now, if we want different stream names to be allowed to ONLY PLAY on a different domains, can this be done?
Stream name: stream1 -> ONLY plays on domain1.com
Stream name: stream2 -> ONLY plays on domain2.com
Stream name: stream3 -> ONLY plays on domain3.com
Hi again!
It’s working great now, we just added wms-plugin-collection.jar, in the folder: /usr/local/WowzaMediaServer/lib of the EC2 instance.
Then, above module Name: ModuleRTMPAuthenticate this:
Hotlink Denial
Hotlink Denial Module
com.wowza.wms.plugin.collection.module.ModuleHotlinkDenial
and in the properties:
domainLock
localhost,*domain.com
AllowEncoder
FM, Wirecast
It simply reject everyone that tries to embed the link or player somewhere else.
Now, if we want to restrict streams to specific domains, can this be done on the same server without coding?
Thank you rrlanham, that is a good solution but we don’t want to handle IP whitelisting/blacklisting.
Can the Hotlink denial module work per stream name?
So when we add this code, can we associate it only with a specific stream name?
domainLock
localhost,*domain.com <------------ We want this to ONLY work when someone streams from FME etc with the stream name stream1 (so, we don’t want this to work when someone streams from any other stream name other than stream1).
Thank you Richard!
We just wanted to know if there is a way to do this using the simple setup with xml files + module.
Hi
Let us know how you get on and if you are successful in locking a stream to a domain/multiple domains.
Jason