Apple originally developed HTTP Live Streaming to allow content Online PDF : To stream video with HTTP Live Streaming, all you need is a web server. The complete HTTP Live Streaming: A Practical Guide in PDF format; All the code. A Comparison of Apple's HTTP Live Streaming (HLS), Microsoft's Silverlight Smooth. Streaming (MSS) and Adobe's HTTP Dynamic Streaming (HDS) http ://

Http Live Streaming Pdf

Language:English, Portuguese, French
Genre:Children & Youth
Published (Last):07.02.2016
ePub File Size:26.76 MB
PDF File Size:13.44 MB
Distribution:Free* [*Sign up for free]
Uploaded by: VALDA

PDF | Hyper Text Markup Language (HTML) is the main markup language for We produced an implementation of HTTP Live Streaming (HLS) for an IP camera . HTTP Live Streaming (also known as HLS) is an HTTP-based adaptive bitrate streaming .. Print/export. Create a book · Download as PDF · Printable version. Overview of live streaming over HTTP for iPhone. HTTP Live Streaming Overview. PDF Companion File. Table of Contents. Jump To.

This in turn will lead to increased revenue for Fox by increasing the value of their rate card. The Customer: Hurley Hurley is a cutting-edge and trend setting clothing and accessories designer. Hurley is a lifestyle company influenced by surfing, fashion, skating, snow sports, music and art. The Challenge Hurley recently launched their new iPhone application, U.

Implementation of HTTP Live Streaming for an IP Camera using an Open Source Multimedia Converter

Open of Surfing, including tons of longer and higher MB videos. Apple requires that videos be segmented into 10 second chunks with each segment encoded into four different bit rates. And, the lowest bit rate rendition must be audio only with still images.

Hurley is able to leverage the Encoding. Proprietary Segmenter To create the HLS segments, Apple released their media segmenter tool, which breaks up your source content into segments required for HLS delivery segments. Because of this, we developed our own media segmenter tool. V3 — This version, we call tsparser, we built in-house from the ground up to be optimized for our cloud infrastructure. This has significantly less overhead 5.

We use the HE-AACv2 in low bandwidth situations which delivers higher audio quality at lower bitrates. The client software downloads first the index file through a URL and then the several media files available.

The playback software assembles the sequence to allow continued display to the user. Features[ edit ] HTTP Live Streaming provides mechanisms for players to adapt to unreliable network conditions without causing user-visible playback stalling.

For example, on an unreliable wireless network, HLS allows the player to use a lower quality video, thus reducing bandwidth usage.

HLS videos can be made highly available by providing multiple servers for the same video, allowing the player to swap seamlessly if one of the servers fails.

Adaptability[ edit ] To enable a player to adapt to the bandwidth of the network, the original video is encoded in several distinct quality levels. The server serves an index, called a "master playlist", of these encodings , called "variant streams". The player can then choose between the variant streams during playback, changing back and forth seamlessly as network conditions change. Availability[ edit ] The master playlist can list duplicate variant streams that have the same level of quality but are hosted by different servers.

The media segment files are deleted after use -D. Media File Segmenter The mediafilesegmenter command-line tool takes an encoded media file as an input, wraps it in an MPEG-2 transport stream, and produces a series of equal-length files from it, suitable for use in HTTP Live Streaming.

The media file segmenter can also produce index files playlists and decryption keys.

The file segmenter behaves very much like the stream segmenter, but it works on existing files instead of streams coming from an encoder. For details, type man mediafilesegmenter from the terminal window. For details, type man mediastreamvalidator from the terminal window. Variant Playlist Creator The variantplaylistcreator command-line tool creates a master index file, or playlist, listing the index files for alternate streams at different bit rates, using the output of the stream or file segmenter.

The segmenter must be invoked with the -generate-variant-playlist argument to produce the required output for the variant playlist creator. For details, type man variantplaylistcreator from the terminal window. These tags can either be written to a file or inserted into outgoing stream segments. For details, see Adding Metadata page Live sessions can be presented as a complete record of an event, or as a sliding window with a limited time range the user can seek within.

