  Adaptive bitrate streaming (ABR) has been widely adopted to support video
streaming services over heterogeneous devices and varying network conditions.
With ABR, each video content is transcoded into multiple representations in
different bitrates and resolutions. However, video transcoding is computing
intensive, which requires the transcoding service providers to deploy a large
number of servers for transcoding the video contents published by the content
producers. As such, a natural question for the transcoding service provider is
how to provision the computing resource for transcoding the video contents
while maximizing service profit. To address this problem, we design a cloud
video transcoding system by taking the advantage of cloud computing technology
to elastically allocate computing resource. We propose a method for jointly
considering the task scheduling and resource provisioning problem in two
timescales, and formulate the service profit maximization as a two-timescale
stochastic optimization problem. We derive some approximate policies for the
task scheduling and resource provisioning. Based on our proposed methods, we
implement our open source cloud video transcoding system Morph and evaluate its
performance in a real environment. The experiment results demonstrate that our
proposed method can reduce the resource consumption and achieve a higher profit
compared with the baseline schemes.
