Some businesses want to control their streaming process on per-user and per-stream level in addition to general protection methods like hot-link protection or geo restriction limitation. This is required especially for pay-per-view (PPV) systems where viewers pay for accessing the media.
WMSPanel provides a framework for Wowza which allows collecting detailed data for all connection and making decision to allow or deny each connecting user. This may be used for pay-per-view and pay-per-minute logic, calculating each user simultaneous connections, stats for unique visitors and much more.
These are the steps for a customer to integrate those capabilities into customer's workflow:
WMSPanel uses
push API.
The agent sends requests to customer's handler. This handler must be accessible via HTTP/HTTPS and it must be able to accept POST requests. Those requests may be formed via either
JSON or XML,
this can be set up in WMSPanel settings.
Handler needs to do a few things:
Please check a very simple basic example for PHP. It just takes incoming request, logs it and returns a couple of IDs to be blocked. You should take a look at full JSON agent request example. and a handler response sample as well.
Now we need to set up a link between the agent and the handler. Select
Control / API setup
menu and select
Push API tab
which is the one we are going to use now.
Define the following:
In order for agent to start sending requests, some changes must be made on your web server side.Media URL needs to be modified to include special hash, or signature, that would contain required information.
For example, you have this URL for your live stream:
http://ec2-test-ip.compute.amazonaws.com:1935/live/Stream1/playlist.m3u8
The modified URL would be:
http://ec2-test-ip.compute.amazonaws.com:1935/live/Stream1/playlist.m3u8?wmsAuthSign=c2VydmVyX3RpbWU9NS80LzIwMTIgODozMzowNSBBTSZoYXNoX3ZhbHVlPXE3MjN6aEVmdGFUOUJoWjBQTmw1TVE9PSZ2YWxpZG1pbnV0ZXM9MjA2
To generate signature you need to modify your front-end source to include code snippet.
Click here to see the sample code.
You can find all samples in WMSPanel github repository and adapt them for your use case.
Two important things must be specified here:
To define restriction settings on server side, the agent must be notified about it. The set up is made via WMSAuth feature set.
In WMSAuth, every restriction may be applied to a group of servers. So the first thing to do is to create a group and assign one or more Wowza servers to it. Check this screenshot for details.
Within a group, there may be several rules, each working with its
set of Wowza entities.
Just click on "Add rule" to enter rule creation page.
See how you can specify Wowza
vHost, application, instance or stream
regular expression on the screenshot below.
Now you need to specify
a key, or password,
which was inserted into the media signature on web server side in section "Make media signature" above.
After you save the rule, it will be applied to the server within a few seconds.
The debugging handler and interface allows receiving data from servers and viewing results via your browser. Use it to see what requests will come from your server instances to your own handler.
Now when the chain is set up you will be receiving updates on current streaming status. As response you can send back the blocked IDs list.
Wowza agent will send requests and receive responses for pay-per-view framework regardless of WMSPanel availability. If your server can't connect to WMSPanel for some reason, this functionality will still work perfectly. Once the handler settings are set up, the control panel is not used anymore.
Check the FAQ. Please also check company forum to see common questions and answers from other companies.
Additionally you can find useful The Paranoid’s Guide to Internet Video Streaming by Thomas Gires to see real-life example of using Nimble Streamer pay-per-view feature set for HLS re-streaming via light-weight edge. You can use both Nimble Streamer and Wowza to work in a single efficient infrastructure to deliver HLS, SmoothStreaming and progressive download.
You may also set this functionality working with geo-location and IP ranges restriction and connections and bandwidth limitation.
Pay-per-view framework is also
available in Nimble Streamer.
Nimble Streamer
is a light-weight freeware
media server for RTMP, HLS
and other protocols. You can use it as efficient edge and origin server for live and VOD streaming.
Read this instruction
to see how to use it there.
This website or its third-party tools use cookies, which are necessary to its functioning
and required to achieve the purposes illustrated in the
Privacy Policy.
If you want to know more or withdraw your consent to all or some of the cookies, please
refer to the
Privacy Policy.
By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise,
you agree to the use of cookies.