For live sessions, as new media files are created and made available, the index file is updated. The new index file lists the new media files.

Older media files can be removed from the index and discarded, presenting a moving window into a continuous stream this type of session is suitable for continuous broadcasts.

Alternatively, the index can simply add new media files to the existing list this type of session can be easily converted to VOD after the event completes. For VOD sessions, media files are available representing the entire duration of the presentation. The index file is static and contains a complete list of all files created since the beginning of the presentation.

This kind of session allows the client full access to the entire program. It is possible to create a live broadcast of an event that is instantly available for video on demand. This allows clients to join the broadcast late and still see the entire event. It also allows an event to be archived for rebroadcast with no additional time or effort. HTTP Live Streaming offers advantages over progressive download for VOD, such as support for media encryption and dynamic switching between streams of different data rates in response to changing connection speeds.

QuickTime also supports multiple-data-rate movies using progressive download, but QuickTime movies do not support dynamically switching between data rates in mid-movie.

Content Protection Media files containing stream segments may be individually encrypted. When encryption is employed, references to the corresponding key files appear in the index file so that the client can retrieve the keys for decryption.

When a key file is listed in the index file, the key file contains a cipher key that must be used to decrypt subsequent media files listed in the index file. The format of the key file is a packed array of these 16 octets in binary format. The media stream segmenter available from Apple provides encryption and supports three modes for configuring encryption.

The first mode allows you to specify a path to an existing key file on disk. In this mode the segmenter inserts the URL of the existing key file in the index file. It encrypts all media files using this key. The second mode instructs the segmenter to generate a random key file, save it in a specified location, and reference it in the index file.

All media files are encrypted using this randomly generated key. The third mode instructs the segmenter to generate a new random key file every n media segments, save it in a specified location, and reference it in the index file. This mode is referred to as key rotation.

Each group of n files is encrypted using a different key. Note All media files may be encrypted using the same key, or new keys may be required at intervals. The theoretical limit is one key per media file, but because each media key adds a file request and transfer to the overhead for presenting the subsequent media segments, changing to a new key periodically is less likely to impact system performance than changing keys for each segment.

You may also choose to protect the delivery of the key files using your own session-based authentication scheme.

Key files require an initialization vector IV to decode encrypted media. The IVs can be changed periodically, just as the keys can.

It may also be used to deliver the media segment files and index files, but this is not recommended when scalability is important, since HTTPS requests often bypass web server caches, causing all content requests to be routed through your server and defeating the purpose of edge network distribution systems. For this very reason, however, it is important to make sure that any content delivery network you use understands that the.

Stream Alternates A master index file may reference alternate streams of content. References can be used to support delivery of multiple streams of the same content with varying quality levels for different bandwidths or devices. HTTP Live Streaming supports switching between streams dynamically if the available bandwidth changes.

The client software uses heuristics to determine appropriate times to switch between the alternates. Currently, these heuristics are based on recent trends in measured network throughput. The master index file points to alternate streams of media by including a specially tagged list of other index files, as illustrated in Figure Figure Stream alternates Alternate-A Index file.

The master index file is downloaded only once, but for live broadcasts the alternate index files are reloaded periodically. The first alternate listed in the master index file is the first stream used after that, the client chooses among the alternates by available bandwidth. Note that the client may choose to change to an alternate stream at any time, such as when a mobile device enters or leaves a WiFi hotspot. All alternates should use identical audio to allow smooth transitions among streams.

You can create a set of stream alternates by using the variantplaylistcreator tool and specifying the -generate-variant-playlist option for either the mediafilesegmenter tool or the mediastreamsegmenter tool see Download the Tools page 13 for details. When using stream alternates, it is important to bear the following considerations in mind: The first entry in the variant playlist is played when a user joins the stream and is used as part of a test to determine which stream is most appropriate.

