Re: [rtcweb] RTCWEB needs an Internet Codec

Ron <ron@debian.org> Thu, 06 September 2012 03:03 UTC

Return-Path: <ron@debian.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 69BBC21F854F for <rtcweb@ietfa.amsl.com>; Wed, 5 Sep 2012 20:03:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.423
X-Spam-Level:
X-Spam-Status: No, score=-1.423 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FH_HOST_EQ_D_D_D_D=0.765, HOST_MISMATCH_NET=0.311, RDNS_DYNAMIC=0.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 4Ld+NqBQX7TR for <rtcweb@ietfa.amsl.com>; Wed, 5 Sep 2012 20:03:10 -0700 (PDT)
Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [IPv6:2001:44b8:8060:ff02:300:1:6:5]) by ietfa.amsl.com (Postfix) with ESMTP id 00B3F21F84D6 for <rtcweb@ietf.org>; Wed, 5 Sep 2012 20:03:09 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AuIPAFsRSFB20ve5/2dsb2JhbABFtnSDHwOBC4EIgiABAQQBOhweBQULCw4KFRkUGA0kM4VxgXYFunCLEYEGgheDKAOIToUoh2IBkBqCc4FR
Received: from ppp118-210-247-185.lns20.adl6.internode.on.net (HELO audi.shelbyville.oz) ([118.210.247.185]) by ipmail05.adl6.internode.on.net with ESMTP; 06 Sep 2012 12:33:07 +0930
Received: from localhost (localhost [127.0.0.1]) by audi.shelbyville.oz (Postfix) with ESMTP id DC0A04F8F3; Thu, 6 Sep 2012 11:30:40 +0930 (CST)
X-Virus-Scanned: Debian amavisd-new at audi.shelbyville.oz
Received: from audi.shelbyville.oz ([127.0.0.1]) by localhost (audi.shelbyville.oz [127.0.0.1]) (amavisd-new, port 10024) with LMTP id dXAbchWqHxAa; Thu, 6 Sep 2012 11:30:40 +0930 (CST)
Received: by audi.shelbyville.oz (Postfix, from userid 1000) id 0B7344F902; Thu, 6 Sep 2012 11:30:40 +0930 (CST)
Date: Thu, 06 Sep 2012 11:30:40 +0930
From: Ron <ron@debian.org>
To: Randall Gellens <randy@qualcomm.com>
Message-ID: <20120906020039.GP23434@audi.shelbyville.oz>
References: <20120831151247.GY72831@verdi> <p06240608cc66e4862829@[99.111.97.136]> <00a701cd89fc$e681e9d0$b385bd70$@us> <p06240601cc6aa58a7171@[99.111.97.136]> <504571BC.9020103@librevideo.org> <5045CA2B.2070406@gmail.com> <5045F343.9030107@alvestrand.no> <50460FF1.30708@freedesktop.org> <20120904210055.GN23434@audi.shelbyville.oz> <p06240609cc6d8e39fb6c@[99.111.97.136]>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <p06240609cc6d8e39fb6c@[99.111.97.136]>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] RTCWEB needs an Internet Codec
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: Thu, 06 Sep 2012 03:03:11 -0000

On Wed, Sep 05, 2012 at 04:29:28PM -0700, Randall Gellens wrote:
> At 6:30 AM +0930 9/5/12, Ron wrote:
> > It's not about "forcing Opus on people who don't want it", it's about
> > making rtcweb actually work for all those people who are serious about
> > wanting something that actually works.  We're clearly not going to give
> > them that by saying: "Here's some valve-age technology that's been all
> > but obsolete for decades now - if you want this to be Any Good, you'll
> > have to figure that part out for yourselves.  Good Luck with that!"
> >
> > However much valves might be the stuff of True Audiophile wet dreams,
> > that just won't fly.  And I'm pretty sure almost everyone here knows it.
> 
> 
> At 3:42 PM +0930 9/1/12, Ron wrote:
> > The question is what is the minimum
> > guarantee that any rtcweb user will have when talking to any other
> > rtcweb user, without first needing to sign consent forms and download
> > optional extras (possibly for a reasonably non-discriminatory fee,
> > and even possibly trojaned).
> 
> 
> I'm puzzled by the repeated statements that imply that any
> non-mandatory codec can't be supported without separate downloads
> (now extended to include signed consent forms and fees).  That's
> simply not true.

