← Blog

Demystifying analytics plugin integrations for video providers

For video providers in today’s fast-moving media ecosystem, the ability to adapt to new developments is crucial. In order to stay relevant and maintain their place in their users’ content streaming habits, they need to constantly be on the frontier of technological developments to optimize their service at least as well as the competition. However, due to the complexity and dynamic nature of the delivery chain, there is often hesitation on the side of video providers to try new providers or incorporate new processes as they fear the integration process will add an unnecessary layer of complexity on an already intricate operations workflow. This article will explain how video providers can painlessly integrate analytics solutions into their workflow, using NPAW’s client-side analytics integrations process as an example to explain exactly how plugins function, highlighting potential concerns, and addressing them one by one.  

Video Analytics Plugins: How Do They Work?

In order to understand exactly how your content is being streamed and experienced by the end user, you need to track different events that can occur during playback. The best way to do this is to integrate with the video player as, whatever happens to your content along the delivery system, what happens in the video player is the end result the user will experience. Like in Google Analytics or the majority of analytics software, the information that you receive is gathered by recording events or actions that occur on the platform you want to analyze, and ‘translating’ them into a format that is applicable and relevant for your business. Here are some of the basic events that a video player reports, and that can be measured from a client-side integration:
  • START (The player requests content)
  • JOIN TIME (The first content frame shown / initial buffer)
  • STOP (The video finishes)
  • PAUSE (The user paused video)
  • RESUME (The user resumed video)
  • SEEK (The user seeked on timeline)
  • BUFFER UNDERRUN (The player rebuffering on playback)
  • ERROR (An error occurred)
  • PING (The playback “heartbeat“ – measured from every 5 to 30 seconds)
  • CUSTOM EVENTS (Configured according to individual business needs)
With these events tracked across every second of a user’s interaction with the player, a video provider can understand how every second of their video content is being experienced, from what is being watched to if there were any errors. Extremely valuable stuff, I’m sure you’ll agree. But before reaching that value, there are a few processes that need to be carried out. Using NPAW’s pre-prepared plugins as an example, this graphic shows the journey the data goes on from player event to analytics dashboard:

NPAW’s video analytics plugin integration process

  The ‘plugin’ has two functions. 1 – Capture the event data reported by the video player. 2 – ‘Translate’ this raw data into accurate and intelligible information in real time. The plugin is in fact made up of two separate parts, a Code Library and a Player Adapter.  

Player Adapter and YOUBORA Code Library

The Player Adapter is a key element of this process, as each different video player will have a different way of reporting events – from different event definitions, reported at different times, and so on. What the adapter does is translate each video player’s events into the format that YOUBORA’s library understands, so that the data can be correctly sent along the chain. The Plugin Code Library is a code library that possesses the logic to decide which information is relevant to pass on, and how. It receives the events through the adapter, processes them in order to send them on to the Data Collection API and to the YOUBORA Servers and Video Provider dashboards. There is a specific library for each programming language, but the logic remains the same in all of them. This means that YOUBORA can integrate and measure data from 100% of the video players in the industry, with very little need for new development.  

Metadata and video playback data

As you can see in the above graphic, there is some information passing through the plugin that does not originate from the video player. This could include video provider backend data like User ID, Content Title, Genre, or any other custom data which a video player usually does not have access to. By passing the metadata through the plugin, a video provider can link the backend data they have about their content and user database with the real time video playback data being captured from the player.  

Perceived issues with integration processes

Let’s consider the potential complexities that could arise and impact the integration of your analytics service – and which for some video providers can prevent them from keeping their service up to date. These include:
  • Each player reports the events which happen on the platform in its own way. As a video provider you need to see and understand these events in real time, but in a way that makes sense to your business.
  • New versions of operating systems (OS’s) and browsers are frequently released, which can affect player behavior.
  • For each programming language that a video player could be running on — for example java / kotlin, js, C#, etc. — there is a need for a different code library, a different plugin, and a different adapter.
  • That the integration will take too long to set up, that it will interfere with other elements of the operational workflow, or that it will need excessive maintenance and technical expertise in order to continue sending data in the correct way.
 

The Answer: Simple Code and Effective QA

The answer to all of these doubts can be found in the two sections below. By understanding the exact procedure that goes into setting up and carrying out client-end video session analytics, businesses can dispel unnecessary doubts holding them back from making important innovation-driving decisions.  

Simple Code

The code is simple, and it is separated from any of the code that runs the video player. It doesn’t affect the speed or performance of playback. It only listens and sends, doesn’t interact with anything else. Also, YOUBORA’s plugins do not use any third party code to make sure that there is no unnecessary code involved in the process. If the plugin follows the above-detailed methodology, there will be no problems. Nor does it require excessive training as, once set up, the only maintenance that the plugin will need will be delivered by the Quality Assurance team. The plugin development team always tests the most widely distributed OS’s and browsers on popular devices, so there won’t be any unexpected surprises.  

Quality Assurance for Video Analytics

However, as a conscientious and performance-minded video provider, you cannot permit the possibility of technical failure. A well-implemented QA process (checking the correct integration of the plugin and the correct propagation and sending of the data) is an essential process for any update to your delivery chain. Again, using NPAW’s QA process as an example, for every video analytics plugin integration, the QA team tests every part of the process, from whether the events send in the correct amount of time, to whether the data being reported is in fact accurate, and to identify any problems. If they encounter any irregularities, they quickly find the cause and solve them. QA checks for inconsistencies both when the integration is made and when everything is up and running. This is a high value addition from an analytics standpoint, as the QA process can often flag problems that the video provider has in their delivery chain, not just with their analytics plugin integration.