1 Introduction1.1 Overview
1.2 Multimedia Streaming and Cloud Computing
1.3 The Essence of this Book
1.4 Characteristics of the Multimedia Streaming Cloud (MSC)
1.4.1 Quality of Experience (QoE) in the MSC Platform
1.4.2 Robustness of the MSC Platform
1.4.3 Function-as-a-Service and Serverless Computing in the MSC Platform
1.5 A Bird-Eye View of the Multimedia Streaming Cloud (MSC)
Platform
References 2 Demystifying Multimedia StreamingWorkflow
2.1 Overview
2.2 Video Streaming Types 2.3 Video Transcoding
2.3.1 Bit Rate
2.3.2 Resolution
2.3.3 Frame Rate
2.3.4 Codec
2.4 Video Delivery
2.4.1 Packaging 2.4.2 Encryption
2.4.3 Streaming Protocols
2.5 Content Delivery Network (CDN)
2.6 Video Playback
2.7 Summary
References
xi xii Contents
3 Multimedia Cloud: Designing a Special-Purpose Cloud platform for
Interactive Multimedia Streaming
3.1 Overview
3.2 Characterizing the Multimedia Streaming Cloud (MSC) Environment
3.2.1 Stakeholders of MSC
3.2.2 Characteristics of Multimedia Streaming Tasks
3.2.3 Uncertainty
3.3 Architecture of the Multimedia Streaming Cloud (MSC) Platform
3.3.1 Object-as-a-Service (OaaS) Abstraction in the MSC Platform 3.3.2 Enabling Object-as-a-Service (OaaS) Abstraction in the MSC Platform
3.3.3 Enabling Live Object Migration
3.3.4 Single Pane of Glass to Objects in MSC 3.4 Summary
References
4 Applications of Multimedia Clouds
4.1 Overview
4.2 Multimedia Streaming Types
4.2.1 On-Demand Multimedia Streaming
4.2.2 Live Multimedia Streaming
4.2.3 Live-to-VOD Streaming
4.2.4 Differences in Processing Live and VOD Streaming
4.3 Basic Services Offered by MSC 4.3.1 Multimedia Content Transcoding
4.3.2 Video Packaging
4.3.3 Analytical Services of Multimedia Streaming
4.4 Advanced Services Offered by MSC
4.4.1 Smart (AI-based) Multimedia Streaming Services
4.4.2 Augmented Reality (AR) and Virtual Reality (VR) Streaming
4.4.3 Holographic Multimedia Streaming
4.4.4 360_ Multimedia Streaming
4.5 Summary
References
5 Computing Infrastructure for Multimedia Streaming Clouds (MSC)
5.1 Overview
5.2 Virtualization Platforms for MSC
5.2.1 Case-Study: Appropriate Virtualization Platform for Multimedia Processing Using FFmpeg
5.3 Heterogeneous Computing for Multimedia Streaming Clouds (MSC)
5.3.1 Heterogeneous Resource Provisioning in MSC
5.3.2 Case-Study: Performance Analysis of Video Transcoding Operations on Heterogeneous Cloud VMs
Contents xiii
5.4 Performance-Cost Trade-Off of Multimedia Processing on Heterogeneous Cloud VMs
5.4.1 Modeling Performance versus Cost Trade-Off of Transcoding Tasks on Heterogeneous VMs
5.4.2 Case Study of the Cost Performance Trade-Off Model
5.5 Scheduling of Multimedia Segments on Heterogeneous Machines
in MSC 81
5.5.1 QoS-Aware Multimedia Task Scheduler
5.5.2 Self-Configurable Heterogeneous VM Provisioner 5.6 Case-Study: Making use of Heterogeneous Computing in Live-Streaming Industry
5.7 Summary
References
6 Service Reuse in Multimedia Clouds
6.1 Overview
6.2 Is Function Aggregation (Merging) Beneficial? A Case-Study on Video Transcoding
6.2.1 Introducing Video Benchmark Dataset
6.2.2 Case-Study: Benchmarking Execution-Time of Video Transcoding Tasks
6.2.3 Analyzing the Impact of Merging Video Tasks
6.3 Predicting the Execution-Time Saving of Aggregating Functions
6.3.1 A