Sei sulla pagina 1di 6

HIMALAYAN SCHOOL OF SCIENCE & TECHNOLOGY

SWAMI RAMA HIMALAYAN UNIVERSITY


Swami Ram Nagar, Jolly Grant, Doiwala, Dehradun

CASE STUDY
ON
Stream Adaptation

Submitted To: Submitted By:

Mrs. Himanshi Aggarwal Name: Riya Yadav


(DD1611303006)
History
Adaptive bit rate over HTTP was created by the DVD Forum at the WG1 Special Streaming group in
October 2002. The group was co-chaired by Toshiba and Phoenix Technologies, The expert group count
with the collaboration of Microsoft, Apple Computer, DTS Inc., Warner Brothers, 20th Century Fox, Digital
Deluxe, Disney, Macromedia and Akamai. The technology was originally called DVDoverIP and was an
integral effort of the DVD ENAV book.[16] The concept came from storing MPEG-1 and MPEG-2 DVD TS
Sectors into small 2KB files, which will be served using an HTTP server to the player. The MPEG-1 segments
provided the lower bandwidth stream, while the MPEG-2 provided a higher bit rate stream. The original
XML schema provided a simple playlist of bit rates, languages and url servers. The first working prototype
was presented to the DVD Forum by Phoenix Technologies at the Harman Kardon Lab in Villingen
Germany.

Implementations
MPEG-DASH
MPEG DASH stands for Dynamic Adaptive Streaming over HTTP. Similar to HDS and HLS, MPEG DASH is a
video delivery technology standard; a method of delivering live streams over the internet in real-time
with the goal of delivering the best quality content with the fewest dropouts and least possible
buffering. Technically, MPEG DASH uses an adaptive file delivery system similar to other media
streaming protocols. First, the video source file itself it split up into pieces, which are duplicated and
encoded at different bit rates. Second, “manifest files” help to identify various chunks of files within
chunks or byte-range requests of a single file. These files are sent across the network and assembled at
the point of viewing in real time.

Adobe HTTP Dynamic Streaming


"HTTP Dynamic streaming is the process of efficiently delivering streaming video to users by dynamically
switching among different streams of varying quality and size during playback. This provides users with
the best possible viewing experience their bandwidth and local computer hardware (CPU) can
support. Another major goal of dynamic streaming is to make this process smooth and seamless to
users, so that if up-scaling or down-scaling the quality of the stream is necessary, it is a smooth and
nearly unnoticeable switch without disrupting the continuous playback."
Apple HTTP Live Streaming
HTTP Live Streaming (HLS) is an HTTP-based media streaming communications protocol implemented
by Apple Inc. as part of QuickTime X and iOS. HLS supports both live and Video on demand content. It
works by breaking down streams or video assets into several small MPEG2-TS files (video chunks) of
varying bit rates and set duration using a stream or file segmenter. One such segmenter
implementation is provided by Apple.The segmenter is also responsible for producing a set of index files
in the M3U8 format which acts as a playlist file for the video chunks. Each playlist pertains to a given
bitrate level, and contains the relative or absolute URLs to the chunks with the relevant bitrate. The
client is then responsible for requesting the appropriate playlist depending on the available bandwidth
Microsoft Smooth Streaming
Smooth Streaming is an IIS Media Services extension that enables adaptive streaming of media to
clients over HTTP.The format specification is based on the ISO base media file format and standardized
by Microsoft as the Protected Interoperable File Format. Microsoft is actively involved
with 3GPP, MPEG and DECE organizations' efforts to standardize adaptive bit-rate HTTP streaming.
Microsoft provides Smooth Streaming Client software development kits for Silverlight and Windows
Phone 7, as well as a Smooth Streaming Porting Kit that can be used for other client operating systems,
such as Apple iOS, Android, and Linux. IIS Media Services 4.0, released in November 2010, introduced a
feature which enables Live Smooth Streaming H.264/AAC videos to be dynamically repackaged into
the Apple HTTP Adaptive Streaming format and delivered to iOS devices without the need for re-
encoding. Microsoft has successfully demonstrated delivery of both live and on-demand 1080p HD
video with Smooth Streaming to Silverlight clients. In 2010, Microsoft also partnered with NVIDIA to
demonstrate live streaming of 1080p stereoscopic 3D video to PCs equipped with NVIDIA 3D
Vision technology.
Adaptive Streaming
“What is adaptive streaming?” This question often leads to answers filled with technical terms like “HLS”,
“MPEG-DASH”, “segments” and “codec“.
Adaptive streaming (also known as adaptive bitrate streaming) is a technology designed to deliver video
to the user in the most efficient way possible and in the highest usable quality for each specific user. To
explain adaptive streaming as simply as possible it is best to start by explaining what adaptive streaming
is NOT. Namely, progressive streaming.

What is progressive video streaming?

A progressive video stream is simply one single video file being streamed over the internet. This type of
file is often an .mp4 but can of course be in many different formats. The progressive video can be
stretched and squashed to fit different screen sizes, but regardless of the device playing it, the video file
will always be the same.

