Cloud-based elastic architecture for distributed video encoding: Evaluating H.265, VP9, and AV1
Areas with social and business impact such as entertainment, healthcare, surveillance, and e-learning would benefit from improvements in video coding and transcoding services. New codecs, such as AV1, are being developed to deal with new demands for high video resolutions with bandwidth constraints and quality requirements. However, these new codecs have high computational requirements and new strategies are needed to accelerate their processing.
Cloud computing offers interesting features such as on-demand resource allocation, multitenancy, elasticity, and resiliency among others. Deploying video coding and transcoding services on these infrastructures is suitable because it allows the adaptation of the resources to the workload, offers high availability, and provides ubiquitous access.
This work proposes a cloud-based distributed architecture, tuned for video coding, that relies on an elastic pool of workers and media servers to provide fault-tolerance. A distributed application is deployed on the top of the architecture to split the video encoding process of a video in several jobs that can be dynamically assigned among the elastic pool of workers. The proposed solution is analyzed in terms of scalability, resource usage, and job distribution varying the number of workers for three well-known video codecs: H.265, VP9, and AV1. Moreover, the quality of the encoded videos has been evaluated for different bit rates and number of frames per job using full reference metrics like: PSNR, MS-SSIM, and VIF. Results show that our solution achieve similar quality and bitrate compared with full video coding while improving the total encoding time, which can decrease more than 90% depending on the encoder and the number of workers.
If you want to know more about this topic, see the original article.