March 26, 2013

Notifying on publish and un-publish RTMP Wowza streams

WMSPanel agent works closely with Wowza server so we literally feel its pulse. That's why one of the first features was server offline/online notification. Moving forward we got requests from customers asking for the same for incoming RTMP streams monitoring. Basically people need to know when the stream becomes un-available and get notified about that.

Having been notified about RTMP publish or unpublish event, we can inform a customer about the failure or recover. This kind of events may happen very often, especially if you have thousands of streams. That's why using email is inappropriate in this case.

That's why we implemented this as a push API.

If you want to use the notifications API, the major steps for starting using this are as follows:
  1. Create a processing script on your web site and check its availability.
  2. Add a processing script URL in WMSPanel.
  3. Test the solution.
Having those steps complete, you'll have the script is automatically called each time our agent gets publish or un-publish event from all servers registered in WMSPanel.

Let's go step by step to see what you need to do.

March 25, 2013

Панель управления для Wowza Media Server

Добрый день!

WMSPanel, админская панель для сервера Wowza, делается командой из России. Поэтому когда мы решили сделать поддержку разных локализаций, мы начали именно с русского языка.

Сегодня мы запускаем первую международную версию WMSPanel, на русском. По адресу можете ознакомиться с описанием возможностей по управлению сервером Wowza, построению отчётов и контролю доступа к медиа-ресурсам.

На нашем канале YouTube можете посмотреть скринкасты с освещением основной функциональности панели. Чуть позже туда добавятся новые ролики.

Если есть вопросы - обращайтесь.

Читайте также другие материалы: End user reporting for WowzaRestriction solution for geo, IP range and connections for WowzaPay-per-view for Wowza Media Servergithub accountServer management for WowzaMediaCaster and LiveStreamRecord streams controlStatistics import APINimble HTTP Streamer

March 24, 2013

Improving availability and robustness with DNS failover


WMSPanel gathers data from hundreds of Wowza servers and processes data about hundreds of thousands of streams. So having the service that must be reliable and available 24/7 we improve our robustness all the time.

From the very beginning we use cloud hosting and this allows easily scaling our computing resources in order to make them more reliable. But every virtual cloud hosting is based on some hardware. And we know that every hardware fails sooner or later. So there are several way to dodge it.

We use several virtual servers for each specific part of data processing and storage. As example, we have 2 virtual servers which process sync packets coming from customers' servers. Each virtual server is located at different hardware unit. Thus the load is spread across 2 machines each having 4 CPU cores. So even if the load increases and at the same time one of servers fails at one of the physical hardware units, we'll have enough computing power at different physical instance to handle incoming requests. And we can easily bring up more servers to keep up the processing.

The same applies to UI processing. Each incoming request from your browser goes to load balancer and the is forwarded to either of 2 servers that work as front-end. So regardless of the load and the availability of any of those servers, we always have some entity which will respond when you browse the statistics reports.

All other part of our system are designed the same way to make less points of failure.

There was just one part which did not have its "hot backup". It's a load balancer. If it failed, we would be in deep trouble because every request from either web browser or Wowza agent goes through it.

We decided to use DNS failover based on multiple DNS A records. Those records point at 2 identical load balancers which then normally route the traffic according to its target. WMSPanel has 2 sources of incoming requests: users' browsers (both PC and mobile) and Wowza servers agents.

Let see what happens in case of failure of the load balancer at the primary IP which is set up in DNS record.
  • A browser will just try secondary IP as it should have it in the local DNS cache. So this will work seamlessly for the end user and it's a default behavior for all web browsers. 
  • In the same situation the Wowza agent will work the same way. It will check DNS for secondary IP and send its sync-ups over there. Note that you need to have an agent version at least to handle it correctly.
There may be more than just two DNS records so when we need another balancer, even located in the different data center (e.g., Latin America or Asia), we'll just add a new record there and it will work perfectly.

Read a complete blog post about WMSPanel architecture and design to see how we provide high availability and robustness, with DNS failover being a part of it.

