Internet DRAFT - draft-nandakumar-mmusic-rtcweb-grouping
draft-nandakumar-mmusic-rtcweb-grouping
MMUSIC Working Group S. Nandakumar
Internet-Draft Cisco
Intended status: Standards Track July 15, 2013
Expires: January 16, 2014
SSRC Group Based Simulcast Signaling
draft-nandakumar-mmusic-rtcweb-grouping-00
Abstract
In some applications it may be necessary to send multiple media
encodings corresponding to a media source with in independent RTP
media streams. This is called Simulcast. This document discusses a
framework for describing simulcast media streams in SDP and also
defines semantics to express relationship amongst them. The
semantics defined in this document are to be used with the source
specific grouping framework defined in the [RFC5576]
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 16, 2014.
Copyright Notice
Copyright (c) 2013 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
Nandakumar Expires January 16, 2014 [Page 1]
Internet-Draft SSRC Group Simulcast July 2013
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Solution Overview . . . . . . . . . . . . . . . . . . . . . . 4
4. imageattr for a=ssrc attribute . . . . . . . . . . . . . . . 4
5. The SIMUCAST ssrc-group attribute . . . . . . . . . . . . . . 5
6. SDP Examples . . . . . . . . . . . . . . . . . . . . . . . . 5
7. Offer/Answer Consideration . . . . . . . . . . . . . . . . . 6
8. Simulcast and Multiplexing . . . . . . . . . . . . . . . . . 6
9. Simulcast under Multicast RTP Topology . . . . . . . . . . . 6
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
12. Normative References . . . . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 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 RFC 2119 [RFC2119].
Capture Device: The physical source of stream of media data of one
type such as camera or microphone.
Media Source: A Media Source logically defines the source of a raw
stream of media data as generated either by a single capture device
or by a conceptual source. A Media Source represents an Audio Source
or a Video Source.
Media Encoding: A particular encoding applied to the media data from
a media source through the choice of sampling, bit-rate and other
codec configuration parameters.
Media Stream: Media from a Media Source is encoded and packetized to
produce one or more Media Streams representing a sequence of RTP
packets.
RTP Source: Same as Media Stream.
RTP Session: An RTP session is an association among a group of
participants communicating with RTP. It is a group communications
channel which can potentially carry a number of Media Streams.
Within an RTP session, every participant finds out meta-data and
control information (over RTCP) about all the Media Streams in the
Nandakumar Expires January 16, 2014 [Page 2]
Internet-Draft SSRC Group Simulcast July 2013
RTP session. The bandwidth of the RTCP control channel is shared
within an RTP Session.
Media Transport: A Media Transport defines an end-to-end transport
association for carrying one or more RTP Sessions. The combination
of a network address and port uniquely identifies such a transport
association, for example an IP address and a UDP port.
2. Introduction
Simulcast refers to taking media from a single media capture (e.g., a
camera), and encoding it multiple times at different resolutions and
/ or frame rates. For example, a device with a single HD camera may
send one version of the video at full HD resolution, and a second
version encoded at a low resolution. This would allow a video
conferencing bridge to be able to send the high resolution copy to
some destination and low resolution copy to other destinations
without having to recode the video at the conference bridge.
[I-D.westerlund-avtcore-rtp-simulcast] describes different encodings
of a media content to be combination of the following:
o Bit-rate: The difference is the amount of bits spent to encode the
media thus giving different quality.
o Codec: Different media codecs are used to ensure that different
receivers that do not have a common set of decoders can decode at
least one of the versions. This can include codec configuration
options that are not compatible, like video encoder profiles, or
the capability of receiving the transport packetization.
o Sampling: Different sampling of media, in spatial as well as in
temporal domain, may be used to suit different rendering
capabilities or needs at the receiving endpoints, as well as a
method to achieve different bit-rates. For video streams, spatial
sampling affects image resolution and temporal sampling affects
video frame rate. For audio, spatial sampling relates to the
number of audio channels and temporal sampling affects audio
bandwidth. Obviously, a difference in sampling may result in
difference in bit-rate.
In any application that needs to send multiple encodings, there is a
potential need for simulcast. The purpose of this document is to
discuss suitable signaling solution in SDP for describing and
negotiating simulcast streams, within the context of the Real Time
Transport Protocol(RTP).
Nandakumar Expires January 16, 2014 [Page 3]
Internet-Draft SSRC Group Simulcast July 2013
3. Solution Overview
The source-attribute specification [RFC5576] provides mechanisms
describing Real-Time Protocol (RTP) [RFC3550] sources, identified by
their synchronization source (SSRC) identifier, in the Session
Description Protocol (SDP) [RFC4566], to associate attributes with
these sources, and to express relationships among individual sources.
To describe and negotiate simulcast streams with in SDP for a given
media source, the following framework is been proposed:
o Each physical media source is represented by its own unique
m-line. This is a strict one-to-one mapping; a single media
source device cannot be spread across several m-lines, nor may a
single m-line represent multiple media sources.
o Each simulcast media stream is marked with an a=ssrc attribute to
correlate it with its RTP Packets
o A new SSRC Grouping semantic is proposed to express the simulcast
relationship between the media streams.
o In the absence of the above grouping semantic, multiple SSRCs in a
single m-line are interpreted as alternate sources for the same
media source.
o For multi-resolution simulcast, [RFC6236] imageattr is proposed
for a=ssrc attribute line, to specify send multiple resolutions,
for example.
o For the receiver control of selecting the simulcast stream to
receive, the mechanisms defined in
[I-D.lennox-mmusic-sdp-source-selection] is proposed.
o When multicast topology is used to distribute RTP/RTCP packets,
having same multicast address across all the m=lines is proposed
when multiplexing framework such as BUNDLE
[I-D.ietf-mmusic-sdp-bundle-negotiation] is in operation.
Providing explicit resolutions on a per-SSRC basis for SIMULCAST
groupings allows an intermediary (such as a Media Translator
[RFC5117]) to be able to select an appropriate SIMULCAST layer
without inspecting the media stream, which could otherwise require
decrypting and possibly partially decoding media packets.
4. imageattr for a=ssrc attribute
Nandakumar Expires January 16, 2014 [Page 4]
Internet-Draft SSRC Group Simulcast July 2013
This document extends a=ssrc attribute [RFC5576] by introducing
[RFC6236] imageattr enabling specification of multi-resolution
simulcast streams for a given media source.
5. The SIMUCAST ssrc-group attribute
This document also extends [RFC5576] SSRC Grouping Framework
semantics (a=ssrc-group) to indicate relationship between the
simulcast media streams for a given media source. A semantic called
"SIMULCAST" is defined to achieve this purpose.
6. SDP Examples
The example SDP in Figure 1 shows simulcast encoding with the use of
different codec-specific parameters using two different payload types
for a camera source. It also describes different resolutions for
each encoded simulcast media stream. The "SIMULCAST" SSRC grouping
semantic is included to signal the relationship.
m=video 62537 RTP/SAVPF 96 97
a=rtpmap:96 VP8/90000
a=rtpmap:97 VP8/90000
a=sendrecv
a=ssrc:29154
a=imageattr:96 [x=1280,y=720] //Stream 1
a=fmtp:96 max-fr=30;max-fs=3600
a=ssrc:47182
a=imageattr:97 [x=640,y=360] //Stream 2
a=fmtp:97 max-fr=15;max-fs=880
a=ssrc-group:SIMULCAST 29154 47182
Figure 1
The SDP example in Figure 2, advertises simulcast of 2 video sources
corresponding to 2 cameras, each at 2 resolutions.
m=video 62537 RTP/SAVPF 96 97 //Camera 1
a=rtpmap:96 VP8/90000
a=rtpmap:97 VP8/90000
a=sendrecv
a=ssrc:11111
a=ssrc:22222
a=imageattr:96 [x=1280,y=720]
a=fmtp:96 max-fr=30;max-fs=3600
a=imageattr:97 [x=640,y=360]
a=fmtp:97 max-fr=15;max-fs=880
a=ssrc-group:SIMULCAST 29154 47182
Nandakumar Expires January 16, 2014 [Page 5]
Internet-Draft SSRC Group Simulcast July 2013
m=video 54890 RTP/SAVPF 96 97 //Camera 2
a=rtpmap:96 H264/90000
a=rtpmap:97 H264/90000
a=sendrecv
a=ssrc:33333
a=ssrc:44444
a=fmtp:96 profile-level-id=4d0028;packetization-mode=1;max-fr=30
a=fmtp:97 profile-level-id=4d0028;packetization-mode=1;max-fr=15
a=ssrc-group:SIMULCAST 33333 44444
Figure 2
7. Offer/Answer Consideration
The Offer/Answer model for this specification adheres to the model as
applicable to Source-Specific Media SDP attributes [RFC5576] and its
extensions [I-D.lennox-mmusic-sdp-source-selection].
8. Simulcast and Multiplexing
Multiplexing in RTP can be achieved in several ways as listed:
Payload Type based Multiplexing
Media Stream Multiplexing based on SSRC in a Single RTP Session
RTP Session Multiplexing over a single Media Transport.
The proposed solution in this document assumes Media Stream
Multiplexing to transport the simulcast encodings from several media
sources with in a single RTP Session,whenever possible. Such a
solution can be envisioned by the usage of multiplexing frameworks,
such as, BUNDLE [I-D.ietf-mmusic-sdp-bundle-negotiation]. In the
absence of such a framework, each media source gets its own RTP
Session with its associated simulcast encodings multiplexed based on
their respective SSRCs.
9. Simulcast under Multicast RTP Topology
[RFC5117] describes several underlying network topologies supported
by RTP. In this section the operation of the solution under
multicast topologies is analyzed.
The proposed solution enables right behavior for RTCP reporting
across the members of the group, since all the sources and their
simulcast streams form a single RTP Session under the BUNDLE
multiplexing framework.
Nandakumar Expires January 16, 2014 [Page 6]
Internet-Draft SSRC Group Simulcast July 2013
In the scenarios where using a single 5-tuple for all the media
sources is not possible, carrying each source with its simulcast
encodings in its own RTP Session ensures correct behavior.
Allowing media sources to send different simulcast encodings to
different multicast group addresses is not directly enabled within
the solution proposed. Such a situation might arise to enable the
receivers to selectively choose the multicast groups based on their
receiving capabilities or interests. However, the mechanisms defined
in [I-D.lennox-mmusic-sdp-source-selection] enables receiver control
to selectively choose the simulcast streams of interest.
10. IANA Considerations
TBD
11. Acknowledgements
I would like to thanks Cullen Jennings for his inputs and review on
the proposed solution.
12. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264, June
2002.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description
Protocol (SDP) Grouping Framework", RFC 5888, June 2010.
[RFC5576] Lennox, J., Ott, J., and T. Schierl, "Source-Specific
Media Attributes in the Session Description Protocol
(SDP)", RFC 5576, June 2009.
[RFC6236] Johansson, I. and K. Jung, "Negotiation of Generic Image
Attributes in the Session Description Protocol (SDP)", RFC
6236, May 2011.
[RFC5117] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117,
January 2008.
Nandakumar Expires January 16, 2014 [Page 7]
Internet-Draft SSRC Group Simulcast July 2013
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[I-D.lennox-mmusic-sdp-source-selection]
Lennox, J. and H. Schulzrinne, "Mechanisms for Media
Source Selection in the Session Description Protocol
(SDP)", draft-lennox-mmusic-sdp-source-selection-05 (work
in progress), October 2012.
[I-D.westerlund-avtcore-rtp-simulcast]
Westerlund, M., Lindqvist, M., and F. Jansson, "Using
Simulcast in RTP Sessions", draft-westerlund-avtcore-rtp-
simulcast-02 (work in progress), February 2013.
[I-D.lennox-raiarea-rtp-grouping-taxonomy]
Lennox, J. and K. Gross, "A Taxonomy of Grouping Semantics
and Mechanisms for Real-Time Transport Protocol (RTP)
Sources", draft-lennox-raiarea-rtp-grouping-taxonomy-00
(work in progress), February 2013.
[I-D.ietf-mmusic-sdp-bundle-negotiation]
Holmberg, C., Alvestrand, H., and C. Jennings,
"Multiplexing Negotiation Using Session Description
Protocol (SDP) Port Numbers", draft-ietf-mmusic-sdp-
bundle-negotiation-04 (work in progress), June 2013.
Author's Address
Suhas Nandakumar
Cisco
170 West Tasman Drive
San Jose, CA 95134
USA
Email: snandaku@cisco.com
Nandakumar Expires January 16, 2014 [Page 8]