Cloud-Based Video on Demand: Fast, Parallelized VoD Across Multiple Platforms Chen Wang, Abraham Levkoy Providing video-on-demand service to many platforms at the same time is challenging. As smartphones and tablets become more popular, the different video formats and screen resolutions of these devices increase the difficulty of providing video service. There are three ways to handle this problem. The first is to transmit the unaltered videos directly from the provider through network and perform video transcoding on the client side. This uses a lot of bandwidth and forces the client, possibly an embedded system with limited computing power, to do a lot of work. The second way is to store multiple copies of the same video in various formats and resolutions. This can consume large amounts of the provider's storage space. Both methods tax the VoD provider's scarce and expensive resources. The third option is to transcode video on the server side as it is requested. By performing additional computation in the back-end, we may be able to simplify multi-platform support. Transcoding videos on the server side may increase delay and streaming jitter, both of which can deteriorate the user's perception of service quality. However, videos are composed of multiple temporally and spacially independent units, so transcoding displays a high degree of parallelism. This should allow us to exploit the concurrency of multiple processor cores and multiple networked machines to speed up video transcoding sufficiently to perform it on demand. Such a system could help cloud based VoD service providers conserve resources and alleviate network congestion. We wish to determine whether a VoD service with acceptable performance can be built upon an on-demand transcoding using ffmpeg and a MapReduce-like architecture. Since transcoding time cannot be predicted exactly and varies with content, we must produce a model to estimate computation time for video chunks. We can use this model to determine the minimum number of compute nodes needed to serve video with acceptably low jitter and delay. We will then compare our performance to that of an earlier system for SVC videos that uses Hallsh-based mapping and Lateness-First mapping to schedule transcoding jobs on compute nodes. We hope to conclude that our system improves on the performance seen in previous research.