In our HPCC laboratory, my student Xiangbo Li and I, have recently developed the meta-GOP, a tool that can provide researchers in Cloud and Distributed computing with realistic workload data. Before explaining the tool, I need to describe our current research project a little bit.
Video content, either in form of on-demand streaming (e.g., YouTube or Netflix) or live-streaming (e.g., Livestream), needs to be converted based on the characteristics of the clients devices. That is, the original video has to be converted to a supported resolution, frame rate, video codec, and network bandwidth of the clients devices. The conversion is termed video transcoding, which is a computationally heavy and time-consuming process. A Video stream consists of several sequences. Each sequence is divided into multiple Group Of Pictures (GOP) with sequence header information at front. GOP is essentially a sequence of frames beginning with an
I (intra) frame, followed by a number of P (predicted) frames or B (be-directional predicted) frames. To transcode a video format to another (e.g., to another spatial resolution), each GOP should be processed independently.
Our current research is on how to execute video stream transcoding on Cloud virtual Machines (VMs). More specifically, in the HPCC lab at University of Louisiana Lafayette, we are currently researching on how to optimally schedule GOPs on Cloud VMs. We utilize Cloudsim tool to simulate the Cloud infrastructure. However, we needed to generate realistic transcoding processing information to construct our workload. Therefore, we developed a tool that receives video files in any format as input, performs different types of transcoding operations on the videos at the GOP level, and generates GOP execution information. This information can then simply be fed to Cloudsim for simulation.
The workload information generated by meta-GOP can be useful for people researching on video transcoding and those who work on scheduling independent tasks in any type of parallel or distributed system.
Meta-GOP is open-source and can be downloaded from here. Along with the source code, we provide a Jar file that can be simply imported to your Java project. Then, you can invoke a wide range of transcoding operations for a single video file and produce different types of workload. Finally, we provide a stand-alone Jar file that can be run independently. You can download the runnable Jar file from here. More information about how to utilize each of these files are accessible here.
People who use this tool are expected to cite our initial publication that yielded to generating this tool:
“Xiangbo Li, Mohsen Amini Salehi, Magdi Bayoumi, Cloud-Based Video Streaming for Energy- and Compute-Limited Thin Clients, Presented in Stream2015 Workshop at Indiana University, Indianapolis, USA, Oct. 2015.”