HTTP Streaming Survey and Gap Analysis draft-zong-httpstreaming-gap-analysis-01 Ning Zong 2015/11/7 HTTP Streaming bar BoF, IETF 79th.

Download Report

Transcript HTTP Streaming Survey and Gap Analysis draft-zong-httpstreaming-gap-analysis-01 Ning Zong 2015/11/7 HTTP Streaming bar BoF, IETF 79th.

HTTP Streaming Survey and Gap
Analysis
draft-zong-httpstreaming-gap-analysis-01
Ning Zong
2015/11/7
HTTP Streaming bar BoF, IETF 79th
Outline

A brief survey of existing HTTP streaming
standards and implementations.

A brief summary of the existing work.

The gap between existing work and possible
working scope in IETF.
2015/11/7
HTTP Streaming bar BoF, IETF 79th
3GPP: Adaptive HTTP Streaming (AHS)


Defines Media Presentation
Description (MPD) to
characterize the structure and
features of a media presentation.
Some important elements in a
MPD include:









multiple "Period" element;
multiple "Representation" element;
"bandwidth" attribute in
“Representation”;
"startWithRAP" attribute in
“Representation”;
"qualityRanking" attribute in
“Representation”;
"TrickMode" element in
“Representation”;
"SegmentInfo" element;
"duration" attribute in “SegmentInfo”;
“URLtemplate“ element, or "Url"
elements in “SegmentInfo”;
2015/11/7
HTTP Streaming bar BoF, IETF 79th
Media Presentation
3GPP: Adaptive HTTP Streaming (AHS)
MPD
Generating
a list of URI
pointed to
the segments
Segment request
Segment
MPD Update
Segment request
Segment
Server
Client
2015/11/7
HTTP Streaming bar BoF, IETF 79th
Open IPTV Forum (OIPF): HTTP
Adaptive Streaming

Technical Specification has been published
and includes "HTTP Adaptive Streaming”,
which adopts 3GPP AHS as basis and adds
support for MPEG-2 Transport Stream.
2015/11/7
HTTP Streaming bar BoF, IETF 79th
MPEG:
HTTP Streaming of MPEG Media

A series of proposals have been proposed to
address the background, objectives, use cases and
requirements of the transport of MPEG media over
HTTP.

The IETF has received from MPEG two liaison
statements for our information. No actions from the
IETF side are requested or required. Both
statements will appear shortly on the IETF's liaison
website https://datatracker.ietf.org/liaison/.
2015/11/7
HTTP Streaming bar BoF, IETF 79th
W3C:Video related work

Focus on client implementation built into browser,
e.g.,




2015/11/7
video playback support using script and html,
push notification support using API,
video support using Media fragments URI.
Websocket API
HTTP Streaming bar BoF, IETF 79th
Microsoft: Smooth Streaming

Defines each chunk as an MPEG-4 fragment box and stores it within
a contiguous MP4 file for easy random access. The MP4 files are
classified into two kinds. One is *.ismv file containing video and
audio. Another is *.isma containing audio only.

Server manifest file (*.ism) describes the relationships between the
media tracks, bit rates and files on disk. Client manifest file (*.ismc)
describes the available streams to the client: the codecs used, bit
rates encoded, video resolutions, markers, captions, etc.

Client requests fragments by URL including quality level and
fragment offset. Server looks up the MP4 file and figures out which
fragment box corresponds to the requested offset. Server extracts
the fragment box and sends it over the wire to the client.
2015/11/7
HTTP Streaming bar BoF, IETF 79th
Adobe: Dynamic HTTP Streaming

File packagers translates either on-demand media files or ingested
live streams over Real Time Messaging Protocol (RTMP) into
fragments and writes the fragments to F4F files.

The F4M manifest file format contains information includes codecs,
resolutions, and the availability of files encoded at multiple bit rates.
2015/11/7
HTTP Streaming bar BoF, IETF 79th
Apple: HTTP Live Streaming

Stream segmenter reads the Transport Stream from the local
network and divides it into a series of small media files (.ts files) of
equal duration, and creates an index file containing a play-list of the
media files, as well as meta-data information. The index file is
in .M3U8 format.
2015/11/7
HTTP Streaming bar BoF, IETF 79th
Summary of Existing Work
Produce
segment
files and
manifest
Stream
segmenter
Construct URIs
pointed to the
segment files
manifest
Choose file to be
requested based on
adaptation
Segment request
Look up
segment
file
Segment
Continue
requesting … …
Server
Intermediary Nodes
Client
All the intelligence in current HTTP streaming design resides on the server and
client software, rather than the network transport.
2015/11/7
HTTP Streaming bar BoF, IETF 79th
Gap Analysis
Characteristic
If satisfied by existing work
Adaptation bit-rate
Yes
Playback control
Yes
Use existing cache, CDN
Yes
client pull model
Yes
server push model
No
Reliable transmission in network
Yes
Real-time support in network
No
QoE improvement (e.g. startup)
No
QoE monitoring
No
More intermediary node support
No
Multicast support for scalability
No
Based on the above gap list, we can discuss more about the potential working
scope in IETF to improve the transport part of HTTP streaming system.
2015/11/7
HTTP Streaming bar BoF, IETF 79th
Thank you
2015/11/7
HTTP Streaming bar BoF, IETF 79th
References

3GPP:



OIPF





http://learn.iis.net/page.aspx/626/smooth-streaming-technical-overview/
Adobe


http://www.w3.org/TR/html5/video.html#media-elements
http://www.w3.org/TR/2010/WD-media-frags-20100624
http://www.w3.org/TR/eventsource/
Microsoft


http://mpeg.chiariglione.org/working_documents/explorations/mmt/http_uc.zip
http://www-itec.uni-klu.ac.at/~timse/research/httpstreaming/http_req.zip
W3C


http://www.oipf.tv/docs/Release2/OIPF-T1-R2-Specification-Volume-2a-HTTP-Adaptive-Streaming-V2_02010-09-07.pdf
MPEG


http://www.3gpp.org/ftp/Specs/html-info/26234.htm
http://www.3gpp.org/ftp/Specs/html-info/26244.htm
http://www.adobe.com/products/httpdynamicstreaming/
Apple


2015/11/7
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/
HTTPStreamingArchitecture/HTTPStreamingArchitecture.html
http://tools.ietf.org/html/draft-pantos-http-live-streaming-04
HTTP Streaming bar BoF, IETF 79th