Re: [rtcweb] H.261 encoding samples at typical bitrates - sign language example

Maik Merten <maikmerten@googlemail.com> Sat, 07 December 2013 20:42 UTC

Return-Path: <maikmerten@googlemail.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 764501AE3FA for <rtcweb@ietfa.amsl.com>; Sat, 7 Dec 2013 12:42:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.98
X-Spam-Level:
X-Spam-Status: No, score=-0.98 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DC_IMAGE_SPAM_HTML=0.81, DKIM_SIGNED=0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=no
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 Q5bBGeZm4xpq for <rtcweb@ietfa.amsl.com>; Sat, 7 Dec 2013 12:42:01 -0800 (PST)
Received: from mail-ee0-x232.google.com (mail-ee0-x232.google.com [IPv6:2a00:1450:4013:c00::232]) by ietfa.amsl.com (Postfix) with ESMTP id 7C15B1AE3F7 for <rtcweb@ietf.org>; Sat, 7 Dec 2013 12:42:00 -0800 (PST)
Received: by mail-ee0-f50.google.com with SMTP id c41so858030eek.23 for <rtcweb@ietf.org>; Sat, 07 Dec 2013 12:41:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; bh=COGlfS3EcosjqFxODfrP4+31FoDzH3xN13ayVf7QY3o=; b=aIRy9gYRpf+r2RO/SmHoTGnRdz5ODNbfM7BJ11JowibUwYGYHoUbZ4rJq9uXGDLgVG srkpE5exFQN1sihcrrBvPa+ocbAEN3nAIyr5fmSgrriECdGlRrIZ93pWRGC5pKRSG1IY tZA4RtrorWs/u0XzMrJAfxu0SqPs9cvlQCNJsZZ1CJbaEJoiIDqRILtvvT60obbb/lvw cp49AVeq98RAPs2RIOPtuRZM2Y+oDTk4+GGcVYTerDjhZyFA7PlFK05u2Miy4oxuR0O5 pOfmhAxovBb2QVqcoeiGMgbkgXkHn8ql8j55D2dGxhwphIHmnIqk5BFXmuvLObDUz/Ls 3PDw==
X-Received: by 10.14.251.68 with SMTP id a44mr7351131ees.64.1386448915605; Sat, 07 Dec 2013 12:41:55 -0800 (PST)
Received: from [192.168.2.109] (port-92-201-6-8.dynamic.qsc.de. [92.201.6.8]) by mx.google.com with ESMTPSA id e43sm10015791eep.7.2013.12.07.12.41.48 for <rtcweb@ietf.org> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 07 Dec 2013 12:41:52 -0800 (PST)
Message-ID: <52A3880A.30709@googlemail.com>
Date: Sat, 07 Dec 2013 21:41:46 +0100
From: Maik Merten <maikmerten@googlemail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <529D4A06.4080708@librevideo.org> <529D5CCD.8070801@librevideo.org> <CAOJ7v-1OOvWKd1M0xkm5Wy_rsf4_58UM-8hzB4HYqoQq4zchnw@mail.gmail.com>
In-Reply-To: <CAOJ7v-1OOvWKd1M0xkm5Wy_rsf4_58UM-8hzB4HYqoQq4zchnw@mail.gmail.com>
Content-Type: multipart/mixed; boundary="------------060002010803050907000206"
Subject: Re: [rtcweb] H.261 encoding samples at typical bitrates - sign language example
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: Sat, 07 Dec 2013 20:42:05 -0000

Am 05.12.2013 22:05, schrieb Justin Uberti:
> Ow, my eyes...

Indeed, but old codecs such as H.261, MPEG-1 Part2, H.263 etc. somewhat 
rely on postprocessing at the receiving end for acceptable perceived 
quality in low-bitrate scenarios.

I attached a decoded frame of the ~256 kbps clip: One without 
postprocessing, one with mplayer's "pp" video postprocessing filter, and 
one with mplayer's "pp7" postprocessing filter. Clearly the filters 
cannot recover information lost in the low-bitrate encoding, but make 
things much less hurtful to look at, especially in motion.

