Table of Contents

  1. Getting Started
    1. Installing the Tools
    2. Running the Example Server
    3. Creating Your First Video Stream
    4. Summary
  2. Streaming Video On-Demand
    1. Check Your Input
    2. Processing the Video
    3. Deploying to a Server
    4. Managing Your Media
    5. Validating Your Video Streams
    6. Summary
  3. Live and Uninterrupted
    1. Getting Ready for Live Streaming
    2. Deploying a Live Stream
    3. Playing Video in iOS
    4. Implementing Live Rewind
    5. Summary
  4. Adaptive Streaming
    1. Understanding Adaptive Streaming
    2. Encoding the Variants
    3. Preparing the Video Streams
    4. Creating a Variant Playlist
    5. Tracking Playback Statistics
    6. Summary
  5. More Clients
    1. Playing Video in iOS (AV Foundation)
    2. Creating a Roku application
    3. Playing HLS Video in Android
  6. Enhancing Your Videos
    1. Trick Mode
    2. Mixing It Up
    3. Right on Cue
  7. Security
    1. Streaming Video Securely
    2. Encrypting the Videos
    3. Authenticating Clients
    4. Summary
  8. Accessibility
    1. Understanding Subtitles
    2. Adding Subtitles
    3. Summary
  9. Streaming Video with HLS and Wowza
    1. Installing Wowza
    2. Streaming Video On-Demand
    3. Streaming Live Video
    4. Adaptive Streaming
    5. Summary
Download the full table of contents.

Chapter 1 guides you through the process of installing the tools you’ll need, including how to run the pre-configured Ubuntu virtual machine that comes with the book that you can use if you don’t have access to your own server. The final part of the chapter is a quick-start guide to streaming video with HLS. You’ll learn how to process a video for streaming, then play the resulting video stream in a browser.

Chapter 2 builds on the first chapter and goes into more detail, such as how HLS works, the format of the playlist and the video segments, and so on. It also covers how to configure a server to support HTTP Live Streaming and how to deploy your video streams to a server. Finally, you’ll learn how to validate your video streams.

Chapter 3 focuses on streaming live video with HLS. It discusses the differences between streaming a video on-demand and live video. It will show you how to deploy a live stream to a server and create a simple iOS application to play a live video stream. Finally, you’ll see how to implement live rewind, a feature supported by HLS that enables audiences to replay live video and restart a live broadcast from the beginning.

Chapter 4 begins with an overview of what adaptive streaming is, how it works, and why it’s useful. Next, you’ll learn how to encode your videos to create the variants, and how to create the playlists for adaptive streaming with HLS. The final part of the chapter looks at how to gather some playback statistics. It starts by looking at how to record information such as the number of stalls and the URL of the current playlist, in the context of an iOS application, before moving on to look at how to use the server logs to determine figures like the number of video views and what devices users are watching the videos on.

Chapter 5 is all about how to play HLS video streams on a number of different platforms starting with iOS, then Roku, and finally Android devices.

Chapter 6 looks at some more advanced features of HLS. In “Trick mode”, you’ll learn how to play the video at different speeds. For example, in slow motion or at faster-than-normal speeds. “Mixing It Up” covers how to generate playlists dynamically, which allows us to play sequences of video clips without having to go anywhere near a video editor. In “Right On Cue”, you’ll learn how to add timed metadata to your videos. The example in this section shows you how to add geo-location data to a video stream, then use this data in an iOS application to plot scene locations on a map during video playback.

Chapter 7 is all about security. It begins with an overview of how to stream video securely with HLS and what encryption methods it supports. Next, you’ll learn how to encrypt your videos and configure your web server to support secure video streaming. The remainder of the chapter looks at how to add authentication to clients to play secure video streams. It starts by looking at how to use digest authentication to authenticate an iOS client followed by a Roku example that uses client certificates.

In chapter 8 you’ll learn how HLS supports sub-titles and how to add them to your videos to make them more accessible to a wider audience.

And last, but not least, we’ll take a look at how to stream HLS video using Wowza, a popular streaming media server.