If you haven't yet used our service, don't wait and try it now for 2 weeks free of charge.

March 17, 2013

Screencast for data slices and white label


Yes, we have another screen cast out. This on covers the following features of WMSPanel:
  • Data slices for sharing data for further reporting;
  • White label branded panel with customer domain and logo.

This video does not cover our latest streamed slices yet, please read blog post about how you can track individual streams statistics. You may also specify time zone for a slice.

Read more about WMSPanel streaming reporting.

Did you like the concept? Sign up today for free trial.

Check our YouTube channel for more videos.

Related documentation

Streamed slices for WowzaEnd user reporting for WowzaDaily statisticsHigh precision reportingGeo location reportingDevices and Players report for WowzaBilling customers using daily statsUser permissions managementScreencast for daily statisticsSSL white label panelStatistics import API

March 8, 2013

Advanced MediaCaster and LiveStreamRecord streams control

A number of our customers were requesting an ability to control Wowza streams via single control panel. Most of them are using MediaCaster, so our Wowza control panel must know how to deal with it. And so we made an implementation.

The main abilities of current streams control implementation are:
  • Start, stop and reset streams via MediaCaster;
  • Record streams to files via LiveStreamRecord;
  • Create .stream files;
  • Apply operations to multiple servers;
  • Allow designated end-users to control their streams and cameras;
  • Make transactions log;
  • Use excellent dynamic user experience of WMSPanel.
The best known cases for this feature set are camera streams and transcoder streams control. A lot of people use this to manage ShoutCast relay streams as one of other examples.

Using traditional MediaCaster control requires manual log in to each of the servers which is not always possible due to security restriction. Now you can allow this operation for your clients who can control their streams via your servers.

Controlling camera stream via WMSPanel for Wowza.

This feature set works on all versions of Wowza including 2.x.x, 3.1.x and 3.6.x. For Wowza versions 3.1.2.* and earlier recording feature has some pre-requisites. Read this post to know more.

This feature has 2 sides: administrator set up and end-user control.

March 7, 2013

User permissions management

As our data slices concept is being used by larger number of customers, they face the need for extending user permissions settings for their accounts in WMSPanel.

We have 2 kinds of users.
  • Admins are allowed to install the agent for Wowza server, add it to the panel, define data slices and add users for their customers there. They also are able to manage servers and set up connections restriction.
  • Users are allowed to see a variety of reports just for the slices which they are allowed to see.
An admin may create a new user for a data slice in 2 ways - create as new and assign existing user to a slice.

Entering new user is simple. Being in data slice details page, just type user email and password and then click on "Create user".

Managing users of selected data slice.

Then you can just follow "Edit" link to see and edit full details:

Edit user settings including default data slice and interface language.

Here you see that a user may be assigned to one data slice to browse its reports by default after login. You can also set up default UI language so the person won't have to switch when logging in the first time.
Assigning existing user is even more simple. Click on the "Assign existing user" link to see this dialog:
Assigning an existing user.
Just select a name and click on Assign. After that you can take a look at users list and see that "Data slices" column for this user indicates "2", meaning this one can browse reports from 2 slices.

After he (or she) logs in, the top menu has 2 slices:

User sees 2 slices which he is assigned to.
So now you can create several slices for the same client of yours and let them switch among them to have full picture of their statistics via daily and high-precision reports.

Also notice that you can also define permissions for all users in particular slice. Read this article for more details.

Read more about WMSPanel streaming reporting.

Each slice users also have ability to control DVRs and any other streams via MediaCaster cameras stream control.
You can also allow your users to manage their Wowza servers. This is done via centralized users details and permissions management.

If you haven't got familiar with our reporting capabilities yet, feel free to sign up and try our solution free of charge for 2 weeks.

Related documentation

End user reporting for WowzaUsers details and permissions managementData slices for statisticsStreamed slices for WowzaBilling customers using daily statsWhite label branded panelScreencast for data slices and white labelSSL white label panelStatistics import API