Real-world performance thus also depends on the receiving end. This 
unfortunately is hard to assess and completely depends on implementation 
details of the receiver.


Maik



> The 256 kbps and lower clips are unusable. The 512 kbps clip is
> borderline, but might be usable if the framerate was cut in half.
>
> Remember also that these test clips are far better than what would be
> obtained from consumer webcams (i.e. good lighting, no shake, no
> temporal noise), so real-world performance is likely to be worse than
> what you see here.
>
>
> On Mon, Dec 2, 2013 at 8:23 PM, Basil Mohamed Gohar
> <basilgohar@librevideo.org <mailto:basilgohar@librevideo.org>> wrote:
>
>     On 12/02/2013 10:03 PM, Basil Mohamed Gohar wrote:
>      > Let's let any further discussions about the usability of H.261,
>     or any
>      > other codec for that matter, use actual examples going forward.
>      >
>      > The following is a VERY quick test of ffmpeg's h261 encoder in the
>      > context of the IETF's rtcweb working group's discussion of an MTI
>      > (mandatory-to-implement) video codec.
>      >
>      > sine_irene_cif.y4m taken from derf's collection:
>      >
>      > http://media.xiph.org/video/derf/y4m/sign_irene_cif.y4m
>      >
>      > ffmpeg version N-58565-gc122e69
>      >
>      > bitrate=64k,128k,256k,512k
>      >
>      > ffmpeg -i sign_irene_cif.y4m -codec:v h261 -b:v $bitrate -g 30
>      > sign_irene_cif.y4m-$bitrate.h261
>      >
>      > http://media.basilgohar.com/rtcweb/sign_irene_cif.y4m-64k.h261
>      > (real rate: 157.8kbits/s)
>      >
>      > http://media.basilgohar.com/rtcweb/sign_irene_cif.y4m-128k.h261
>      > (real rate: 165.6kbits/s)
>      >
>      > http://media.basilgohar.com/rtcweb/sign_irene_cif.y4m-256k.h261
>      > (real rate: 289.5kbits/s)
>      >
>      > http://media.basilgohar.com/rtcweb/sign_irene_cif.y4m-512k.h261
>      > (real rate: 541.8kbits/s)
>      >
>      > I apologize for the bitrate inflation, but if I had more time I can
>      > tweak the settings for a more accurate number.  These are simply the
>      > rates that ffmpeg produced with such a short clip at the given
>     requested
>      > rates.
>      >
>
>     I've updated the encoding settings as follows to get more accurate
>     resulting bitrates, but ffmpeg's h261 encoder seems to bottom-out at
>     around ~140kbps, so the only examples from above that are close (after
>     using the new settings) are 256k and 512k.
>
>     for bitrate in {1..512}k; do ffmpeg -i ../sign_irene_cif.y4m -codec:v
>     h261 -b:v $bitrate -minrate $bitrate -maxrate $bitrate -bufsize $bitrate
>     -qmax 1024 -g 30 -y sign_irene_cif.y4m-$bitrate.h261; done;
>
>     All the above posted examples can be viewed with mplayer and a bash
>     command line using the following, if you're interested:
>
>     mplayer
>     http://media.basilgohar.com/rtcweb/sign_irene_cif.y4m-{64,128,256,512}k.h261
>
>     The full integer range of bitrates from 1 to 512 can be found here:
>
>     http://media.basilgohar.com/rtcweb/h261/
>
>     Target bitrate and actual bitrate start to match around 150kbps with
>     these new settings.
>
>     I am currently exploring other codecs with the same methodology and will
>     share the results accordingly.
>
>     --
>     Libre Video
>     http://librevideo.org
>     _______________________________________________
>     rtcweb mailing list
>     rtcweb@ietf.org <mailto:rtcweb@ietf.org>
>     https://www.ietf.org/mailman/listinfo/rtcweb
>
>
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>