Stride: Distributed Video Transcoding in Spark

On one hand, since the introduction of UHD (ultra-high definition) videos, e.g., 4K and 8K videos, it is becoming more resource and time intensive to transcode videos. On the other hand, the increasing demand for video streaming implies more videos need to be transcoded. These two facts motivate the need for techniques to speedup coding and transcoding time. In this paper, we propose Stride, the first distributed video transcoding system that leverages the Apache Spark big data platform. The design of Stride is transcoder agnostic, meaning it can adopt any transcoder implementation (e.g., FFMPEG) without any modification. We provide an experimental characterization of the impact of video transcoding and Spark configuration parameters to identify the optimal settings. We also compare Stride with competing approaches. Our results show that Stride achieves 3.27 times speedup when the computing power (i.e., the number of vCPUs in a cloud) is increased by a factor of 4, which is significantly higher than the other alternatives we explore. In particular, Spark's dynamic task scheduler allows Stride to reduce transcoding time by 19.86% compared to an implementation without Spark. Our benchmark study suggests that Stride can support transcoding from 4K to 1080p (full HD) at a rate matching the video bitrate using approximately only 24 virtual cores.

[1]  Zhou Lei,et al.  Distributed video transcoding based on MapReduce , 2014, 2014 IEEE/ACIS 13th International Conference on Computer and Information Science (ICIS).

[2]  Jie Wang,et al.  Efficient algorithms for HEVC bitrate transcoding , 2016, Multimedia Tools and Applications.

[3]  Gary J. Sullivan,et al.  Overview of the High Efficiency Video Coding (HEVC) Standard , 2012, IEEE Transactions on Circuits and Systems for Video Technology.

[4]  Mea Wang,et al.  Dependency-aware distributed video transcoding in the cloud , 2015, 2015 IEEE 40th Conference on Local Computer Networks (LCN).

[5]  Yonggang Wen,et al.  Cost optimal video transcoding in media cloud: Insights from user viewing pattern , 2014, 2014 IEEE International Conference on Multimedia and Expo (ICME).

[6]  Namgi Kim,et al.  MapReduce-Based Distributed Video Encoding Using Content-Aware Video Segmentation and Scheduling , 2016, IEEE Access.

[7]  Antti Hallapuro,et al.  Comparative Rate-Distortion-Complexity Analysis of HEVC and AVC Video Codecs , 2012, IEEE Transactions on Circuits and Systems for Video Technology.

[8]  Abbes Amira,et al.  Quality of experience evaluation of H.265/MPEG-HEVC and VP9 comparison efficiency , 2014, 2014 26th International Conference on Microelectronics (ICM).

[9]  Rajitha Weerakkody,et al.  HEVC subjective video quality test results , 2014 .

[10]  Marcos Dias de Assunção,et al.  Apache Spark , 2019, Encyclopedia of Big Data Technologies.

[11]  Ju Liu,et al.  Motion-Homogeneous-Based Fast Transcoding Method From H.264/AVC to HEVC , 2017, IEEE Transactions on Multimedia.

[12]  Yonggang Wen,et al.  Morph: A Fast and Scalable Cloud Transcoding System , 2016, ACM Multimedia.

[13]  Myoungjin Kim,et al.  Towards Efficient Design and Implementation of a Hadoop-based Distributed Video Transcoding System in Cloud Computing Environment , 2013 .

[14]  Helen D. Karatza,et al.  Performance evaluation of cloud-based log file analysis with Apache Hadoop and Apache Spark , 2017, J. Syst. Softw..

[15]  Mou Ling Dennis Wong,et al.  Distributed video transcoding on a heterogeneous computing platform , 2016, 2016 IEEE Asia Pacific Conference on Circuits and Systems (APCCAS).

[16]  Reynold Xin,et al.  Apache Spark , 2016 .

[17]  Yan Zhang,et al.  Fast inter-prediction mode decision algorithm for HEVC , 2015, ICSON.

[18]  Jiangtao Wen,et al.  Efficient Software H.264/AVC to HEVC Transcoding on Distributed Multicore Processors , 2015, IEEE Transactions on Circuits and Systems for Video Technology.