Last summer was special for Qualabs, as it had the opportunity to sponsor the first Summer Camp designed BY and FOR video developers. This event focused on the creation of Open Source projects, promoting collaboration and teamwork among participants from different parts of the world, including developers from abroad and members of the Qualabs team.
It was an unforgettable experience that helped fuel the growth of the video developer community.
Will Law, as one of the creators of the CMCD standard, suggested creating a validator when he detected the need. From Qualabs, we wanted to respond to this need with an open source tool in a collaborative way. How can this impact the video industry, and why do we believe the creation of a CMCD validator adds value?
Develop an easy-to-use CMCD validation library that provides accurate results. The goal was to provide a tool that would simplify the adoption of the CMCD standard for video developers, allowing them to validate CMCD parameters efficiently and reliably.
Requirements:
Simplify the adoption of the CMCD standard:
The CMCD standard is complex and can be confusing for video developers. A tool needed to be created to help developers easily understand and validate the CMCD parameters, removing roadblocks and accelerating adoption of the standard.
Improve the quality and consistency of CMCD parameters:
Manually validating CMCD parameters in every video player implementation can be error-prone and time-consuming. Therefore, the aim is to provide an automated and reliable solution that ensures the quality and consistency of CMCD parameters used in video players.
Identify and resolve real-time CMCD-related issues:
Creating a demo application that validates real-time requests from popular video players such as Shaka, HLS, DASH and Bitmovin will provide developers with an interactive tool to quickly and efficiently identify and resolve CMCD-related issues.
For the development of this project 2 milestones were defined.
1. Publish a CMCD validation library in NPM:
Developing a CMCD validation library for Node.js.
Ensuring that the library can be used by video developers in different scenarios: test scripts, automated test environments or batch analysis of already collected data.
Performing tests to ensure the functionality and reliability of the library, documenting the library and providing clear instructions for its use.
2. Create a simple web validator:
Using the validation library developed in M1 to create a simple web application.
Generating an interactive web page that demonstrates the use of the library in different players.
Implementing the functionality in the web application to parse the CMCD data and display an immediate visual response indicating the presence of errors, missing parameters, additional parameters or code errors.
The solution developed by the team is an open-source NPM library for CMCD validation. This library enables video developers to easily validate CMCD parameters in their test scripts, automated testing environments, or existing data analysis. We provide detailed documentation along with code examples and a step-by-step guide to facilitate the adoption of the library.
Additionally, a simple web application is created using this validation library. The web application allows users to play videos from popular video players such as Shaka, HLS, DASH, and Bitmovin. It provides an immediate visual response regarding the validity of CMCD parameters present in those videos. This helps developers identify and resolve CMCD-related issues in real-time.
During the tool's development, the team made significant contributions to the CMCD standard, leading to upcoming updates. They played a crucial role in identifying and reporting errors in popular video players like Dash and Shaka Player, improving their performance and CMCD compatibility. Additionally, they collaborated with the Bitmovin team to validate CMCD implementation in their video player using our library. The solution effectively integrates CMCD, improving content delivery quality and optimizing performance for a smoother viewing experience.
The project continues to evolve with the development of a comprehensive ETL solution for real-time analysis of CMCD messages. This service handles differents video content formats, including HLS, DASH, Smooth Streaming, with or without CMAF, DRM, and integrated audio/video. The goal is to provide a complete and efficient solution for validating and optimizing CMCD in different video playback environments.
The dedicated video-team working on this project is composed of a Team Leader and video developers.
They are supported by an extended team of Qualabs that helps them in several areas: Delivery, Technology, Client satisfaction and People care.
Delivery Manager: ensures value delivery together with the team, in addition to collaborating with continuous improvement processes.
Tech Manager: in charge of designing, describing and managing the engineering of solutions in relation to specific customer problems.
Client Manager: ensures a better understanding of the client's needs and challenges. Always aligned with the client and the Qualabs culture.
People Ops Manager: accompanies the team in retrospectives and internal team meetings. Assists in the preparation of feedback and encourages team building and cultural alignment.