Re: [rtcweb] Call for Consensus Regarding Selecting Recommended Audio Codecs

Roman Shpount <roman@telurix.com> Mon, 24 December 2012 10:52 UTC

Return-Path: <roman@telurix.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 4D9F721F87E0 for <rtcweb@ietfa.amsl.com>; Mon, 24 Dec 2012 02:52:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.976
X-Spam-Level:
X-Spam-Status: No, score=-2.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JzPunfS0hkXf for <rtcweb@ietfa.amsl.com>; Mon, 24 Dec 2012 02:52:41 -0800 (PST)
Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by ietfa.amsl.com (Postfix) with ESMTP id 08FDC21F87DF for <rtcweb@ietf.org>; Mon, 24 Dec 2012 02:52:40 -0800 (PST)
Received: by mail-wi0-f171.google.com with SMTP id hn14so6347414wib.16 for <rtcweb@ietf.org>; Mon, 24 Dec 2012 02:52:40 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:in-reply-to:references:date:message-id :subject:from:to:cc:content-type:x-gm-message-state; bh=uMYVTHtY+tFUlHdlFdaLTdZfHWjCvuqmpLgePOs7Os8=; b=CbQcaKc2IUslZgjF6vWAZgf4lUA/JlQhahaYA1fQqziVwZYMnozOArMTM82tLhfDu7 DW0xlwP7ODs8+jOoiCFGM7EehPHh1VgiTPQ3WDqQDPLkRZA6YqZuJcEK+IV4bsT+q+DT g0PjAO8GSZRzXv37IVQFp9AjxbTR1hQ/NdaPiD06xPKmUngvp6E95xsEu0KZf1B/G9e9 oezwRzEiiBH9K9GbLJlAdqlNQ6eZgHPJNTfxngvzwS6dl1MPKq0gcc2yIaceq+nanvIZ euJX4y9anBam7QkxUn+3OmVeKwSgVDDxdmJLRqt6ibOzxFC72/+KqidciQkAtMxcyD9+ yvjg==
X-Received: by 10.180.78.226 with SMTP id e2mr32099437wix.1.1356346359958; Mon, 24 Dec 2012 02:52:39 -0800 (PST)
Received: from mail-we0-f172.google.com (mail-we0-f172.google.com [74.125.82.172]) by mx.google.com with ESMTPS id hu8sm20482165wib.6.2012.12.24.02.52.38 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 24 Dec 2012 02:52:38 -0800 (PST)
Received: by mail-we0-f172.google.com with SMTP id r3so3248743wey.31 for <rtcweb@ietf.org>; Mon, 24 Dec 2012 02:52:37 -0800 (PST)
MIME-Version: 1.0
Received: by 10.194.78.207 with SMTP id d15mr34893925wjx.52.1356346357227; Mon, 24 Dec 2012 02:52:37 -0800 (PST)
Received: by 10.216.16.134 with HTTP; Mon, 24 Dec 2012 02:52:36 -0800 (PST)
In-Reply-To: <8A68C6DA-B603-4450-A4B8-A72E99996AA5@phonefromhere.com>
References: <BLU404-EAS275E7E8B948E07ECF8847C193340@phx.gbl> <50D6C2C9.80004@omnitor.se> <8A68C6DA-B603-4450-A4B8-A72E99996AA5@phonefromhere.com>
Date: Mon, 24 Dec 2012 05:52:36 -0500
Message-ID: <CAD5OKxtQ_Z6QW6gPpHEV7Pf1F+n-J2XSFpukAKb1wL2jAcs2HA@mail.gmail.com>
From: Roman Shpount <roman@telurix.com>
To: Tim Panton <tim@phonefromhere.com>
Content-Type: multipart/alternative; boundary="047d7bfcf91ad0a00704d196fed6"
X-Gm-Message-State: ALoCoQmRhzt5YOSZ9ZwhpIBFFoVW2Zw2GT36xh5oaoHBz8ks6z8A55+Hy6noVUGQ6JHIxQR3j7+z
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] Call for Consensus Regarding Selecting Recommended Audio Codecs
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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: <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, 24 Dec 2012 10:52:42 -0000

On Mon, Dec 24, 2012 at 5:25 AM, Tim Panton <tim@phonefromhere.com> wrote:


> Looks like I'll be a lone voice again.
>

And I thought I was the lonely voice of reason saying exactly the opposite.


> I'm against any recommendation of use of g722 in webRTC
> If implementers want to provide it that's fine but it should not be in the
> standard.
> Even if it is available it always be at a lower preference than Opus
>

I agree it should be lower preference by default, but the application
developer can change this if needed.


> 1) The spec for g722 contains a historical error, so it's sample rate gets

declared as 8khz even though it is actually 16khz - this means that the
> rtp/audio processing code is littered with if( codec == CODEC_G722) {} else
> {} clauses to try and implement this mistake. I've seen g722
> mis-implemented more often than any other codec.
>

I've seen more G722 implementations then of any other wide band codec. In
fact this is the most commonly implemented and used wideband codec right
now, may be with an exception of SILK.


> 2) g722 is a fixed rate codec - it uses 64kbits/sec irrespective of what
> is available - it won't play nice with any congestion management that is
> specified with webRTC
>

So does G.711, but it still supported for interop reasons. In most cases
64kbps is little enough not to worry about it.


> 3) g722 sounds ok  (despite using 14 or the available 16 bits)
> - provided there is no packet loss - it has no built in FEC or PLC modes,
> so falls apart at quite low loss levels (especially compared to opus).
>

That is simply not true. PLC for G.722 is defined in Appendixes III and IV.
It is not as good as OPUS but it is acceptable.


> 4) if we mandate g722 then we need to make some  methods  in the
> constraints API to ensure that 2 browser endpoints that say they want
> wideband don't get g722 when they could both be doing opus in full CELT
> mode for the same bandwidth.
>

This should be up to the application developers, not a standard comity.  By
default OPUS should have higher preference.


> The often stated advantage is that there are many existing g722 endpoints
> out there. This is irrelevant - there is only 1 platform I know of that
> implements ICE+DTLS-SRTP and g722 but not opus (asterisk for the curious
> and there's an opus patch available).
>

It is not irrelevant. If SRTP is supported there are a lot of end points
that support ICE+SRTP+G.722.

P.S. A saner, more conservative approach would have been to make G.722 a
MUST and OPUS a SHOULD. Unfortunately, this ship has sailed together with
such things like support of plain RTP, due to worrying about political
appearences first and stable product later.