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)
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.