I'm not sure exactly what you find puzzling about the idea that if
non-mandatory codecs are _required_ for adequate performance, then
for people using different implementations, that provide different
subsets of all the available codecs by default, *someone* is almost
certain to have to add on something extra to enable interoperability
with adequate performance.

That should be simply self-evident.

Enough so that I'll leave deeper study of venn-diagrams as a homework
exercise for any still-bewildered readers.

>  Any implementation is free to support any codec out-of-the-box.

Especially since this point was repeated alongside the others with
approximately equal frequency.  I'm pretty sure we have a clear
consensus on that.  I'm a little puzzled myself why you trimmed
that from the messages you quoted, only to repeat it again.

But we have list archives for anyone who wants the full context.


> One of the goals of rtcweb is to encourage greater use of native
> codecs, and greater access to such codecs by applications such as
> those running in browsers.  These are worthy goals, since native
> codecs often have better performance within the environment.
> (Examples include AMR and EVRC on handsets.)  These codecs also can
> be supported out-of-the-box, no separate downloads, no signed forms.

The unspoken assumption there being "provided you both happen to be
using the same platform with the same native codecs", (and of course
provided your vendor already signed the forms and payed the fees to
obtain a licence for you for the specific examples you cite).

That's fine if you do happen to.  It's when you don't that the MTI
codecs are what is relevant for interoperability.

The tiny performance difference between AMR and Opus might be of
value to some people, and if both their devices support it, and
both of them have a licence to use it, then great.

But if rtcweb sucks if you don't have those things, then this group
will have failed to meet its charter.  Which does explicitly consider
interoperability as a deliverable (but doesn't seem to actually
mention anything about native codecs at all?).

It does mention that the IETF has a codec working group whose
work should be considered though.


> The discussion is over which codecs MUST be supported.  Since
> mandatory codecs are required, with no choice, they should have the
> lowest possible burden to implement, taking into account all aspects
> of the implementation burden.  Then, implementers are free to
> consider which additional codecs they will support, taking into
> account the costs and benefits.

The libopus reference implementation source can be freely download
by anyone, at any time, and redistributed at will by any party with
no other "burden" placed upon them to do anything else.

Much of the (small amount of) extra work needed to interface that to
many existing audio processing abstractions is already done too.


How does that compare to the burden of your preferred example AMR?

Let's see.
Wikipedia tells me:

 "The initial fee for professional content creation tools and
  "real-time channel" products is $6,500. The minimum annual
  royalty shall be $10,000, excluding the initial fee in year 1
  of the license agreement"

3GPP apparently provides a reference implementation, though it's
not clear to me at this stage if that implementation actually
provides the quality claimed by the people who say it is better
than Opus for the extreme low-bandwidth niche.

What does appear to be clear though is that I'm not able to
redistribute the source of that, so I couldn't actually provide
it with my rtcweb implementation if I also wanted to give my
users the source for that (whether they paid me for it or not).

If those people wanted to use it, they'd have to jump through
all the hoops themselves to obtain it and a licence to use it.


So it's not at all clear to me how Opus isn't convincingly the
winner of the "lowest possible burden" test you propose either.

"Lowest possible" is of course a silly extreme.  That would be
raw PCM (modulo endianness trouble).  So I'm assuming you meant
something more sensible than that like lowest practical.

One codec, which covers all ranges and is as near as possible
in this modern world to being completely unencumbered would
seem to be the obvious answer there.


Luckily for us, such a thing actually exists, and the IETF even
has change control over it.

  What more could we wish for,
  Ron