Upload
tiuste
View
223
Download
0
Embed Size (px)
Citation preview
8/6/2019 Video Over Internet
1/15
1
Abstract Media streaming is an interesting concept that
requires certain components to be successful. This project is a
critical review of the paper Streaming Video over the Internet:
Approaches and Directions. There are certain factors that must
be considered when tackling streaming media including
compression, quality of service, storage, synchronization,
protocol, and distribution services. Streaming media has seen
significant changes over the years. Streaming and viewing media
has become popularized over the last decade because of easy to
use services and programs to accomplish streaming media.
Various applications for streaming media are reviewed and
tested to compare features and abilities. The future of streamingmedia will continue to grow as it has in the past years, so many
areas of media streaming must continue to improve to support
faster, more efficient, and higher quality streaming.
Index Terms Streaming video, Internet, Video compression,
Streaming server, Transport protocols
I. INTRODUCTIONhe internet has always encouraged the idea of putting
real-time multimedia up where anyone can view it.
There are different ways of getting media from one userto another across the Internet including full file
download and media streaming. Media streaming is very
important as it offers a method for immediate viewing
and does not have the significant transfer time that can
be experienced by a full download. The chosen paper
focuses on the ways in which streaming media can be
accomplished.
There are many programs available to view streaming media.
The different programs have unique features for streaming
media playback. Using one of these programs to view and
stream media is a simple task that can allow streaming using
one of the given protocols.
The six areas that must be touched on when explaining
video streaming are shown in Figure 1. This paper
reviews the six concepts of video compression, quality
of service control, continuous media distribution,
streaming servers, media synchronization, and protocols
for streaming media.
II. REVIEW OF PAPER[1]The following is a summary of the critiqued paper
touching on the important topics covered. The basic
design for media streaming is depicted Figure 1. Raw
media is compressed and saved into a storage device as
audio and video components. The storage device is
located on a server. For the media to pass from the
storage device to the Internet, the media must pass
through certain quality of service controls as well as
transport protocols. While travelling through the
Internet, continuous media distribution services are used.
When the media arrives at the receiver or clients end, it
again goes through transport protocols and quality of
service controls. At this point, the separate streams for
audio and video are passed through audio and video
decoders respectively. After decoding, media
synchronization is used to align the streams to assure
proper playback.
Figure 1 Video Streaming Setup (adapted) [1]
A. Video Compression
One of the main purposes of video compression is to
reduce the bandwidth necessary to transmit video. There
are many approaches and requirements for encoding and
Critical Review of Streaming Video over the
Internet: Approaches and Directions
Patrick Liby
T
8/6/2019 Video Over Internet
2/15
2
decoding media in streaming applications. For the most
part, video compression schemes can be split up into
scalable and non-scalable video coding.
Non-scalable video coding is the more basic process. For
non-scalable coding, raw video is put through some kind
of transform like the discrete cosine transform. The data
is then quantized from continuous values to discretevalues. Next, variable length coding is applied to create a
compressed bit-stream. At this point, all of the encoding
is completed
Figure 2 Non-scalable video encoding process
(adapted) [1]
The decoding process is very similar. The compressed
bit-stream goes through variable length decoding. Then,
an inverse quantization process converts the discrete
system back to a continuous system. Next, the data goesthrough a reverse of the transform implemented in the
encoder.
Figure 3 -Non-scalable video decoding process
(adapted) [1]
Scalable video coding is different from non-scalable
because raw video is compressed into numerous sub-
streams of data. Part of the scalable video code bit-
stream is a base sub-stream that can be decoded alone
for a low quality video. Additional sub-streams are
encoded to enhance the base sub-stream. These sub-
streams must be decoded along with the base stream andimprove video quality.
Scalable coding can create base sub-streams with
reduced quality, image size, or frame rate. For each
scalability factor, raw video is compressed to a base
layer bit stream and enhancement layer bit stream.
Figure 4 SNR-scalable encoding process (adapted) [1]
When only the base layer bit stream is decoded, the
decoded video has the reduced quality, image size, or
frame rate. When the enhancement layer is included, the
top quality video is achieved.
8/6/2019 Video Over Internet
3/15
3
Figure 5 - SNR-scalable decoding process (adapted) [1]
A new scalability factor is proposed called fine
granularity scalability. It is most similar to the SNR
encoder. However, FGS encoders use bit planes in the
coding process, which separates transform data into
planes of bits from most significant to least significant.
The enhancement stream is made up of these bit planes.
This approach allows the FGS encoder to have
continuous rate control over the enhancement stream.
The enhancement stream can include as many or has few
of the bit planes to attain the desired bit rate.
Many factors for video streaming impact the video
compression aspect. The need for a certain quality level
of video that is acceptable for viewing demands a
requirement for a minimum bandwidth. Over the
Internet, this presents an issue, because there is not
support for minimum bandwidths. The Internet also
causes the need for a video streaming application to deal
with congestion, as sometimes there is heavy traffic on a
network. In video compression, this is handled by rate
control, which is more easily done with scalable coding
rather than non-scalable coding.
Another concern for streaming video is delay. Having a
video pause momentarily during playback due to a
packet taking too long to arrive must be overcome. The
most common solution for this is a buffer at the playback
end so that there is a certain amount of video ready to go
in case of a delay in receiving a packet. Packet loss is
another video streaming issue, which can best be
handled by making the video stream tough with a
compression that helps with packet loss. Decoding can
be impacted by the end device for streaming video if
there is a specific requirement, like low power for a
handheld device. To consume less power, a simple
decoding process is necessary.
B. Quality of Service Control
Application-layer QoS control techniques are used to
handle changes in quality of transmission and network
conditions. The main areas of focus that are used are
error control and congestion control. The purpose of
error control is to improve quality when there is lost
data. Mechanisms in place include error concealment,
retransmission, forward error correction, and error
resilient encoding. Congestion control is helpful in
minimizing delays and avoiding packet losses.Application-layer QoS control techniques are used by
the receiving systems and do not need help from the
network to implement the techniques.
The error control mechanisms in use include the
following four types.
Forward error correction is an error control that adds
redundant data called an error-correction code to allow
the receiver to detect and correct errors to some extent.
FEC is very beneficial because retransmission of datacan normally be avoided and a back channel is
unnecessary. The type of FEC implemented can be
categorized into one of three schemes; channel coding,
source coding-based FEC, and joint source/channel
coding. Channel coding involves breaking the video
stream into pieces and creating packets to transmit.
Additional packets are added to each piece in a way that
when transmitted, only the original number of packets
must be successfully obtained in order to perfectly
decode the piece of video. Source coding FEC also
includes redundant data into the transmission. In sourcecoding FEC, a packet contains the data for its current
packet and the redundant compressed version of the data
from the previous packet. The combined source and
channel coding attempts to achieve the best balance of
channel and source coding.
Retransmission is an approach to error control that can
be overlooked since it is possible for the retransmission
8/6/2019 Video Over Internet
4/15
4
time to be inside the maximum delay. In this way,
retransmission can make a reasonable means for error
control, because it is possible for the lost data to be
retransmitted before its intended display time.
Error-resilient encoding improves the strength of
compressed video over packet loss. Basic schemes
include data partitioning, data recovery, andresynchronization marking. These are not quite as
applicable to video streaming on the Internet, because
the medium is not as susceptible to error. In the Internet
video-streaming realm, a less standardized error-resilient
tool like multiple description coding is more promising.
MDC breaks a raw video into many streams of data
called descriptions, which provide acceptable quality on
their own and better quality when combined. The benefit
of MDC is that it is strong against loss because even if
descriptions get lost, it only needs one to have a
minimum quality video. The other benefit is that it hasenhanced quality for each additional description that is
received. The down side of MDC is that each description
must contain a certain extent of information about the
original video signal. This means that the amount of
attainable compression is less. Each description must
also have data to combine any of the other descriptions,
which also impacts the amount of compression. A trade
off of compression efficiency and reconstruction quality
must be determined when using multiple description
coding.
The receiving end uses error concealment when there
has been a loss. Its purpose is to cover up packet losses
and make the remaining data more appealing to the
viewer. Error concealment can use either spatial or
temporal interpolation. Spatial interpolation recreates
missing pixel data by using the data of the surrounding
pixels to determine the most suitable values. Temporal
interpolation reconstructs missing pixel data by using the
data for that pixel in the previous frames. Spatial
interpolation is more common for intra-coded frames,
while temporal interpolation is more popular for inter-coded frames. Some proposed error concealment
techniques have been put include maximally smooth
recovery, projection onto convex sets, and motion
compensated temporal prediction.
Congestion control is necessary when bursting loss and
excessive delay occurs in a video stream due to network
congestion. Congestion control can help to minimize
packet loss and delay. The most common congestion
control for video streaming is rate control, which tries to
reduce congestion by matching the video stream rate to
the currently usable network bandwidth.
There are three types of rate control schemes: source-
based, receiver-based, and hybrid rate control. Source-
based rate control makes the transmitting endresponsible for changing the video transmission rate.
The sender uses feedback about the network to regulate
the video stream rate. Source-based rate control can be
used for unicast and multicast. Unicast video uses probe-
based and model-based approaches to rate control.
Probe-based rate control probes the network to
determine the available bandwidth by varying the
sending rate. Model-based rate control uses a model of
the TCP connection including the throughput, packet
size, round trip time, and packet loss ratio of the
connection. The model determines the sending rate forthe stream; therefore, the connection can avoid
congestion just like the TCP. Multicast video has the
transmitter use one channel to send the video, which is
called single channel multicast. Only probe-based rate
control may be used with single channel multicast. It is
less flexible in supplying services of receivers with
varying needs, but is more efficient due to all receivers
being on the same channel. Multicast video on separate
unicast video streams would be less efficient but would
offer more flexibility in services available.
Receive-based rate control allows the receiving end to
determine the receiving rate of the video stream by
varying the number of channels without send
involvement in rate control. Receiver-based rate control
uses the same control mechanisms of probe-based and
model-based control. Probe-based rate control probes the
bandwidth by joining additional channels and checking
the impact on congestion. If congestion is detected, a
layer is dropped. The model-based control approach uses
similar characteristics as the source-based model
approach to explicitly estimate the available bandwidth.Hybrid rate control has the receivers adjust the receiving
rate by adjusting the number of channels and the senders
change the transmission rate on each channel using
information from the receivers. A layered multicast
scheme is a form of hybrid rate control.
Rate shaping is an attempt to equalize the raw video bit-
stream and the target rate constraint. It is necessary in
8/6/2019 Video Over Internet
5/15
5
source-based rate control, since stored video can be pre-
compressed at a different rate from the usable network
bandwidth. Common filters to accomplish the task
include codec, frame-dropping, layer-dropping,
frequency, and re-quantization filters. Codec filters
affect the compression of a stream by using transcoding
between compression schemes. Frame-dropping filters
reduce the data rate by lower the number of frames sentby removing less important frames until a desired rate is
achieved. Frame dropping can be done at the source or
anywhere in the network. Layer-dropping filters discard
layers based on significance. The last layer to be
dropped is the base layer. Frequency filters include low
pass, color reduction, and monochroming.
Monochroming changes an image from color to
grayscale. Frame rate remains the same in frequency
filters; instead it lowers quality to reduce the bandwidth.
Re-quantization filter reduces the rate by de-quantizing
and re-quantizing the data with a larger quantizationstep.
C. Continuous Media Distribution Services
Streaming data is continuous media because it is a
sequence of data that is time sensitive. Continuous
media distribution services are used to improve QoS and
efficiency over the network and Internet from streaming
media. Important areas of continuous media distribution
services include network filtering, application-level
multicast, and content replication.
Network filtering is intended to improve quality during
congestion in the network. While a video server can
filter and adjust stream rates based on the level of
congestion, it may be more beneficial to have filters in
the network that are not going to get as busy as the video
server. Filters placed in a network can go anywhere
along the path from server to client, including placing
more than one filter on a pathway. A filter in the
network takes in client information and varies the data
from the server to meet the needs of the clients.
Figure 6 Filters within a network(adapted) [1]
Filter operation includes, at a minimum, a server, client,
filter, and two channels each from the filter to the server
and client. The control channel is bidirectional, but thedata channel flows only from the server in the direction
of the client. There are the same two channels all of the
way from the server to the client, even if there are
multiple filters along the path. In this system, the client
need only interact with a single host, which is the last
filter on the path to the client. The host (filter) either
passes information along to previous pieces in the path,
or it will accomplish the request from the client. A filter
can acquire data from the previous piece in the path
chain and it can pass data along to the next piece of the
chain or the client.
Figure 7 Network filtering(adapted) [1]
Frame-dropping filters are commonly used as networkfilters, where the receiver can request a different
bandwidth and the filter adjusts the frame-dropping rate.
The determining factor for frame dropping is the packet
loss ratio, which is determined by the receiver and sent
to the filter. If the packet loss ratio is outside of the
threshold boundaries, the receiver requests a new frame-
dropping rate. The benefits of the frame-dropping filter
in the network include better quality higher bandwidth
efficiency.
8/6/2019 Video Over Internet
6/15
6
The filter provides better quality because instead of
packets being corrupted when the network gets
congested, the filter prevents the congestion by dropping
packets in a way that delicately affects quality.
Bandwidth efficiency is improved because late frames
are deleted as soon as they are late, and they do not
continue along the path to the receiver and bog downnetwork resources.
Application-level multicast is an attempt to help with the
Internets inability to accommodate large data transfers
like streaming-media multicast. IP multicast is one
attempt to address this issue, which is able to offer
efficient multipoint packet delivery. This technology is
efficient by transporting only one copy of the original IP
packet on any path in the IP multicast tree. IP multicast
has many issues including scalability, network
management, deployment, and support for higher layerfunctionality. An application-level multicast mechanism
has been suggested to overcome these issues. The
purpose of the application-layer multicast is to establish
a multicast service over the Internet, which would allow
CSPs and ISPs to create Internet multicast networks and
route them into media multicast networks. Basically, in
the same way that the Internet is a huge web of
interconnected networks from peering among ISPs,
media multicast networks can be established through a
web of content-distribution networks from application-
level peering. Media multicast networks are comprisedof nodes that route within the application layer. These
nodes are wired to neighboring nodes, and altogether
perform optimal routing for sending data across the
network. The media multicast network is also
responsible for rerouting data when the network is
congested along a certain path. Bandwidth is conserved
in this method because only one copy of the multicast
data is sent over the pathways. Application-level
multicast is able to overcome the issues of scalability,
network management, and congestion control.
Content replication is essential to increase the scalability
of the media delivery system. It is achieved through
caching and mirroring to put data nearer on the pathway
to clients. Caching and mirroring are advantageous
through lowering bandwidth on the network, lowering
latency, and improving availability. Mirroring is done
when copies of multimedia are placed on other locations
around the Internet. Basically, the original file is on the
server, and backup copies are on duplicate servers. This
improves performance as clients can acquire the file
from the nearest server, original or duplicate. The
downside to mirroring is that it is a complex and
potentially expensive process. Also, scripts and server
setup vary from server to server making the process
difficult. Caching creates local copies of files for clients
to obtain, commonly from a single server, which iscalled the clients cache. The cache works as a gopher
and acquires media from the server and stores it locally
to pass on to the client. Caches are also designed to get
media from other caches when local to reduce the load
on the original server, thereby improving bottleneck
issues. Caching techniques have tended to be generic,
however, in a case like caching even just a few frames
can significantly improve performance. By storing part
of a video stream in cache, strength of the video stream
can be improved over network congestion. The proposal
of cache hints has helped to reduce latency and improvecache hit rate by scheduling data retrieval. There are
content hints and application hints. Content hints deal
with data and delivery method, while application hints
describe data needs of the receiving application. When
multicast is used, hints are able to help decide if and
when multicast channels should be combined and for
how long.
D. Streaming Servers
Streaming servers are an absolute requirement for videostreaming with good quality. Servers are needed to
process data fast enough to prevent video and audio
skips and glitches when the client plays the media across
the Internet. Streaming servers must also be able to
provide stop, pause, rewind, and fast forward playback
options. A streaming server must also be able to
synchronize its components for video, audio, and
anything else like lecture slides.
Streaming servers are commonly made up of three
components: the communicator, the operating system,and the storage system. The communicator works in the
application layer and deals with the transport protocol
used by the server. A client uses the communicator to
talk to the server and obtain streaming videos and media.
The operating system for a streaming server must focus
on the servers ability to provide time sensitive service
and quality performance to its users. The storage system
8/6/2019 Video Over Internet
7/15
7
for the server must be able to continuously store and
fetch media.
A main purpose of the operating system on a computer is
to separate the hardware from the rest of the software
running on the computer. The operating system connects
the CPU, RAM, storage, and I/O devices to software and
each other.
Process management is used to put individual single
processes onto the CPU based on scheduling rules to
allow all processes to be completed. Since continuous
media has certain timing specifications, the operating
system needs to use real-time scheduling. The majority
of ways to rectify real-time scheduling issues come from
two algorithms for media systems. Earliest Deadline
First assigns a deadline for every task and they are
processed based on priority of deadline. Rate-monotonic
assigns each tasks priority based on the tasks requestrate. The higher a tasks rate, and therefore the lower the
period, the higher the priority. Tasks are processed from
highest priority to lowest.
Figure 8 EDF and rate-monotonic scheduler[1]
Earliest Deadline First and Rate-monotonic are both
preemptive with scheduling. An interrupted task resumes
at a later time when the interruption is done. Earliest
Deadline First scheduling uses a single-priority queue
where the processor runs the task with the first deadline.
Rate-monotonic uses a multi-priority queue where the
processor will always work on the highest priority first,
including interrupting a task if one with a higher prioritycomes about. Rate-monotonic scheduling is more likely
to switch tasks than Earliest Deadline First. The Rate-
monotonic schedule boasts that all deadlines can be met
as long as the processor is only 69% utilized. Earliest
Deadline First can achieve 100% utilization of the
processor, but sometimes some tasks are not processed
when the queue is overloaded.
Resource Management must allocate resources such as
the CPU, memory, and storage on the server. Resources
are finite, so the server can only provide a given quality
of service to a certain number of clients at once. The
server must also use admission control to determine if an
additional client will overload the resources and break
performance expectations. If the client is allowed to
connect, the resource manager then assigns properresources to the connection. Admission control
algorithms come in two types: statistical admission
control and deterministic admission control. Statistical
admission control algorithms give the client a statistical
guarantee for requirements like continuity. Deterministic
admission control algorithms create firm guarantees.
Deterministic admission control is a simplified but strict
means of obtaining quality assurance, which makes it
advantageous compared to statistical admission control.
On the other hand, statistical admission control better
uses server resources by taking advantage of humantolerances and server average performance versus
minimum performance. Resource allocation can also be
classified as deterministic or statistical. Deterministic
resource allocation sets aside maximum necessary
resources for a task, regardless of whether those
resources are used all throughout the task. Statistical
resource allocations are able to get higher utilization by
allowing short-term overflows as well as a minimal
quality of service violations.
For file management, the file system is used to accessand control files to store and retrieve. For continuous
media, two schemes can be used for the file systems.
The first scheme organized files on the hard disk the
same way that it is done for discrete data where a file is
in one location on a hard disk. To access in real time,
disk-scheduling algorithms are performed and buffer
capacity is increased enough to prevent skipping in the
media during playback. The other scheme distributes the
storage of media across multiple places. This allows
throughput to be improved by pulling pieces of data
from multiple places at once so that the data does not bottleneck from one storage location to the processor.
Disk scheduling is important for either scheme, but
standard disk-scheduling algorithms have no real time
guarantees. Possible disk-scheduling algorithms for real-
time include SCAN-EDF, grouped sweeping scheduling,
and dynamic circular SCAN. SCAN-EDF uses seek
optimization combined with real-time abilities provided
by Earliest Deadline First. Grouped sweeping scheduling
8/6/2019 Video Over Internet
8/15
8
forms groups out of the video streams, where each
stream in a group has a comparable deadline, and SCAN
is used to determine scheduling for the streams within a
group. DC-SCAN tries to minimize disk seek overhead
by using a circular SCAN, which allows higher
throughput. Start-up delays can be minimized using this
method. Real-time conditions for continuous media can
be achieved from these algorithms. File managementmust also support pause, resume, and fast forward
functions. The pause and resume functions make
efficient design difficult because they dont allow
multiple viewers to share a single stream. Fast-forward
can be achieved by increasing the playback speed or
playing at normal speed and skipping data. Skipping
data is more commonly used as this does not run into the
issue of an increased data rate seen when playback speed
is increased. This results in video playback where the
resolution does not change, but there are minor jumps
between frames, which are difficult for the viewer tonotice.
Storage systems for multimedia in a streaming server are
difficult to design. These challenges include high
throughput, large capacity, and fault-tolerance.
Throughput is a serious issue because if a media file is
stored entirely on one disk, it can only be accessed by a
limited number of users at the same time based on the
throughput of the given disk. Data striping is the
technique used to solve this issue, because it splits a file
into pieces and spreads them out over different disks sothat pieces can be accessed simultaneously by a higher
number of users. This also creates the challenge of
balancing heavy-trafficked pieces across different disks.
Data striping does not create additional copies of a file
across multiple disks, making it more effective than just
replicating the file to multiple locations. Streaming video
can be performed much better with a hierarchical storage
architecture or tertiary storage. Hierarchical storage
systems move data to and from high-cost and low-cost
storage devices. Data is typically stored on cheaper but
slow areas like optical discs, and it is moved to fasterhard disk arrays when it is needed. When the data is
stored on the slower, low cost devices like a series of
optical discs like DVD-ROMs, this storage system is
called tertiary storage. For large amounts of streaming
video, a Storage Area Network is used to connect
various storage devices (high and low cost and speed) to
host servers. An SAN typically uses a fiber channel to
connect all the components for faster access. Network
Attached Storage is another way to allow large amount
of data storage. This approach attaches a computer on
the network to offer file storage services to the rest of
the network. Both approaches improve the standard
storage by offering simplification with a central storage
space and scalability. It is also possible to use both SAN
and NAS, which can offer both file-level and block-level
protocols. Fault tolerance is a must for a storage system, because inevitably a disk will fail. In this situation, a
server needs to recreate the data that is lost, most
commonly by an error correction code or multiple copies
of data at separate locations. The multiple copies
approach has been found to be cheaper per bit than the
error correction method.
E. Media Synchronization
Synchronization for media systems deals with temporal
relations between media items such as audio, video, andany accompanying materials. Since the significant media
for streaming is continuous, it is made up of time-
dependent media items, including audio that must sync
up with video as well as must be played in chronological
order. [mm-sync]
Media synchronization focuses on the integration of
media streams in a synchronized fashion. An example of
this would be making sure the proper piece of an audio
stream is playing when either a video clip or slide show
presentation is playing. If not, the a confusion issuearises when, for example, the current audio is referring
the previous or next slide or the current audio is the
delayed voice of a person in a video, where the audio
does not line up with their motions and movements.
For media to be properly synchronized, the intent is to
have the receiver show the media as it was intended. To
achieve this goal, timing requirements called temporal
relationships must be maintained not only among media
streams, but also inside a media stream.
There are a few levels of synchronization that include
intra-stream synchronization, inter-stream, and inter-
object synchronization. Intra-stream synchronization
deals with factors within a media stream like syncing an
audio file to play normally. Intra-stream focuses on
synchronization at the media layer, the lowest level.
Inter-stream synchronization deals with the next level
above the media layer, the stream layer. On this level,
8/6/2019 Video Over Internet
9/15
9
the focus is on the entire stream interacting with other
streams. An example for inter-stream synchronization is
having an audio stream and video stream playing
together. Inter-stream synchronization keeps the two
streams in line so that one is not playing ahead or faster
than the other. Inter-object synchronization is the top
level of synchronization called the object layer. This
layer incorporates media streams with non-continuousmedia. Such time-independent data needs to be
displayed or incorporated for a desired duration, which
is the job of inter-object synchronization. Subtitles are
an example of this, because subtitles are only useful
when displayed at the proper time for a necessary
duration. Inter-object synchronization makes sure the
subtitle does this and prevents delayed or early subtitles.
Figure 9 depicts a continuous audio stream with several
subtitles being displayed at the appropriate times.
Figure 9 Example of synchronization between audio
and subtitles
One of the main concerns with media synchronization is
that media streams get out of sync during transit. Every
component that the media travels through causes certain
delays, which do not necessarily affect all streams the
same way. The purpose of media synchronization
mechanisms is to realign the streams in an attempt to fix
the transition issues. Realigning a stream requirestemporal relations to be specified either manually or
automatically. In a situation where subtitles or slides
must be synced up with audio, manual specifications are
used. Specifications are automatic in audio and video
media. When audio and video are recorded together,
these specifications are embedded and upon playback,
they are automatically in place.
There are numerous methods for temporal relation
specification. Methods can be interval-based, axes-
based, control flow-based, or event-based. Axes-based is
the most common method as it is very simple and
successful. It works by placing timestamps on each
media stream before transmission. When the data is
streamed over to the receiver, the time stamps can be
used to sync up the streams. Timestamps allow eachstream to individually sync up itself as well as sync
multiple streams together.
Temporal relations are also beneficial along the
transmission route by each element the data goes
through. Having data available so that it is quick to
obtain minimizes latency. Allowing the necessary
bandwidth is effective enough to counteract the jitter that
would otherwise impact synchronization.
One type of mechanism used to improve synchronizationis a preventative mechanism. This is implemented on the
transport end of the transmission. A few examples of
preventative mechanisms include network transport
protocol, disk-reading scheduling algorithms, and
synchronization schedulers. The aim of preventative
mechanisms is to make latency and jitter irrelevant from
the media streaming.
The opposite type of mechanism is corrective.
Corrective mechanisms are implemented on the receiver
end of the transmission. Stream synchronization protocolis the main corrective mechanism example. The goal of a
corrective mechanism is to reacquire synchronization.
Media synchronization is a big concern for media
streaming. It is one of the most common hiccups and it is
also one of the most noticeable issues from the end
users perspective. For many of the other concerns in a
media streaming system, an issue with that concern will
cause an issue with media synchronization.
F. Protocols for Streaming Media
When streaming media, there are many protocols
available to use between sender and receiver. The
protocols used for streaming media can be distinguished
into three categories: network-layer protocol, transport
protocol, and session control protocol.
8/6/2019 Video Over Internet
10/15
10
Network-layer protocol is used for beginning to end
packet transfer. The network-layer protocol allows the
transfer of data of various lengths. Network support such
as network addressing is given by network-layer
protocol.
Transport protocol is how the network is able to offer
end-to-end services. Transport protocols are the mostfamiliar and commonly used or chosen by providers.
These protocols include UDP, TCP, RTP, and RTCP.
UDP and TCP are the more commonly known of the
protocols. Real-time transport protocol (RTP) and real-
time control protocol (RTCP) are both higher-level
protocols that can be implemented along side either UDP
or TCP, both lower level protocols.
Certain functions are achieved through using TCP or
UDP. Streams can be multiplexed using TCP or UDP
from a single device and IP address. Error correction isused by both protocols. Corrupted data is removed
before it reaches the layers above TCP and UDP, which
are RTP and RTCP. In the event of data being lost, TCP
resends the data while UDP does not. TCP also attempts
to counteract overflow via flow control, but UDP has no
such feature. UDP is commonly used for media streams
since the latency felt when TCP must resend data is too
noticeable to the end user.
Real-time transport protocol is a type of data protocol
focusing on transmitting data from the sender end to thereceiver end. RTP uses time stamping, sequencing, and
identification to support media streaming. The time
stamping done by RTP is what the media
synchronization techniques use to realign data. Sequence
numbering verifies that the data at the receiver end is
reassembled into the correct order. One kind of
identification employed by RTP is payload type
identification, which determines the kind of payload in
the packet. It helps the recipient with the proper
interpretation of the data packet. The other identification
is source identification. This tells the recipient where thedata in question came from, as in who sent it.
Unlike RTP, real-time control protocol is, as it is named,
a control protocol. RTCP is used to give information
back to the sender, such as quality of service,
synchronizations, or identifications. Quality of service
feedback is the main intended purpose of RTCP. This
helps both parties in the channel know how well the
transmissions are going as far as success rates, delay
durations, and current productivity. Synchronizations are
used to send the current time stamp so that each end
knows what should be assembled and played back at the
given moment. Participation packets transfer information
about the involved parties in a form that can be
understood by users.
Session control protocol allows multiple exchanges
between a sender and receiver over one TCP connection.
The protocol is based off of TCP protocol. It is also
intended to be simple to put in place. Session control
protocols help with message transfer and confirmation
while there is a firm connection.
One session control protocol is real-time streaming
protocol. It is a control protocol for streaming media
servers used to create and manage media data transfers
between sender and receiver. RTSP uses RTP for theactual data transfer, but it can be used to acquire
description information or to introduce more media to a
session.
Another session control protocol is session initiation
protocol. This protocol is used to control sessions of
voice transmission or calls over an IP. SIP can help to
establish, organize, customize, or end communication
between users. SIP is a much more transient protocol as
it can handle a users location changing and continue to
keep a channel going.
8/6/2019 Video Over Internet
11/15
11
Figure 10 Media streaming protocol(adapted) [1]
Figure 10 shows how all of the protocols are used in the
scheme for media streaming.
III. UPDATE TO PAPERVideo compression has gone through significant
improvements. Currently, the newest widely usedcompression standard is H.264/MPEG-4, which was
introduced in 2003 with ongoing updates. It compresses
video more efficiently than previous methods such as
H.262/MPEG-2. The H.264 format is used for
applications ranging from low quality Internet streaming
to high quality movie theater digital films. One of the
benefits of the H.264/MPEG-4 standard is its use of
entropy coding designs that provide nearly lossless
compression. It allows fairly high quality to be
transferrable without huge overhead or bandwidth being
necessary. The standard also has a set of profiles, whichare chosen from depending on what the purpose or
application of the given video is. Concerns such as cost
and quality are used to help with what profile is most
useful. H.264/MPEG-4 also uses error resilience tools to
help reduce error alongside other error control methods.
One error resilience tool, flexible macroblock ordering,
creates the ability to split an image into group of slices.
Each slice may be decoded individually. If a slice is lost,
neighboring slices are used to rebuild it. Another feature
used is redundant slices, which works hand in hand with
flexible macroblock ordering, as it provides lower
quality backup slices in case the main slice is lost. The
standard also implements UEP, which applies stronger
protection to more important pieces of data. [3]
In the wireless realm, studies have shown that scalable
video streaming is much more beneficial than its non-scalable counterpart. When it comes to wireless mobile
communication, bandwidth varies with time so having a
scalable approach allows the receiver to continue to
stream video. Even though it is at a reduced quality, it is
hugely beneficial since the user notices quality change
less than delay or jitter. [8]
A few factors that have changed when it comes to
streaming media include network bandwidth, access to
networks on the Internet, the use of standard protocols,
and commercialization of the Internet.
The increase in network bandwidth over the years has
helped allow the average Internet user to use streaming
media. The increase in bandwidth has made it practical
to watch streaming videos in real time. The high
bandwidth allows high quality video to be streamed.
Where eight years ago, nearly all of the streaming video
was in standard quality 320 by 240, today, high
definition 1280 by 720 and even better is being pushed
for as the norm. [2]
Since the completion of the critiqued paper, the single
most important addition to the Internet in the realm of
streaming media was the creation of the website
YouTube and similar sites. YouTube allows users to
upload unlimited videos and watch those posted on the
website through the sites search engine. YouTube uses
the Adobe Flash Player engine to play videos. The site
also allows users to embed videos from the site into
other web pages. Adobe Flash Player is the engine used
for nearly 75% of streaming video online. [6] The site
helped popularize streaming media to the general public.[4]
Internet television has also been a huge jump for
streaming media. Internet television provides
mainstream television shows to be viewed online. The
show is streamed to the user in real time with either high
definition or standard definition depending on the
8/6/2019 Video Over Internet
12/15
12
connection speed of the user and the stream quality
being offered by the provider. [9]
Mobile devices have had one of the most recent impacts
on streaming media.
IV. AVAILABLE APPLICATIONS FORSTREAMINGHere is an overview of some of the best and easy to use
applications for media streaming. The applications
discussed in this section are the top in the media
streaming area.
VLC Media Player is a cross-platform open-source
multimedia player, framework, and server that handles
the majority of formats for audio and video, DVDs and
VCDs, and streaming protocols. VLC can be used as a
media converter or server to stream in unicast or
multicast on networks. VLC can also be used as a plug-
in with other programs like web browsers or video
encoders. VLC has a modular design that allows it to
easily add new codecs, streaming methods, and file
formats. VLC is capable of playing content that is
corrupt, incomplete, or damaged. Files that are mid-
download can be played and continue to download, due
to the program being a packet-based player. VLC can
handle the streaming protocols UDP, HTTP, RTP,
RTSP, RTMP, and MMS. The application can play
formats with inputs UDP/RTP unicast or multicast,
HTTP, FTP, TCP and SFTP. While the application has
no native formats, the default and most common formats
for VLC include AVI and MPEG-4 files.
QuickTime is a multimedia framework from Apple that
can handle a large variety of digital media formats. The
QuickTime framework allows encoding and transcoding
between formats compatible with QuickTime. The
application is capable of a plug-in architecture to support
additional codecs. QuickTimes Streaming Server is a
RTSP server that delivers video and audio on request
over a network or the Internet. The software uses HTTP
Live Streaming, which works by breaking a stream into
small HTTP-based file downloads to transfer data.
QuickTime fully supports standards including H.264,
MPEG-4, and 3GPP. QuickTime is also part of the
foundation used by Apple to create its music playback
software iTunes. QuickTime is also the native player for
QuickTime Movie files, QTVR movies, and Apple
Lossless audio files.
Windows Media Player is a digital media player and
media library used for playing video, audio, and other
media. WMP can transcode media to desired formats. It
supports local playback and streaming playback.
Windows Media Player also has a Video Smoothingfeature that improves frame-rate through interpolation,
which can give a smoother playback on low-frame-rate
videos. WMP can use video overlays as well as video
interlacing, scaling, and improved color accuracy. The
application is also capable of media sharing, which
allows content to be streamed to and from devices
including personal computers and gaming consoles.
WMP supports streaming formats including HTTP,
RTSP, and in early versions MMS. With Windows
Media Services streaming media server, streaming media
can be generated. Multicast and unicast streams aresupported. Windows Media Player is the native
application for Windows Media Video, Windows Media
Audio, and Advanced Systems Format.
RealPlayer is a cross platform closed source media
player produced by RealNetworks, which plays a variety
of formats including MPEG-4. RealPlayer was one of
the first media players with the capability of streaming
media across the Internet. RealPlayer was popular in the
early years of the Internet, but has been surpassed by
Windows Media Player and Apple iTunes based onQuickTime formats. Streaming formats supported by
RealPlayer include HTTP, RTSP, and MMS. RealPlayer
has a feature for streaming media playback that allows a
user to pause the video clip without stopping the
buffering. RealPlayer is the native software for file
formats RealAudio, RealVideo, and RealMedia Shortcut
among others.
To showcase how some of these applications work with
streaming, basic streaming will be performed and
explained for the VLC program. For QuickTime andWindows Media Player, the receiver side of streaming
was tested by watching a video placed on a webpage.
Streaming media over a wireless network using VLC
Player was tested. The first thing to note was the benefit
of the same application providing the features to both
stream the video and watch it from a secondary
computer. VLC has a very easy to use streaming wizard
8/6/2019 Video Over Internet
13/15
13
that goes step by step through setting up the stream. The
following steps will show how to achieve the same
stream manually.
The process begins with opening VLC and selecting a
video file to open. The Streaming/Saving box is
checked. All of these directions mentioned so far can be
seen in Figure 11.
Figure 11 VLC Opening a file dialog
The next step is to click the settings tab in the above
figure. When the new dialog opens, there is an option to
display the stream locally, which was selected to make
playback features easier and more manageable. The
button to Stream the file is selected and the selected
Type is UDP. Other selectable types include RTP andHTTP. The network address of the secondary computer
to which the stream should be sent is entered in the
address field. A specific port may be chosen if desired,
VLC defaults to port 1234 for simplicity. There are also
options for transcoding the video and audio streams
including the method of encoding and the bitrate. All of
this is shown in the figure below. There is also the
ability to add a web interface by selecting it from the
VLC menu bar. This web interface allows the user on
the secondary computer to open a web browser and enter
the network address of the primary computer followed by the port being used. This web interface allows the
secondary computer to control the media stream for fast-
forwarding, rewinding, and jumping position.
Figure 12 VLC settings for streaming settings
With the chosen setup, features available to the
secondary computer include pausing and playing. If the
stream is paused, the stream stores up while it is not
playing. Once it starts playing, it continues from the
position it was paused at, it does not jump to the current
location that the stream is at on the primary computer.
For QuickTime, the streaming portion of the application
is separated and available as QuickTime StreamingServer. This program is available only with the Mac OS
X Server operating system. Since no Mac OS Server is
available, only the receiver side of using QuickTime for
streaming will be tested and documented.
Using QuickTime Player to view streaming media is
simple. After opening QuickTime Player, go to the File
menu and select Open URL. Type in the address for the
streaming movie and press Open. The streaming file will
open in a self-contained window.
Figure 13 QuickTime Open URL window
An alternative method to streaming a QuickTime movie
file is to embed or hyperlink it in a webpage, which just
8/6/2019 Video Over Internet
14/15
14
requires the file being loaded on the website. QuickTime
is fully integrated into the web browser so that if a .mov
file is loaded on a web page, it will play it back through
the browser with pause, play, and jump position
controls.
Windows Media Player works fairly similar with
streaming video as QuickTime. The software to streammedia self-contained is part of the Windows Server
setup. In a similar manner to QuickTime, a video can be
uploaded to a website, and the receiver end of the
streaming process can be seen. To accomplish this, a
.wmv file was loaded onto the users plaza account
through plaza.ufl.edu. Upon opening Windows Media
Player, the option for Open URL is selected from the
File menu. The address can then be entered into the
Open URL dialog and select OK as shown in Figure 14.
Figure 14 Windows Open URL window
The file buffers and then begins playing. Available
features from the receiver end include pause/play and
jump to position.
Another means of streaming video is using a service like
YouTube to upload media content to YouTubes web
server and play it back through a web interface. The first
step is to log into YouTube or create an account. Then
click the Upload link at the top of the webpage. Once a
file is selected, YouTube beings uploading the file and
the webpage will show the progress as seen in Figure
14.. Once it is loaded, YouTube provides a user with a
URL for the video and a code snippet to embed the
video into another webpage.
Figure 15 Uploading a video to YouTube
To view the video, a new web browser is opened. Then
the URL provided by YouTube is entered. The YouTube
page loads the webpage with the uploaded video.
Features available include play/pause and jump to
position.
V. CONCLUSIONThe improvements in the Internet as well as the quality
of video have allowed many changes to streaming
media. The demand for high quality streaming media
forces servers to push the limits for bandwidth and
throughput.
The impacts on the six features are significant in
themselves to consider. Video compression must find
more innovative ways to reduce size without affecting
media quality. For quality of service, congestion control
and minimizing delay will be paramount for the
continued improvements to streaming video quality to be
successful. Continuous media distribution services is
highly involved in the future of streaming media as the
Internet continues to be inefficient in terms of
application layer support for heavy data transferring.
Streaming servers are continually growing as companies
constantly need more streaming space for any video or
8/6/2019 Video Over Internet
15/15
15
media functions. As the quality of streaming video
continues to improve upon itself, media synchronization
will be more and more important for media playback as
there is the possibility for multiple video channels,
numerous audio channels, and slideshows to be
transmitted synchronously but a media synchronization
necessary to retain timing for data file. Protocol layers
will have one of the biggest impacts with the leastknowledge that it is being performed. More advanced
protocols will likely be made to work on top of existing
protocols like UDP and TCP.
It is clear that streaming media has had significant hikes
in importance over the past decade, especially in recent
years. The significance of factors, specifically bandwidth
and quality of service, was somewhat underestimated.
The high demand of streaming media such as internet
television has seen jumps in popularity that in turn
require a jump in available bandwidth as well as videoquality. This also brings into question the need for good
video compression to minimize data size, while retaining
quality.
One of the most unexpected impacts in recent years is
the impact that mobile media streaming has had. Mobile
Network Infrastructures will grow and expand rapidly
from the need for more and more coverage for wireless
networks or broadcast areas for multimedia services.
Mobile networks are one of the hot areas for future
expansion related to media streaming. With companiestying to unveil their 4G networks with improved features
like bandwidth, it is clear what is to come.
Streaming media over a server can be done efficiently
and cheaply given the proper software. VLC provided
the most adaptable software with the most available
features. VLC was the only application researched that
offered streaming media from the same console as the
video player. The applications simplicity and tutorial
help for its features more advanced than basic media
playback make it a great choice for streaming media.
The advent of websites like YouTube has opened up the
realm of media streaming to what is arguably the
simplest means possible. Since the web server takes care
of all the concerns of overhead, bandwidth, servers,
compression, and playback, it clearly creates an
environment with the least involved process for
implementation.
Applications with the capability of playback tend to have
similar features. Any of those used are of nearly equal
standing for quality and appeal. QuickTime and
Windows Media Player both had simple setups with the
easy option of streaming from a website. This kind of
feature is commonly overlooked. However, having the
media players console features to go with a videostreaming over http, is arguably a much more convenient
setup.
The need and use for media streaming has and will
continue to be on the rise. From personal enjoyment of
television shows streamed online to secure business web
meetings, the application for streaming media is still
unfolding.
REFERENCES[1] D. Wu, T. Hou, W. Zhu, Y.-Q. Zhang, J. Peha, "Streaming Video over
the Internet: Approaches and Directions," IEEE Transactions on Circuits
and Systems for Video Technology, Special Issue on Streaming Video,vol. 11, no. 3, pp. 282-300, March 2001.
[2] Grant and Meadows. (2009). Communication Technology Update andFundamentals 11
thEdition
[3] T. Wiegand and G. J. Sullivan, The H.264/AVC video codingstandard,IEEE Signal Processing Mag., vol. 24, pp. 148-153, 2007.
[4] Josh Lowensohn. (2008). YouTube to Offer Live Streaming This Year.http://news.cnet.com/8301-17939_109-9883062-2.html?tag=mncol
[5] Krasic, C. and Li, K. and Walpole, J., The case for streaming multimediawith TCP, Lecture Notes in Computer Science, Springer, 2001
[6] "Flash moves on to smart phones". Jonathan Fildes. BBC News.Retrieved from http://news.bbc.co.uk/2/hi/8287239.stm
[7] Fischer. (2010). Digital Video and Audio Broadcasting Technology.Chapter 29: Television over the Internet. 3rd Edition
[8] H.-H. Juan, H.-C. Huang, C. Huang, and T. Chiang, Scalable videostreaming over mobile WiMAX, in Proceedings of IEEE Int.
Symposium on Circuits and Systems (ISCAS), May 2007, pp.
34633466.
[9] Barkhuus, L. (2009) Television on the Internet: new practice, newviewers. San Diego:University of California
[10] Apple Inc. (2010). Apple QuickTime. Retrieved fromhttp://www.apple.com/quicktime/
[11] VideoLAN(July 2009). VLC media player - Open SourceMultimedia Framework and Player. Retrieved from
http://www.videolan.org/vlc/
[12] RealNetworks Inc. (2009). Media Player for mp3, Flash, Audio,Video | RealPlayer on Real.com. Retrieved from
http://www.real.com/
[13] Microsoft Windows (2010). Microsoft Windows Media YourDigital Entertainment Resource. Retrieved from
http://www.microsoft.com/windows/windowsmedia/default.mspx
Patrick Liby is the author. He is currently attending the University of Floridaand working on his Bachelors and Masters Degrees in Electrical Engineering.