Re: [rtcweb] Straw Poll on Video Codec Alternatives

Roman Shpount <roman@telurix.com> Tue, 10 December 2013 18:58 UTC

Return-Path: <roman@telurix.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D5B851ADF5B for <rtcweb@ietfa.amsl.com>; Tue, 10 Dec 2013 10:58:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.978
X-Spam-Level:
X-Spam-Status: No, score=-1.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 7bCF6pufA4U0 for <rtcweb@ietfa.amsl.com>; Tue, 10 Dec 2013 10:58:19 -0800 (PST)
Received: from mail-wg0-f52.google.com (mail-wg0-f52.google.com [74.125.82.52]) by ietfa.amsl.com (Postfix) with ESMTP id C350F1AE091 for <rtcweb@ietf.org>; Tue, 10 Dec 2013 10:58:18 -0800 (PST)
Received: by mail-wg0-f52.google.com with SMTP id x13so5326550wgg.31 for <rtcweb@ietf.org>; Tue, 10 Dec 2013 10:58:13 -0800 (PST)
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:date :message-id:subject:from:to:cc:content-type; bh=0PX6zSYJzZAKd1cI+d2grx+N+aLxf6WoPCBZYlPWSYI=; b=S1bixQAy0Z6ybfXLBTiC8QeI8gtKMHIycXAi2J69ED07kh2ZDIlelMQG1dVicFH0LA nlMfGpUfSlKRSssAEPeTeMo0KzPenEgDLHRvLEKlzFWKiw+mq3YZczZ+zpXRswvjALze dnKD+2FNejy2aDYTyG/5PB0sMt7i6H+hHAOk0nkLozIOqXaRJVE3tm6vEo9b3tRkDtfw IBH4oy2lSmvb/vnOiXqUHwSUgypwOkryV3qoGFp+1DqwLGODO9pEVfwfXrrXrCnMI1PH TWwYol9QoLxu4ccXSZDlPMGKztt9JQLXF8gbVIaksC6LdHRU2ZxJv8O887WJSlYucN/+ hEGw==
X-Gm-Message-State: ALoCoQns+VxfNbBsT9lhm51z1ut8igc90Hl73VPMZC4N+r2rXmlGoCFWy86r5leGiawK4HQGwod8
X-Received: by 10.194.90.144 with SMTP id bw16mr22359539wjb.1.1386701893012; Tue, 10 Dec 2013 10:58:13 -0800 (PST)
Received: from mail-wi0-f170.google.com (mail-wi0-f170.google.com [209.85.212.170]) by mx.google.com with ESMTPSA id qc10sm7591035wic.9.2013.12.10.10.58.12 for <rtcweb@ietf.org> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 10 Dec 2013 10:58:12 -0800 (PST)
Received: by mail-wi0-f170.google.com with SMTP id hq4so5803673wib.3 for <rtcweb@ietf.org>; Tue, 10 Dec 2013 10:58:11 -0800 (PST)
MIME-Version: 1.0
X-Received: by 10.194.201.225 with SMTP id kd1mr22589865wjc.35.1386701891380; Tue, 10 Dec 2013 10:58:11 -0800 (PST)
Received: by 10.217.88.133 with HTTP; Tue, 10 Dec 2013 10:58:11 -0800 (PST)
In-Reply-To: <CA+9kkMBSpDLJBBbPxgyMUi+bi3aw3D8zpSXcAvQ4koi115QqBg@mail.gmail.com>
References: <CA+9kkMBSpDLJBBbPxgyMUi+bi3aw3D8zpSXcAvQ4koi115QqBg@mail.gmail.com>
Date: Tue, 10 Dec 2013 13:58:11 -0500
Message-ID: <CAD5OKxsszXQywzMvBP1Wpc0FzFZroLDNg8+C-4nM936BvZLarg@mail.gmail.com>
From: Roman Shpount <roman@telurix.com>
To: Ted Hardie <ted.ietf@gmail.com>
Content-Type: multipart/alternative; boundary="047d7b86f172a5313204ed32b1f4"
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>, Cullen Jennings <fluffy@cisco.com>
Subject: Re: [rtcweb] Straw Poll on Video Codec Alternatives
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
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: Tue, 10 Dec 2013 18:58:24 -0000

Honestly, why are we wasting our time on this? I can do a straw poll, but
there are no options acceptable to everybody present. Here is my analysis
of presented options:

H.264 -- Not acceptable to anybody who is not already using H.264 due to
its licensing schema. To license H.264 you need to make a deal with
MPEG-LA. After this you need to make a deal with Nokia and other people not
part of MPEG-LA. As a result you are going to get rights to decoder.
Encoder is not specified by the standard and there are no obligations for
MPEG members to declare anything, so you are more then likely exposed to
addition IPR risks when implementing a good encoder. You cannot afford not
to license since if you are real business (ie one generating money or
taking investor money) you cannot afford such business risk. Even if you
are planning to distribute less then 100K codec instances you will still
need a license since MPEG-LA terms are ambiguous enough that you would want
to have a contact that clarifies what exactly you can do. After you jumped
through all these licensing hoops you are still exposed to all the
potential undisclosed IPR with your only hope that patent trolls will go
after the bigger guys first (from my experience they will not).

Using Cisco binary codec is also unacceptable unless you are doing
something basic since it limits what you can do by requiring to use their
pre-built binary. I am building conferencing servers, so I expect that I
will need to optimize the codec for my needs. I will need to build custom
optimized VP8 to H.264 transcoder. I will need to build custom H.264
bitrate adaptation (ie H.264 to H.264 transcoder to adjust bitrate). All of
this is not an option with Cisco binary.

Bottom line H.264 is not acceptable to me or people like me.

