Network Working Group G. Deen
Internet-Draft Comcast-NBCUniversal
Intended status: Informational G. Naik
Expires: January 8, 2017 Drexel University
J. Brzozowski
Comcast
L. Daigle
Thinking Cat Enterprises LLC
W. Rose
WJR Consulting
M. Townsley
Cisco
July 7, 2016
Using Media Encoding Networks to address MPEG-DASH video
draft-deen-naik-ggie-men-mpeg-dash-00
Abstract
This document describes an approach to using a Media Encoding Network
of IPv6 Prefixes and Addresses as identifiers for MPEG-DASH encoded
video. This is part of the GGIE Glass to Glass Internet Ecosystem
effort for Internet Video.
This document is being discussed on the ggie@ietf.org mailing list.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 8, 2017.
Deen, et al. Expires January 8, 2017 [Page 1]
Internet-Draft GGIE MPEG-DASH MEN July 2016
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1. Media Encoding Networks . . . . . . . . . . . . . . . . . 3
3. MPEG-DASH Internet Video Concepts . . . . . . . . . . . . . . 4
3.1. Internet Video playback as a network . . . . . . . . . . 4
4. MPEG-DASH Video Chunk Addressing . . . . . . . . . . . . . . 5
5. Video Playback . . . . . . . . . . . . . . . . . . . . . . . 6
6. Implementation . . . . . . . . . . . . . . . . . . . . . . . 6
7. Conclusion and Next Steps . . . . . . . . . . . . . . . . . . 7
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
10. Security Considerations . . . . . . . . . . . . . . . . . . . 7
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
11.1. Normative References . . . . . . . . . . . . . . . . . . 7
11.2. Informative References . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
2. Introduction
GGIE, the Glass to Glass Internet Ecosystem, described in
[I-D.deen-daigle-ggie], is an effort to improve video's use of the
Internet though evolving and applying modern Internet networking
technology to Interet video.
Deen, et al. Expires January 8, 2017 [Page 2]
Internet-Draft GGIE MPEG-DASH MEN July 2016
This document is a proposed Media Encoding Network organizational
definition for MPEG-DASH enoded video. In the following sections, we
describe a Media Encoding Network structure for MPEG-DASH content
using IPv6 addresses as the address for MPEG-DASH video chunks, and
organizing these addresses into a IPv6 subnet under a prefix.
A MPEG-DASH encoded video organizaed following this Media Encoding
Network scheme is in turn referrable to using the assigned prefix,
with each distinct encoding of the video being assigned a distinct
prefix. Hence two copies of the same video encode would share the
same prefix, while a different encode would have a different prefix.
Other Media Encoding Networks organizational definitions are possible
for MPEG-DASH video. The simple organizational structure defined in
this document is designed to work, in a backwards compatible manner,
with existing MPEG-DASH video players.
2.1. Media Encoding Networks
One of the concepts being discussed in GGIE is that of a Media
Encoding Network. As introduced in the GGIE Introduction
[I-D.deen-daigle-ggie] document, a Media Encoding Network consists of
the data elements of a audio-video encoding of a work organized
following a distinct logical structure appropriate for efficiently
transporting and accessing the data elements for the video asset.
Network level identifiers are assigned to each of these elements
under a shared prefix and following an address assigment plan
appropropriate for the type of encoding used for the AV data.
Media Encoding Networks is a generalized abstraction intented to be
used with many different enoding and transport schemes.
GGIE recognizes that there is currently a great diversity of encoding
and transports such as MPEG-DASH [DASH] and HTTP Live Streaming (HLS)
[I-D.pantos-http-live-streaming] to name but two, with more
continuing to be developed and introduced. Recognizing this
diversity and innovative environment, GGIE proposes the Media
Encoding Network as a resuable abstraction that can be trailored and
defined with different logical organizations to support different
environments, applications, and media encodings.
A Media Encoding Network is a logical entity that can be assigned a
network level identifier enabling it to be referred to at a network
device level and permitting devices and the network to worked
cooperatively to optimize data transport and access choices.
Deen, et al. Expires January 8, 2017 [Page 3]
Internet-Draft GGIE MPEG-DASH MEN July 2016
3. MPEG-DASH Internet Video Concepts
A common technique used in the delivery of a media or video on the
Internet via streaming services and CDNs is to break up an encoding
of a video into chunks or media segments containing a fixed duration
of video. MPEG-DASH [DASH] is an example of such an approach. The
segments typically represent small portions of the video with 6-10
seconds of video playback being common. In most implementations, the
segments of videos are identified by file names and served to clients
using conventional web servers using HTTP GET requests.
Systems such as MPEG-DASH enable client players to switch between
encodings of different quality levels of the video with higher
quality encodings requiring large amounts of data, and conversely
lower quality encodings requiring smaller amounts of data. The
system coordinates each encoding to produce points of alignment
called intra-coded frames or iFrames where a player can switch
between different encodings without missing frames of the video
playback. Thus, a player can adapt to changing network conditions
without re-buffering or freezing of the playback.
When the encodings are broken into segments, the segments are
organized such that the playback system can switch to a different
encoding level from the version it has been playing by requesting the
next segment of data holding the iFrame matching the next iFrame of
the current encoding. In practice each segment of an encoding is an
individual file stored on video or CDN server and playback consists
of the player repeatedly requesting the next file in sequence from
the server, with the file names following a consistent incremental
naming scheme indicating an encoding identifier and a segment
sequence identifier.
Typically, a video file is processed by an encoder to produce two or
more different quality encodings with each encoded version being
passed through a process to break into segment files with aligned
iFrames and each file named with a name identifying the encoding and
sequence number. This process requires coordination to create iFrame
alignments and a consistent naming convention to allow players to
transition between encodings and to iteratively access the next
correct segment.
3.1. Internet Video playback as a network
Transitioning between segments is an example of a simple directed
graph (or digraph). Each segment is a vertex or node and the naming
convention defines an ordered directed traversal of the graph, and
the iFrame aligned segments forming the edges of the graph. It is
also possible to recognize that the directed graph behavior of a
Deen, et al. Expires January 8, 2017 [Page 4]
Internet-Draft GGIE MPEG-DASH MEN July 2016
player switching between segments can more generally be viewed as a
network such as it is used on the Internet.
The network of segments can be identified using the IP addressing
scheme from the Internet, in particular IPv6 is well suited for this
due to the large number of addresses available in it's 128-bit
address space. IPv4 could also be used, but with only 32 bits of
address space the available addresses would be quickly exhausted in
practical use.
This is really a simple evolution of the way MPEG-DASH chunks are
organized today as files with names such as MOVIE-SEGMENT-00, MOVIE-
SEGMENT-01,... and so on. In practical terms, this scheme simply
replaces the ASCII filename, with a 128-bit number represented as HEX
digits. In this way, this scheme remains compatible with existing
CDN serving of MPEG-DASH video.
4. MPEG-DASH Video Chunk Addressing
Staying consistent with Media Encoding Networks being a generic
abstraction, the more generic term Shard is used in place of the
MPEG-DASH specific Chunk for individual units of encoded video data.
IPv6 addresses [RFC4291] are specified in and are broken into two
parts that split the available 128 bits of address space as follows:
n bits 128-n bits
+--------------+----------------+
| Prefix | Interface id |
+--------------+----------------+
Figure 1: IPv6 Address
One addressing approach to naming segments can be as follows:
n bits m bits 128-n-m bits
+--------------------+-----------------+-------------+
| Encoding Prefix | Sub-Encoding id | Shard id |
+--------------------+-----------------+-------------+
Figure 2: Proposed
Which consists of an Encoding Prefix that is uniquely assigned to a
set of aligned MPEG-DASH encodings of the video, a sub-encoding id
which identifies a particular encoding, and the id of the individual
shard of encoded video data.
Deen, et al. Expires January 8, 2017 [Page 5]
Internet-Draft GGIE MPEG-DASH MEN July 2016
The encoding prefix permits a set of encodings to be associated with
one another. Grouping a set of encodings of a video under a shared
Encoding Prefix permits referencing all the segments of a group of
encodings as a single entity under the Encoding Prefix.
The sub-encoding id groups the shards of a single sub-encoding
together under an identifier to permit managing the collection of
segments as a single entity.
Shards that share MPEG iFrame aligment share the same Shard id. This
then defines a network layout with shards for each different bit-rate
organized sequentially and contiguously under a shared sub-encoding
subnet and shards with aligned iFrames being organized with the same
shard id across sub-encoding subnets.
5. Video Playback
This approach permits the Prefix to identify a particular group of
encodings of a video. Each encoding has an assigned series of
addresses consisting of the prefix, followed by the series of address
bits that uniquely identify the shard. All the playback pathways are
preserved in this addressing scheme of the edges of the graph.
The above approach works well for a video that is encoded by one
party that can coordinate the encoding process, to produce aligned
iFrames, and assign the common encoding prefix and segment
assignments for the network.
A playback device can be provided the Prefix for the network, and can
iterate through the segments to play the video. It can jump between
sub-encode subnets to select different quality or vary the bit rate
of the playback.
6. Implementation
For the evaluation of this scheme, a prototype video streaming
service implementing this approach was developed. In particular, it
provides an Electronic Program Guide (EPG) and uses an open-source
HTML5 video player with MPEG-DASH. Instead of providing the player
with HTTP URIs for each segment of video, our this prototype uses
global IPv6 addresses. This change is transparent to the host
operating system, the HTML5 video player, and the network. The
service backend is implemented in Python and utilizes other open
source components. A demonstration at IETF96 is planned to be shown
during Bits-n-Bytes.
Deen, et al. Expires January 8, 2017 [Page 6]
Internet-Draft GGIE MPEG-DASH MEN July 2016
7. Conclusion and Next Steps
This draft proposes a Media Encoding Network addressing scheme for
MPEG-DASH Internet video using IPv6 addresses. It is an example that
can built upon to define other more complex Media Encoding Network
schemes for MPEG-DASH and other encoding/transports.
8. Acknowledgements
9. IANA Considerations
None (yet).
10. Security Considerations
None (yet).
11. References
11.1. Normative References
[I-D.deen-daigle-ggie]
Deen, G. and L. Daigle, "Glass to Glass Internet Ecosysten
Introduction", draft-deen-daigle-ggie-01 (work in
progress), June 2016.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, DOI 10.17487/RFC4291, February
2006, <http://www.rfc-editor.org/info/rfc4291>.
11.2. Informative References
[DASH] ISO, "Dynamic adaptive streaming over HTTP (DASH) -- Part
1: Media presentation description and segment formats",
<http://www.iso.org/iso/home/store/catalogue_ics/
catalogue_detail_ics.htm?csnumber=65274>.
[I-D.pantos-http-live-streaming]
Pantos, R. and W. May, "HTTP Live Streaming", draft-
pantos-http-live-streaming-19 (work in progress), April
2016.
Deen, et al. Expires January 8, 2017 [Page 7]
Internet-Draft GGIE MPEG-DASH MEN July 2016
Authors' Addresses
Glenn Deen
Comcast-NBCUniversal
Email: rgd.ietf@gmail.com
Gaurav Naik
Drexel University
Email: gn@drexel.edu
John Jason Brzozowski
Comcast
Email: John_Brzozowski@Cable.Comcast.com
Leslie Daigle
Thinking Cat Enterprises LLC
Email: ldaigle@thinkingcat.com
Bill Rose
WJR Consulting
Email: brose@wjrconsulting.com
Mark Townsley
Cisco
Paris
Email: townsley@cisco.com
Deen, et al. Expires January 8, 2017 [Page 8]