This diagram shows the journey of a progressive video from your server to your visitor.

The main takeaway from this diagram is that the video file is the same, regardless of the device it is played
on. In the diagram, the example video file is 1280 pixels x 720 pixels, and that same file will simply be
squashed or stretched to fit the various screen sizes that it plays on.

The problems with progressive streaming


There are two immediate problems that you will find if you use progressive streaming. The first is quality.
Obviously a video that is only 1280 x 720 will never play at correct quality levels on a screen that is 1920 x
1080px. It will be stretched and you will see pixelation. The second is buffering. (Buffering is what we call
it when the video pauses.) If the users has a poor quality internet connection, and cannot download the
video stream quickly enough, then the video will need to pause, wait for more data, and then start again.
This makes watching a video horrible for the user. This situation is very common, especially on mobile
devices, where the connection can vary greatly depending on the user’s location.

How adaptive streaming solves the problem


Here we start to answer the question “What is adaptive streaming”, and we will approach it by explaining
how it solves each of the two main problems, namely; quality and buffering.
The quality situation is quite simple. Adaptive streaming allows the video provider to create a different
video for each of the screen sizes (or devices) that he or she wishes to target. The diagram below very
simply shows how that works. As you can see, we can stream a specific video file to fit specific screen
sizes, ensuring that the viewer always receives a video that will look good.

The second problem is buffering. Buffering happens when a user is unable to download a video file
quickly enough to keep the video playing. Most videos play at 24 frames per second, so the internet
connection needs to download at least 24 frames every second to avoid buffering. Adaptive streaming
can resolve this situation by “adapting” to the speed of the user’s internet connection.

To explain that in very simple terms, a small video can be downloaded faster than a large video, so if a
user has a slow internet connection, and adaptive video stream will switch to a smaller video files size to
keep the video playing.

Notice in the diagram above that the priority for the user is to avoid buffering, rather than maintaining
quality. A user will be happier to watch a few minutes of lower quality video if their internet speed slows
down for some reason, than to sit and watch a spinning icon until the stream catches up. The term
“bitrate” is often used to describe the speed of the internet connection, which is why adaptive streaming
is also called adaptive bitrate streaming. A fast internet connection has a higher bitrate than a slow
internet connection. Bitrate is literally the rate at which bits of data travel to the users machine.

The real power of adaptive bitrate streaming is that it “adapts”


The next concept to understand is the “adaption”. These settings, and decisions about which video is
best for each specific user can be changed from second to second. This means that as a user’s internet
connection changes, the adaptive stream will switch back and forth between video qualities. How does
this magic happen? This is achieved with the use of segments. Segments are really at the heart of
adaptive streaming.

When a video file is encoded to adaptive format, it is broken up into segments. These are short snippets
of video, often set to 4 seconds long (although they can be longer or shorter). At the end of each 4
second segment, the Player can switch to a different video file if necessary.
Here is an example: Let’s imagine that a child is in the back seat of her parent’s car is watching a
YouTube video on an iPad via a mobile network. The video is streaming at 854 x 480 pixels with no
problems. But then, the road goes down into a valley, and the quality of the mobile networks connection
drops. The data starts flowing more slowly. (Remember that we need to download 24 frames per
second.) If the video was a progressive video, there would be no hope. It would simply stop. But in this

example, the child watches an adaptive video, through an Adaptive Video Player. The Adaptive Player
recognizes that the data is coming to slowly, and reacts to avoid buffering. It switches to a video file that
is small enough to ensure the child’s iPad will receive the required 24 frames per second to continue
playing the video without interruption.

Adaptive streaming is not just for traveling. The internet by it’s very nature is an incredibly complex
network of connections and systems and the performance of these systems are constantly changing.
Adaptive streaming has become a necessary part of delivering video on the internet.
Current uses
Post-production houses, content delivery networks and studios use adaptive bit rate technology in
order to provide consumers with higher quality video using less manpower and fewer resources. The
creation of multiple video outputs, particularly for adaptive bit rate streaming, adds great value to
consumers.[9] If the technology is working properly, the end user or consumer's content should play
back without interruption and potentially go unnoticed. Media companies have been actively using
adaptive bit rate technology for many years now and it has essentially become standard practice for
high-end streaming providers; permitting little buffering when streaming high-resolution feeds (begins
with low-resolution and climbs).

CONCLUSION
In this study, we evaluated the performance of positive state-of-the-art adaptive streaming algorithms
and made a per class comparison, based on network traces for two different throughput profiles.
Additionally, we evaluated the maximum buffer occupancy factor to see how each strategy behaves
for smaller and larger buffers, as different services may target different buffer levels. Our conclusion is
that buffer-based approaches outperform any other class of algorithms in terms of adaptability, yet
they may lack in stability, especially for small buffers, common in live streaming services. His work
provides first guidelines to designers and operators of HAS algorithms for the right algorithmic approach
according to expected network conditions and service requirements. Designing robust HAS algorithms
for high QoE under changing conditions and requirements, without relying on pre-selected designer-
specific parameters or heuristic design, is still a major challenge for research.