Video Over Internet

download Video Over Internet

of 15

Transcript of Video Over Internet

  • 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.