The order of the other entries is irrelevant. Where possible, encode enough variants to provide the best quality stream across a wide range of connection speeds. For example, encode variants at kbps, kbps, kbps, kbps, kbps. When possible, use relative path names in variant playlists and in the individual. Note One way to synchronize different VOD streams is to copy the audio track from one media file and paste it into each of the other media files, after compression but before segmenting.

The video aspect ratio on alternate streams must be exactly the same, but alternates can have different pixel dimensions, as long as they have the same aspect ratio. For example, two stream alternates with the same aspect ratio could have dimensions of x and x If you are an ios app developer, you can query the user s device to determine whether the initial connection is cellular or WiFi and choose an appropriate master index file.

To ensure the user has a good experience when the stream is first played, regardless of the initial network connection, you should have more than one master index file consisting of the same alternate index files but with a different first stream.

A k stream for the cellular variant playlist is recommended. A k or k stream for the Wi-Fi variant playlist is recommended. Video Over Cellular Networks When you send video to a mobile device such as iphone or ipad, the client s Internet connection may move to or from a cellular network at any time. HTTP Live Streaming allows the client to choose among stream alternates dynamically as the network bandwidth changes, providing the best stream as the device moves between cellular and WiFi connections, for example, or between 3G and EDGE connections.

This is a significant advantage over progressive download. It is strongly recommended that you use HTTP Live Streaming to deliver video to all cellular-capable devices, even for video on demand, so that your viewers have the best experience possible under changing conditions.

HTTP Live Streaming Overview

In addition, you should provide cellular-capable clients an alternate stream at 64 Kbps or less for slower data connections. If you cannot provide video of acceptable quality at 64 Kbps or lower, you should provide an audio-only stream, or audio with a still image. A good choice for pixel dimensions when targeting cellular network connections is x for content and x for content see Preparing Media for Delivery to ios-based Devices page Requirements for Apps Warning ios apps submitted for distribution in the App Store must conform to these requirements.

If your app delivers video over cellular networks, and the video exceeds either 10 minutes duration or 5 MB of data in a five minute period, you are required to use HTTP Live Streaming. Progressive download may be used for smaller clips.

If your app uses HTTP Live Streaming over cellular networks, you are required to provide at least one stream at 64 Kbps or lower bandwidth the low-bandwidth stream may be audio-only or audio with a still image. Non-compliant apps may be rejected or removed, at the discretion of Apple. Failover Protection If your playlist contains alternate streams, they can not only operate as bandwidth or device alternates, but as failure fallbacks.

Navigation menu

Starting with ios 3. In the event of an index load failure on one stream, the client chooses the highest bandwidth alternate stream that the network connection supports. If there are multiple alternates at the same bandwidth, the client chooses among them in the order listed in the playlist. You can use this feature to provide redundant streams that will allow media to reach clients even in the event of severe local failures, such as a server crashing or a content distributor node going down.

To implement failover protection, create a stream or multiple alternate bandwidth streams and generate a playlist file as you normally would. Then create a parallel stream, or set of streams, on a separate server or content distribution service.

Add the list of backup streams to the playlist file, so that the backup stream at each bandwidth is listed after the primary stream. You are not limited to a single backup stream set. Similarly, you need not provide a complete parallel set of streams.The authentication domain for the key files must be the same as the authentication domain for the first playlist file. The trade-off is that a longer index file adds to network overhead during live broadcasts, the clients are all refreshing the index file regularly, so it does add up, even though the index file is typically small.

Features[ edit ] HTTP Live Streaming provides mechanisms for players to adapt to unreliable network conditions without causing user-visible playback stalling. If you are an ios app developer, you can query the user s device to determine whether the initial connection is cellular or WiFi and choose an appropriate master index file. Distribution Components The distribution system is a web server or a web caching system that delivers the media files and index files to the client over HTTP.

The server serves an index, called a "master playlist", of these encodings , called "variant streams". Non-compliant apps may be rejected or removed, at the discretion of Apple.

DENISE from Fort Worth
Look through my other posts. One of my extra-curricular activities is wine making. I enjoy sharing PDF docs hungrily.