Re: [rtcweb] #27: Section 6.2 FEC
"rtcweb issue tracker" <trac+rtcweb@trac.tools.ietf.org> Mon, 26 August 2013 07:18 UTC
Return-Path: <trac+rtcweb@trac.tools.ietf.org>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AB12121F99BD for <rtcweb@ietfa.amsl.com>; Mon, 26 Aug 2013 00:18:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.699
X-Spam-Level:
X-Spam-Status: No, score=-101.699 tagged_above=-999 required=5 tests=[AWL=-0.900, BAYES_00=-2.599, J_CHICKENPOX_14=0.6, J_CHICKENPOX_15=0.6, J_CHICKENPOX_18=0.6, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UPZ8I5luuHiI for <rtcweb@ietfa.amsl.com>; Mon, 26 Aug 2013 00:18:23 -0700 (PDT)
Received: from grenache.tools.ietf.org (grenache.tools.ietf.org [IPv6:2a01:3f0:1:2::30]) by ietfa.amsl.com (Postfix) with ESMTP id B585121F9980 for <rtcweb@ietf.org>; Mon, 26 Aug 2013 00:18:22 -0700 (PDT)
Received: from localhost ([127.0.0.1]:40866 helo=grenache.tools.ietf.org ident=www-data) by grenache.tools.ietf.org with esmtp (Exim 4.80) (envelope-from <trac+rtcweb@trac.tools.ietf.org>) id 1VDr47-0002Fd-MA; Mon, 26 Aug 2013 09:18:19 +0200
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: rtcweb issue tracker <trac+rtcweb@trac.tools.ietf.org>
X-Trac-Version: 0.12.3
Precedence: bulk
Auto-Submitted: auto-generated
X-Mailer: Trac 0.12.3, by Edgewall Software
To: draft-ietf-rtcweb-rtp-usage@tools.ietf.org, bernard_aboba@hotmail.com
X-Trac-Project: rtcweb
Date: Mon, 26 Aug 2013 07:18:19 -0000
X-URL: http://tools.ietf.org/rtcweb/
X-Trac-Ticket-URL: http://trac.tools.ietf.org/wg/rtcweb/trac/ticket/27#comment:1
Message-ID: <081.60ad42bfcba9b4972ad06bf3f62ca73e@trac.tools.ietf.org>
References: <066.f62f1912f660dbc0c28343d2955a2ef5@trac.tools.ietf.org>
X-Trac-Ticket-ID: 27
In-Reply-To: <066.f62f1912f660dbc0c28343d2955a2ef5@trac.tools.ietf.org>
X-SA-Exim-Connect-IP: 127.0.0.1
X-SA-Exim-Rcpt-To: draft-ietf-rtcweb-rtp-usage@tools.ietf.org, bernard_aboba@hotmail.com, rtcweb@ietf.org
X-SA-Exim-Mail-From: trac+rtcweb@trac.tools.ietf.org
X-SA-Exim-Scanned: No (on grenache.tools.ietf.org); SAEximRunCond expanded to false
Resent-To: csp@csperkins.org, jorg.ott@aalto.fi, magnus.westerlund@ericsson.com
Resent-Message-Id: <20130826071822.B585121F9980@ietfa.amsl.com>
Resent-Date: Mon, 26 Aug 2013 00:18:22 -0700
Resent-From: trac+rtcweb@trac.tools.ietf.org
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] #27: Section 6.2 FEC
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Aug 2013 07:18:23 -0000
#27: Section 6.2 FEC Comment (by bernard_aboba@hotmail.com): [Magnus Westerlund] Bernard, this is the WG consensus that we so far have arrived on. If you have a proposal regarding FEC, please make it and lets see if we can reach consensus on such a proposal. However, I fail to see how this is generally problematic. Retransmission will cover certain parts of the deployment cases when the transport RTT and delay does not prevent it from being able to repair in a timely fashion. FEC clearly covers transport characteristics where retransmission will show its shortcomings. If one want improved transport performance in those cases clearly a common implemented FEC solution is desired. [BA] FEC is discussed in Sections 1.1.7 and 3.3 of draft-roach-mmusic- unified-plan, with examples how it might be declared using SDP, so I found it a bit odd that draft-ietf-rtcweb-rtp-usage only had recommendations for RTX, not FEC. For example, Section 1.1.7 says: For robust applications, techniques like RTX and FEC are used to protect media, and simulcast/layered coding can be used to provide support to heterogeneous receivers. It needs to be possible to support these techniques, allow the recipient to optionally use or not use them on a source-by-source basis; and for simulcast/layered scenarios, to control which simulcast streams or layers are received. Here is what Section 3.3 says: 3.3. Handling of Simulcast, Forward Error Correction, and Retransmission Streams Simulcast refers to taking a single 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. Forward Error Correction (FEC) and Retransmission (RTX) streams are techniques that can provide stream robustness in the face of packet loss. These approaches frequently make use of different payload types and different SSRC values than the stream to which they apply. In cases where a media source needs to correspond to more than one RTP flow, e.g. RTX, FEC, or simulcast, the a=ssrc-group [RFC5576] concept is used to create a grouping of SSRCs for a single media stream track. Each SSRC is declared using a=ssrc attributes, the same MSID is shared between the SSRCs, and the a=ssrc-group attribute defines the behavior of the grouped SSRCs. These groupings are used to perform demux of the incoming RTP streams and associate them (by SSRC) with their primary flows (modulo the behavior described in Section 3.2.1, if applicable). This multiplexing of RTX and FEC in a single RTP session is already well- defined; RTX SSRC-multiplexing behavior is defined in [RFC4588], and FEC SSRC-multiplexing behavior is defined in [RFC5956]. Note that both RTC and FEC also include SDP expressions that use different m= lines for the correction streams (cf. [RFC4588], section 8.7 and [RFC5956], section 4.2). These formats intend for correlation of streams to be based on transport addresses, which is inapplicable for bundled media streams. Our specific proposal is: (1) bundling implementations will never generate such a format; and (2) bundling implementations MAY choose to accept SDP in such a format or MAY simply reject the repair streams and proceed as if the indicated repair format is not supported. For multi-resolution simulcast, we can create a similar ssrc-group, and adapt the imageattr attribute defined in [RFC6236] for the a=ssrc line attribute to indicate the send resolution for a given simulcast stream. (This will be added to [I-D.westerlund-avtcore-rtp-simulcast], as outlined in Section 2, bullet 1). In the example below, the SDP advertises a simulcast of a camera source at two different resolutions, as well as a screen-share source that supports RTX; a=ssrc-group is used to correlate the different SSRCs as part of a single media source. Note that a characteristic of this approach is that it does not allow for independently setting attributes for simulcast, FEC, and RTX streams aside from those in fmtp. In particular, attributes such as ptime and framerate are shared between the streams that are grouped together for a simulcast group. m=video 62537 RTP/SAVPF 96 // main video a=msid:ma ta a=extmap:1 urn:ietf:params:rtp-hdrext:stream-correlator 15955 a=mid:1 a=rtpmap:96 VP8/90000 a=sendrecv a=rtcp-mux a=ssrc:29154 imageattr:96 [x=1280,y=720] a=ssrc:47182 imageattr:96 [x=640,y=360] a=ssrc-group:SIMULCAST 29154 47182 m=video 0 RTP/SAVPF 96 97 // slide video a=msid:ma tb a=extmap:1 urn:ietf:params:rtp-hdrext:stream-correlator 26267 a=mid:2 a=rtpmap:96 VP8/90000 a=rtpmap:97 rtx/90000 a=sendrecv a=rtcp-mux a=fmtp:97 apt=96;rtx-time=3000 a=ssrc:45982 a=ssrc:9827 a=ssrc-group:FID 45982 9827 // FID provides SSRC correlation a=bundle-only 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. -- -------------------------------------+------------------------------------- Reporter: | Owner: draft-ietf-rtcweb-rtp- bernard_aboba@hotmail.com | usage@tools.ietf.org Type: defect | Status: new Priority: major | Milestone: milestone1 Component: rtp-usage | Version: 1.0 Severity: Active WG Document | Resolution: Keywords: | -------------------------------------+------------------------------------- Ticket URL: <http://trac.tools.ietf.org/wg/rtcweb/trac/ticket/27#comment:1> rtcweb <http://tools.ietf.org/rtcweb/>
- [rtcweb] #27: Section 6.2 FEC rtcweb issue tracker
- Re: [rtcweb] #27: Section 6.2 FEC Magnus Westerlund
- Re: [rtcweb] #27: Section 6.2 FEC rtcweb issue tracker
- Re: [rtcweb] #27: Section 6.2 FEC Colin Perkins
- Re: [rtcweb] #27: Section 6.2 FEC Bernard Aboba
- Re: [rtcweb] #27: Section 6.2 FEC Roni Even
- Re: [rtcweb] #27: Section 6.2 FEC Bernard Aboba
- Re: [rtcweb] #27: Section 6.2 FEC Magnus Westerlund