Digital Rights Management and Media Processing in the Cloud - Aggregion Developer Experience
Hello! Every second, the number of interactions between digital subjects and objects in everyday life, education, medicine, the Internet of things, industry, high technology, commerce, entertainment, telecommunications and financial services is growing.
Digital objects: video, webcam, game, e-book, smart home, car, fitness gadget, payment terminal, database, content storage, sensors in agriculture, bank, etc. - all of them interact according to agreements that include participants, terms and subject of interaction.
How to manage these interactions and contracts between countless participants? There was no decision. In this article, the Aggregion team, creating a digital rights management platform, will talk about digital rights issues, the motivation for creating a project, the real needs and architecture of a project that manages millions of entities within the digital law life cycle. Inside the article there are insets with quotes from Nukri Basharuli , the founder of the project, and Denis Bezrukov , the head of development.
Aggregion creates a digital rights management platform that allows you to build and control any complexity schemes for the distribution of digital rights, their conditions and operations on them.
Nukri: I worked in a project with Intel in education, when in one of the schools, along with equipment - school notebooks - the teachers asked me to deliver educational content. We turned to large publishers with a request to sign a license agreement and provide content. It seemed to me that this is a simple task. As a result, the signing of the contract took 1.5 years. This repeatedly exceeded my expectations, suggesting that everyone who is trying to get rights to digital products is faced with such a problem. He formulated a hypothesis that the digital products market needs digital rights processing following the example of Mastercard. They move money, and processing should move digital licenses. So Aggregion appeared.
Aggregion is working on:
Nukri: As previously mentioned, we work with digital copyright holders. They create products: services, software, applications, content, books, videos, etc. These products may consist of digital objects that can be assembled into a product according to copyright (license) agreements. Then these products (objects) can be sent to resellers. To do this, a license agreement works, and these products can be sold in channels in various modifications. Distribution channels for such products can be many, often different. Every day there are new ones. The question is how, on the one hand, to collect copyright holders and their products, and on the other hand to connect many sales channels and at the same time observe complex licensing models for digital objects (products)? For this, Aggregion is created - a single mechanism for controlling the distribution of such products.
Digital rights management projects are already being implemented together with Microsoft, Intel, Disney, Pearson, Vodafone, financial organizations, major retailers, etc.
For example, a solution made for one of Disney's regional branches. In essence, the Aggregion licensing platform allows Disney to license and securely sell its digital content through various distribution channels and numerous distributors, while maintaining full control.
What is the essence of this system? We include both the text and the picture:
Technique
The team designed the architecture of the solution immediately in the cloud, but the solution can be used only in limited hybrid mode.
Below is the visually life cycle of the entire request from loading a document to issuing a protected document to the user.
It all starts with saving user files. Users can quickly and reliably watch them on client devices. For this - Azure Blob Storage. Aggregion provides the ability to use Aggregion internal storage (Azure Blob Storage + CDN), and gives customers the ability to connect their own Azure Blob Storage to Aggregion - just enter your credentials. The process of downloading content is as follows:
Did you notice the material protection block? This is a lot of tasks, therefore several services perform them. For streaming and protecting video content - Azure Media Services. Unfortunately, the conditions of the Aggregion tasks do not allow using the video encoding service provided by AMS, however, we achieved excellent results using virtual machines with a GPU in Azure. Video uploaded by the client is processed on N-series virtual machines using hardware acceleration using the NVIDIA Tesla M60. Aggregion managed to achieve a video encoding speed of more than 10 times the encoding speed on the CPU.
Denis Bezrukov, development manager: The original video is divided into several audio tracks for different languages, subtitle tracks are extracted, the original video track is encoded with different resolutions and bitrate to support adaptive playback. To do this, we use the ffmpeg utility compiled with support for the h264_nvenc and cuvid modules. The decoding of the original video track is carried out by means of GPU if the original stream is encoded using a codec supported by the video card and using the supported color profile. Otherwise, decoding is carried out by means of the CPU. Coding in all cases is carried out by means of GPU. Provided that the original video is encoded with the parameters supported by the video card, it has a resolution of 1080p, The speed of the complete process of simultaneous encoding in 320p, 480p, 720p and 1080p resolutions is, on average, 15-20x. In the case of using the GPU only for encoding, the speed is, on average, 2-3x. A similar process without using a GPU shows a speed of 0.2-0.3x. Thus, we achieved a video encoding speed of at least 10 times higher than when using a CPU. Despite the fact that virtual machines with an N-series with a GPU are more expensive than conventional virtual machines, because of the high encoding speed on them, we end up spending significantly less money. Thus, we achieved a video encoding speed of at least 10 times higher than when using a CPU. Despite the fact that virtual machines with an N-series with a GPU are more expensive than conventional virtual machines, because of the high encoding speed on them, we end up spending significantly less money. Thus, we achieved a video encoding speed of at least 10 times higher than when using a CPU. Despite the fact that virtual machines with an N-series with a GPU are more expensive than conventional virtual machines, because of the high encoding speed on them, we end up spending significantly less money.
The life cycle of video content is as follows:
Licenses are managed using Microsoft Azure RMS (Right Management Services). Rights to a document hosted on Aggregion can be distributed using any available license management tools on Aggregion and are ultimately assigned to the document using the Params RMS service in the cloud.
Nukri: users of our system are divided into 2 types: Publishers and Consumers. Publishers upload various types of content to the system, manage licensing rights, and build dealer chains. Users consume content: download and read e-books, watch videos, use online resources. When a publisher uploads content to the system, it is pre-processed: the video is transcoded for adaptive streaming, e-books are encrypted with our own DRM.
When loading content, the main application places the job for encoders in the RabbitMQ queue. The task contains all the necessary information so that the encoder instance can process the content and upload it to the repository, or publish the Asset to Azure Media Services.
That's the whole system. The system withstood the load of hundreds of millions of simultaneous users. Where so much?
Nukri: in the system there are a huge number of digital law objects on the one hand, and on the other hand more than 100 million virtual users who solve different tasks of working with these rights of these objects - create, modify, distribute, use - work with single objects or groups . The rights of digital objects, as a rule, consist of dozens, sometimes hundreds of parameters. You can imagine the scope of such a task. And that was a year ago. Today, the volume of digital rights managed by our platform has grown many times, given the current pace of cooperation with copyright holders, I can assume that in a few times the number of digital objects under management will amount to billions.
Instead of a conclusion
The main tasks of Aggregion are to implement rights management projects in all the most interesting industries, of which there are 27, and connect the largest copyright holders to the platform. We did not expect such a high interest in the platform from the world's largest copyright holders. Each of them posed a difficult task for us.
The most important plus from using Azure is customer data security. In no other cloud are there so many ready-to-use products and at the same time, upgraded from our largest customers.
Digital objects: video, webcam, game, e-book, smart home, car, fitness gadget, payment terminal, database, content storage, sensors in agriculture, bank, etc. - all of them interact according to agreements that include participants, terms and subject of interaction.
How to manage these interactions and contracts between countless participants? There was no decision. In this article, the Aggregion team, creating a digital rights management platform, will talk about digital rights issues, the motivation for creating a project, the real needs and architecture of a project that manages millions of entities within the digital law life cycle. Inside the article there are insets with quotes from Nukri Basharuli , the founder of the project, and Denis Bezrukov , the head of development.
Aggregion creates a digital rights management platform that allows you to build and control any complexity schemes for the distribution of digital rights, their conditions and operations on them.
Nukri: I worked in a project with Intel in education, when in one of the schools, along with equipment - school notebooks - the teachers asked me to deliver educational content. We turned to large publishers with a request to sign a license agreement and provide content. It seemed to me that this is a simple task. As a result, the signing of the contract took 1.5 years. This repeatedly exceeded my expectations, suggesting that everyone who is trying to get rights to digital products is faced with such a problem. He formulated a hypothesis that the digital products market needs digital rights processing following the example of Mastercard. They move money, and processing should move digital licenses. So Aggregion appeared.
Aggregion is working on:
- Digital rights management system,
- Digital Rights Billing and Limit Management,
- Integration adapters to related solutions.
Nukri: As previously mentioned, we work with digital copyright holders. They create products: services, software, applications, content, books, videos, etc. These products may consist of digital objects that can be assembled into a product according to copyright (license) agreements. Then these products (objects) can be sent to resellers. To do this, a license agreement works, and these products can be sold in channels in various modifications. Distribution channels for such products can be many, often different. Every day there are new ones. The question is how, on the one hand, to collect copyright holders and their products, and on the other hand to connect many sales channels and at the same time observe complex licensing models for digital objects (products)? For this, Aggregion is created - a single mechanism for controlling the distribution of such products.
Digital rights management projects are already being implemented together with Microsoft, Intel, Disney, Pearson, Vodafone, financial organizations, major retailers, etc.
For example, a solution made for one of Disney's regional branches. In essence, the Aggregion licensing platform allows Disney to license and securely sell its digital content through various distribution channels and numerous distributors, while maintaining full control.
What is the essence of this system? We include both the text and the picture:
- Azure services that allow you to quickly download content, convert it to the desired format and ensure uninterrupted transmission to the user's device. Mostly here is Azure Storage, Blobs.
- A single catalog in which a large number of different products are aggregated. At first it was just a catalog, now we plan to release integration with Azure Machine Learning, so that you can automatically build catalogs and descriptions for digital objects of any type, which should reduce the manual work of copyright holders.
- For each product, a licensing model is built , including hundreds of licensing parameters that describe the rules for using the product from the DRM scheme to geo-targeting.
- Billing and limit management is a separate module to automatically calculate all the participants of the distribution channel and control the limits for operations with content.
- Integration adapters to related systems : content players, security systems, Smart TV, trading floors, POS-terminals, etc.
Technique
The team designed the architecture of the solution immediately in the cloud, but the solution can be used only in limited hybrid mode.
Below is the visually life cycle of the entire request from loading a document to issuing a protected document to the user.
It all starts with saving user files. Users can quickly and reliably watch them on client devices. For this - Azure Blob Storage. Aggregion provides the ability to use Aggregion internal storage (Azure Blob Storage + CDN), and gives customers the ability to connect their own Azure Blob Storage to Aggregion - just enter your credentials. The process of downloading content is as follows:
Did you notice the material protection block? This is a lot of tasks, therefore several services perform them. For streaming and protecting video content - Azure Media Services. Unfortunately, the conditions of the Aggregion tasks do not allow using the video encoding service provided by AMS, however, we achieved excellent results using virtual machines with a GPU in Azure. Video uploaded by the client is processed on N-series virtual machines using hardware acceleration using the NVIDIA Tesla M60. Aggregion managed to achieve a video encoding speed of more than 10 times the encoding speed on the CPU.
Denis Bezrukov, development manager: The original video is divided into several audio tracks for different languages, subtitle tracks are extracted, the original video track is encoded with different resolutions and bitrate to support adaptive playback. To do this, we use the ffmpeg utility compiled with support for the h264_nvenc and cuvid modules. The decoding of the original video track is carried out by means of GPU if the original stream is encoded using a codec supported by the video card and using the supported color profile. Otherwise, decoding is carried out by means of the CPU. Coding in all cases is carried out by means of GPU. Provided that the original video is encoded with the parameters supported by the video card, it has a resolution of 1080p, The speed of the complete process of simultaneous encoding in 320p, 480p, 720p and 1080p resolutions is, on average, 15-20x. In the case of using the GPU only for encoding, the speed is, on average, 2-3x. A similar process without using a GPU shows a speed of 0.2-0.3x. Thus, we achieved a video encoding speed of at least 10 times higher than when using a CPU. Despite the fact that virtual machines with an N-series with a GPU are more expensive than conventional virtual machines, because of the high encoding speed on them, we end up spending significantly less money. Thus, we achieved a video encoding speed of at least 10 times higher than when using a CPU. Despite the fact that virtual machines with an N-series with a GPU are more expensive than conventional virtual machines, because of the high encoding speed on them, we end up spending significantly less money. Thus, we achieved a video encoding speed of at least 10 times higher than when using a CPU. Despite the fact that virtual machines with an N-series with a GPU are more expensive than conventional virtual machines, because of the high encoding speed on them, we end up spending significantly less money.
The life cycle of video content is as follows:
Licenses are managed using Microsoft Azure RMS (Right Management Services). Rights to a document hosted on Aggregion can be distributed using any available license management tools on Aggregion and are ultimately assigned to the document using the Params RMS service in the cloud.
Nukri: users of our system are divided into 2 types: Publishers and Consumers. Publishers upload various types of content to the system, manage licensing rights, and build dealer chains. Users consume content: download and read e-books, watch videos, use online resources. When a publisher uploads content to the system, it is pre-processed: the video is transcoded for adaptive streaming, e-books are encrypted with our own DRM.
When loading content, the main application places the job for encoders in the RabbitMQ queue. The task contains all the necessary information so that the encoder instance can process the content and upload it to the repository, or publish the Asset to Azure Media Services.
That's the whole system. The system withstood the load of hundreds of millions of simultaneous users. Where so much?
Nukri: in the system there are a huge number of digital law objects on the one hand, and on the other hand more than 100 million virtual users who solve different tasks of working with these rights of these objects - create, modify, distribute, use - work with single objects or groups . The rights of digital objects, as a rule, consist of dozens, sometimes hundreds of parameters. You can imagine the scope of such a task. And that was a year ago. Today, the volume of digital rights managed by our platform has grown many times, given the current pace of cooperation with copyright holders, I can assume that in a few times the number of digital objects under management will amount to billions.
Instead of a conclusion
The main tasks of Aggregion are to implement rights management projects in all the most interesting industries, of which there are 27, and connect the largest copyright holders to the platform. We did not expect such a high interest in the platform from the world's largest copyright holders. Each of them posed a difficult task for us.
The most important plus from using Azure is customer data security. In no other cloud are there so many ready-to-use products and at the same time, upgraded from our largest customers.