Re: [rtcweb] [tsvwg] Diffserv QoS for Video

Bernard Aboba <bernard.aboba@gmail.com> Thu, 05 May 2016 01:41 UTC

Return-Path: <bernard.aboba@gmail.com>
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 156CA12D1CD; Wed, 4 May 2016 18:41:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.699
X-Spam-Level:
X-Spam-Status: No, score=-1.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MBA26yzp3MX0; Wed, 4 May 2016 18:41:31 -0700 (PDT)
Received: from mail-vk0-x233.google.com (mail-vk0-x233.google.com [IPv6:2607:f8b0:400c:c05::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 872D112D1BD; Wed, 4 May 2016 18:41:31 -0700 (PDT)
Received: by mail-vk0-x233.google.com with SMTP id o133so9252079vka.0; Wed, 04 May 2016 18:41:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=jvky9l5WWGJsTk3HZkE5+dAhTxDC4XV8+NR2OMq6qUM=; b=hULzixnX1eaS8GLeIf3n5stgrW7tuZQBdcVIgG38++898nH1n1f/Ix0wVTGLIFWHGr u357gGY/0ILduFrMD5Bq8VmDF9+FPe2s2dck+HxhYVEPvYG+b4MpvmUZUWDzX+NI8K3N DiDVqUbrelNQU5Pim/NftcvPVbkcMLQxDDLqTxT+JqnbJj+T19Ft5c0PosURxvbmWsoP JUY/ve6NQfftMyat/2alIzmp9hcHpSMqd7g9KbbpAaZ5QPKeBywoK4+/FTsIMTulaVPU WxYFiXW88EmFj9XEDiqJ/iPx2zGUzFnvPjbs0Vcsz1yLPTUzG2Wb0XopcRSG/V8EDoUB 6jhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=jvky9l5WWGJsTk3HZkE5+dAhTxDC4XV8+NR2OMq6qUM=; b=H/YGxLqXUaCyCnifETsHVjF2F0zqniwE6Myo5rtYM9IY3g2QRpnm4Gksz6S04pfWav nWzv6Fc1grTP1gdFQGLY7SDb6itP7VTR5b/iQdfK2Z/qeMXrfIW2NoFSwX4AH1NExAr0 Z58dEP7KOUJqF5T9SgM4YhPn6v6/apSQIeDwKrcxhyLbwTPDfMn0MGYwq3Nwu/bGwpiV eMQWQD3spj6Zu0aVmtCfH2ayqLj1vxdIcxPTDf9jFeozCUQu+cOjeCeAwmiwP9xCZLlM Rm3B4JvGVtO4ZhWctDF9frRbU7ZFSj5WFhNYGP2QPBx2bOWZcdMKW3aXjR14HO/KlFyb eNfg==
X-Gm-Message-State: AOPr4FXO++4C42OIRSr0AS3bikTWcy4f/oLQgZxuxxlaT7znv7OSeLwXBvAOe7BBEmTQi/El6q7FzsyPrnN6+w==
X-Received: by 10.176.5.38 with SMTP id 35mr7598060uax.116.1462412490362; Wed, 04 May 2016 18:41:30 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.176.0.46 with HTTP; Wed, 4 May 2016 18:41:10 -0700 (PDT)
In-Reply-To: <cfbd3981-7def-94b4-7e51-db1bae68fd6c@gmail.com>
References: <CE03DB3D7B45C245BCA0D243277949362E993518@MX104CL02.corp.emc.com> <7ebc2ca5-c10f-f85e-2b6f-0d685c87f187@gmail.com> <CAOW+2du4UA2Trw6hFUQ+bpBfwXSF-uJfSth5b4YCaK__ULbufA@mail.gmail.com> <cfbd3981-7def-94b4-7e51-db1bae68fd6c@gmail.com>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Wed, 04 May 2016 18:41:10 -0700
Message-ID: <CAOW+2dtrM2MuU6NoCvq+mxzo_zxgU=gO_VRkBwcf5qzduzdRNA@mail.gmail.com>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
Content-Type: multipart/alternative; boundary="94eb2c12541800d71f05320e7161"
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/6x9e9RKuPgzT_MA0udpfVe-3YP8>
Cc: "Black, David" <david.black@emc.com>, "rtcweb@ietf.org" <rtcweb@ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Subject: Re: [rtcweb] [tsvwg] Diffserv QoS for Video
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
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: <https://mailarchive.ietf.org/arch/browse/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: Thu, 05 May 2016 01:41:35 -0000

Brian said:

"All the same, I think the phrasing I quoted at
https://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-15#section-4
is problematic; it implies that there's a Boolean property "interactive"
which clearly is not supported in the encoding parameters."

[BA] Overall, I'm not clear that this thread is asking the right questions,
or making correct statements about the existing API.  To my mind, the real
question is whether a "non-interactive" marking/priority would deliver
anything useful to application developers, not whether the API could
support it.

The encoding parameters can be used to allow an application to specify a
priority attribute.  If a "non-interactive" marking and associated priority
attribute were to be defined, the current API could allow applications to
specify that.  So citing a 4-year old version of the WebRTC 1.0
specification as justification for the lack of API functionality doesn't
make sense to me.   Since the browser just does what it is told to do by
the application, whether the browser "knows" whether the media is
interactive or not also does not matter.

The real question is whether a  "non-interactive" marking/priority setting
would be useful to application developers.

Uni-directional communications (e.g. "sendonly", "recvonly") is supported
within WebRTC.  Would those kind of flows benefit from a "non-interactive"
marking? In most cases, I suspect that in general it would not be useful (a
possible exception might be use of SVC codecs protecting only the base
layer with FEC/RTX).

It is conceivable that an application might want to attach a track to a
sender that isn't obtained from getUserMedia() (see:
http://w3c.github.io/mediacapture-main/) or getDisplayMedia() (see
https://w3c.github.io/mediacapture-screen-share/).  Again, the question is
whether a "non-interactive" marking/priority would be helpful in those
cases.  I suspect the answer to that is also "no" for similar reasons.

On Wed, May 4, 2016 at 5:36 PM, Brian E Carpenter <
brian.e.carpenter@gmail.com> wrote:

> Thanks Bernard.
>
> All the same, I think the phrasing I quoted at
> https://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-15#section-4
> is problematic; it implies that there's a Boolean property "interactive"
> which clearly is not supported in the encoding parameters.
>
> Regards
>    Brian
>
> On 05/05/2016 11:01, Bernard Aboba wrote:
> > Brian Carpenter said:
> >
> > "Then, is it clear how the browser "knows" this?"
> >
> > [BA] The application explicitly provides information to the browser by
> setting the RTCRtpEncodingParameters.priority attribute
> > via the sender.setParameters() API:
> >
> > dictionary RTCRtpEncodingParameters { unsigned long ssrc <
> http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-ssrc>;
> > |RTCRtpRtxParameters| rtx <
> http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-rtx>;
> |RTCRtpFecParameters| fec
> > <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-fec>;
> boolean active
> > <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-active>;
> |RTCPriorityType| priority
> > <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-priority>;
> unsigned long maxBitrate
> > <
> http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-maxBitrate>;
> unsigned long maxFramerate
> > <
> http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-maxFramerate>;
> DOMString rid
> > <http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-rid>;
> double scaleResolutionDownBy
> > <
> http://w3c.github.io/webrtc-pc/#widl-RTCRtpEncodingParameters-scaleResolutionDownBy>
> = 1.0; };
> >
> >
> > The Priority and QoS Model is described in the latest WebRTC 1.0
> Editor's draft (http://w3c.github.io/webrtc-pc/) Section 4.10:
> >
> > 4.10 Priority and QoS Model
> >
> > Many applications have multiple media flows of the same data type and
> often some of the flows are more important than others.
> > WebRTC uses the priority and Quality of Service (QoS) framework
> described in [RTCWEB-TRANSPORT] and [TSVWG-RTCWEB-QOS] to
> > provide priority and DSCP marking for packets that will help provide QoS
> in some networking environments. The priority setting
> > can be used to indicate the relative priority of various flows. The
> priority API allows the JavaScript applications to tell the
> > browser whether a particular media flow is high, medium, low or of very
> low importance to the application by setting
> > the |priority|property of ||RTCRtpEncodingParameters|| objects to one of
> the following values.
> >
> >
> >         4.10.1 RTCPriorityType Enum
> >
> >
> > enum RTCPriorityType {
> >     "very-low <
> http://w3c.github.io/webrtc-pc/#idl-def-RTCPriorityType.very-low>",
> >     "low <http://w3c.github.io/webrtc-pc/#idl-def-RTCPriorityType.low>",
> >     "medium <
> http://w3c.github.io/webrtc-pc/#idl-def-RTCPriorityType.medium>",
> >     "high <http://w3c.github.io/webrtc-pc/#idl-def-RTCPriorityType.high
> >"
> > };
> >
> >
> > On Wed, May 4, 2016 at 1:28 PM, Brian E Carpenter <
> brian.e.carpenter@gmail.com <mailto:brian.e.carpenter@gmail.com>> wrote:
> >
> >     I fear I have an up-level question: what is the definition of
> "interactive"?
> >
> >     draft-ietf-tsvwg-rtcweb-qos doesn't define it, presumably because it
> was
> >     assumed to be obvious, but thinking about David's suggestions, I
> decided
> >     that it isn't so obvious.
> >
> >     https://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-15#section-4
> says:
> >
> >        The following are the inputs provided by the WebRTC application to
> >        the browser:
> >
> >        o  Flow Type: The browser provides this input as it knows if the
> flow
> >           is audio, interactive video with or without audio,
> non-interactive
> >           video with or without audio, or data.
> >
> >     Firstly, I'm puzzled by the apparent contradiction between the first
> >     sentence (in which the app provides input to the browser) and the
> second
> >     sentence (in which to the browser provides input to something else).
> >
> >     Then, is it clear how the browser "knows" this? If David's statement
> below
> >     about the API is correct, the browser actually cannot "provide this
> input"
> >     as stated in the above quotation. Or I am confused.
> >
> >     Finally, why is audio not also subdivided into interactive and
> >     non-interactive? As far as I can see, both are logically possible.
> >
> >     Regards
> >        Brian
> >
> >     On 05/05/2016 03:26, Black, David wrote:
> >     > Greetings,
> >     >
> >     > I write as the shepherd for the WebRTC QoS draft
> (draft-ietf-tsvwg-rtcweb-qos).
> >     > IETF Last Call on this draft uncovered an issue that appears to
> also require
> >     > changes in the Web RTC transports draft
> (draft-ietf-rtcweb-transports).
> >     >
> >     > The Web RTC draft  specifies different Diffserv Codepoints (DSCPs)
> for use with
> >     > Interactive vs. Non-Interactive Video (with or without audio in
> both cases):
> >     >
> https://tools.ietf.org/html/draft-ietf-tsvwg-rtcweb-qos-15#section-5
> >     >
> >     > The IETF LC issue is: How does an implementer determine whether
> video is
> >     > interactive vs. non-interactive?
> >     >
> >     > The answer (unexpected to at least me) is that this can't be done
> for current
> >     > WebRTC - all video has to be treated as interactive because
> there's no API
> >     > support to distinguish interactive video from non-interactive
> video.  That
> >     > doesn't appear to be stated anywhere obvious, and a TSVWG draft
> seems
> >     > like the wrong place to do so.
> >     >
> >     > Hence, this message contains initial proposed changes to both the
> WebRTC
> >     > Transports draft and WebRTC QoS draft to resolve this issue
> without removing
> >     > any of the DSCPs currently specified for video in the WebRTC QoS
> draft.
> >     >
> >     > We should resolve this within the next few days, as the WebRTC QoS
> draft is
> >     > (finally!) on the IESG telechat agenda for May 19.
> >     >
> >     > --- WebRTC Transports draft - proposed changes
> >     >
> >     > In Section 4 Media Prioritization, after the following existing
> text:
> >     >
> >     >    For media, a "media flow", which can be an "audio flow" or a
> "video
> >     >    flow", is what [RFC7656] calls a "media source", which results
> in a
> >     >    "source RTP stream" and one or more "redundancy RTP streams".
> This
> >     >    specification does not describe prioritization between the RTP
> >     >    streams that come from a single "media source".
> >     >
> >     > Add a new paragraph:
> >     >
> >     >    All media flows in WebRTC are assumed to be interactive; there
> is
> >     >    no browser API support for non-interactive media, aside from
> sending
> >     >    non-interactive media content via the data channel.
> >     >
> >     > This ought to cite a W3C reference for the WebRTC API - the
> following
> >     > appears plausible:
> >     >
> >     >    [W3C.WD-webrtc-20120209]
> >     >               Bergkvist, A., Burnett, D., Jennings, C., and A.
> >     >               Narayanan, "WebRTC 1.0: Real-time Communication
> Between
> >     >               Browsers", World Wide Web Consortium WD WD-webrtc-
> >     >               20120209, February 2012,
> >     >               <http://www.w3.org/TR/2012/WD-webrtc-20120209>.
> >     >
> >     > -- WebRTC QoS draft - proposed changes
> >     >
> >     > In Section 5 DSCP Mappings, after the following existing text:
> >     >
> >     >    The browser SHOULD first select the flow type of the flow.
> Within
> >     >    the flow type, the relative importance of the flow SHOULD be
> used to
> >     >    select the appropriate DSCP value.
> >     >
> >     > Add a new paragraph:
> >     >
> >     >    The current WebRTC browser API does not support non-interactive
> >     >    video; all video is assumed to be interactive
> [I-D.ietf-rtcweb-transports].
> >     >    Browsers MUST NOT use the DSCP mappings for Non-Interactive
> Video
> >     >    in Table 1.  Non-browser implementations of WebRTC MAY use the
> >     >    DSCP mappings for Non-Interactive Video in Table 1 for video
> that is
> >     >    known to not be interactive, e.g., all video in a video
> playback application
> >     >    based on a custom implementation of the WebRTC protocols would
> not
> >     >    be interactive.
> >     >
> >     > ------
> >     >
> >     > Comments are welcome - as noted, above,  we should resolve this in
> >     > the next few days in order to avoid pulling the WebRTC QoS draft
> off
> >     > of the May 19 IESG telechat agenda. Please reply to both the TSVWG
> and
> >     > RTCWEB lists, as we need  a coherent solution across both drafts.
> >     >
> >     > I want to thank Colin Perkins for suggesting the video playback
> example.
> >     >
> >     > Thanks, --David (as WebRTC QoS draft shepherd)
> >     >
> >     >
> >
> >     _______________________________________________
> >     rtcweb mailing list
> >     rtcweb@ietf.org <mailto:rtcweb@ietf.org>
> >     https://www.ietf.org/mailman/listinfo/rtcweb
> >
> >
>