VP8 -- This works for me but I see that this will not work for any company
already using H.264 or ever planning to sue Google. If you are already
using H.264, why do you want to expose yourself to additional IPR risks?
Google license is not acceptable to many larger companies (partially due to
this license being automatically revoked if you decide to sue Google for
reasons non related to VP8) . Fail for VP8.

All the other codecs -- Their quality is too low for modern communications
to be used for anything except when everything else fails. They are better
then nothing but neither one of them is widespread enough and used enough
to simply be there.  They all present additional maintenance and
development effort. They also present an additional IPR risk. H.261 and
H.263 only specify decoders. If you try to optimize the encoder to work
better you most likely run into patents that have not expired yet. So, all
the other codecs are not an option either.

My proposal -- no MTI until a new non encumbered video codec, like Daala,
is developed specifically for this purpose. Until then this discussion is
essentially discussion G.722.2 vs Vorbis vs Linear PCM for audio codec MTI.
Neither one was acceptable for WebRTC, so Opus was developed. The same
needs to be done for video.
_____________
Roman Shpount


On Mon, Dec 9, 2013 at 12:24 PM, Ted Hardie <ted.ietf@gmail.com> wrote:

> Dear WG,
>
> This is the email announcing the straw poll across the video codec
> alternatives proposed to the WG. If you haven’t read the “Next Steps in
> Video Codec Selection Process” (
> http://www.ietf.org/mail-archive/web/rtcweb/current/msg10448.html )then
> please do that before you continue to read.
>
> The straw poll’s purpose is to make it clear to the WG which of the
> alternatives that are favored or disfavored and what objections you have,
> if any, against a particular alternative. The WG chairs will use the
> information from this straw poll to identify an alternative to put as a
> single consensus question to the group. Thus, everyone that has an opinion
> on at least one alternative should answer this poll. Provide your poll
> input by replying to this email to the WG mailing list. The poll will run
> until the end of the 12th of January 2014.
>
> As can be seen below, the poll lists the alternative that have proposed to
> the WG. For each alternative two questions are listed.
>
> The first question is “Are you in favor of this option
> [Yes/No/Acceptable]:”. These three levels allow you to indicate that you:
> Yes= I would be fine with the WG choosing this option. No = I really don’t
> favor this, and it should not be picked. Acceptable = I can live with this
> option but I prefer something else to be picked.
>
> The second question is “Do you have any objections to this option, if so
> please explain it:” If you have any objection at a minimum indicate it with
> a “Yes”.   Please also add a short (1-sentence) summary of each of the
> objections you believe applies.  (If you wish to provide a longer
> explanation, please do so in a separate thread).  If you have no objection,
> leave that question blank.
>
> Please provide input on as many of the alternatives as you like and feel
> comfortable to do. The more inputs, the more well informed decision the WG
> chairs can take when identifying the option to be brought forward for
> consensus. Any alternative that you chose to leave blank, will simply be
> considered as one without any input from you.
>
> WG participants, please do not comment on anyone’s input in this thread!
> If you want to comment, then create a separate thread and change the
> subject line to something else. Otherwise you are making life for the
> chairs very difficult to track the results of this straw poll.
>
> If discussion causes you to update your position, please feel free to send
> an update via email on the straw poll thread prior to the closing date.
>
>
>
>    1.
>
>    All entities MUST support H.264
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       2.
>
>    All entities MUST support VP8
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       3.
>
>    All entities MUST support both H.264 and VP8
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       4.
>
>    Browsers MUST support both H.264 and VP8, other entities MUST support
>    at least one of H.264 and VP8
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       5.
>
>    All entities MUST support at least one of H.264 and VP8
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       6.
>
>    All entities MUST support H.261
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       7.
>
>    There is no MTI video codec
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       8.
>
>    All entities MUST support H.261 and all entities MUST support at least
>    one of H.264 and VP8
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       9.
>
>    All entities MUST support Theora
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       10.
>
>    All entities MUST implement at least two of {VP8, H.264, H.261}
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       11.
>
>    All entities MUST implement at least two of {VP8, H.264, H.263}
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       12.
>
>    All entities MUST support decoding using both H.264 and VP8, and MUST
>    support encoding using at least one of H.264 or VP8
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       13.
>
>    All entities MUST support H.263
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       14.
>
>    All entities MUST implement at least two of {VP8, H.264, Theora}
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       15.
>
>    All entities MUST support decoding using Theora.
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>       16.
>
>    All entities MUST support Motion JPEG
>    1.
>
>       Are you in favor of this option [Yes/No/Acceptable]:
>       2.
>
>       Do you have any objections to this option, if so please summarize
>       them:
>
>
>
>  H.264 is a reference to the proposal in
> https://datatracker.ietf.org/doc/draft-burman-rtcweb-h264-proposal/<https://datatracker.ietf.org/doc/draft-burman-rtcweb-h264-proposal/>
>
> VP8 is a reference to the proposal in
> https://datatracker.ietf.org/doc/draft-alvestrand-rtcweb-vp8/<https://datatracker.ietf.org/doc/draft-alvestrand-rtcweb-vp8/>
>
> Theora is a reference to Xiph.org Theora Specification from March 16, 2011
> (http://www.xiph.org/theora/doc/Theora_I_spec.pdf)
>
> H.263 is a reference to profile 0 level 70 defined in annex X of ITU-T rec
> H.263 (http://www.itu.int/rec/T-REC-H.263/)
>
> H.261 is a reference to http://tools.ietf.org/html/rfc4587
>
> Motion JPEG is a reference to http://tools.ietf.org/html/rfc2435
>
>
> Thanks,
>
> The Chairs
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>
>