Re: [rtcweb] H261/MPEG-1 video quality (was: I'd love it if patents evaporated)

Adam Roach <> Thu, 14 November 2013 23:16 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B010321E809F for <>; Thu, 14 Nov 2013 15:16:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -101.517
X-Spam-Status: No, score=-101.517 tagged_above=-999 required=5 tests=[AWL=-0.810, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_45=0.6, MISSING_HEADERS=1.292, SPF_PASS=-0.001, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id mNzQ0Ay3rYht for <>; Thu, 14 Nov 2013 15:16:58 -0800 (PST)
Received: from ( [IPv6:2001:470:1f03:267::2]) by (Postfix) with ESMTP id 9070711E8112 for <>; Thu, 14 Nov 2013 15:16:54 -0800 (PST)
Received: from ( []) (authenticated bits=0) by (8.14.3/8.14.3) with ESMTP id rAENGrfU051050 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO) for <>; Thu, 14 Nov 2013 17:16:53 -0600 (CST) (envelope-from
Message-ID: <>
Date: Thu, 14 Nov 2013 17:16:52 -0600
From: Adam Roach <>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.1.0
MIME-Version: 1.0
CC: "" <>
References: <> <> <> <>
In-Reply-To: <>
Content-Type: multipart/alternative; boundary="------------050603090208050009030701"
Received-SPF: pass ( is authenticated by a trusted mechanism)
Subject: Re: [rtcweb] H261/MPEG-1 video quality (was: I'd love it if patents evaporated)
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 14 Nov 2013 23:17:00 -0000

I sent a reply to this earlier, but just now realized that it went only 
to Justin, not to the list.

On 11/14/13 13:59, Justin Uberti wrote:
> Thanks, this is interesting. Is the ffmpeg 261 encoder limited to 
> CIF/QCIF, or can you specify arbitrary sizes?

It looks like the ffmpeg mpeg-1 coder works for arbitrary sizes. I'm not 
sure what the difference between mpeg-1 and H.261 are, though, so we 
could be talking apples and oranges (or at least apples and pears) here. 
I'll note that mpeg-1 came out in 1991, which is a good 22 years in the 
past. I'm not drawing IPR conclusions for you, but invite you to ponder 
the implications yourself.

Following Maik's lead with the mpeg-1 js decoder, I put this together:

...with this commandline:

   ffmpeg -i maven.mp4 -f mpeg1video -flags qprd -mbd rd -cmp rd -subcmp 
rd -mbcmp rd -precmp rd -trellis 2 -g 100 -vb 256k maven.mpg

I don't really understand most of those options (I just cribbed them 
from Maik's example) or whether any of them would introduce more latency 
than is reasonable for a real-time conversation, but I will observe:

 1. The encoder claims that it was performing on the order of 90 - 100
    fps on my (admittedly modern) system;
 2. The resolution is 640x360 (somewhat larger than DCIF);
 3. The video is not, to my eye, unusable (draw your own conclusions, as
    it's clearly not as nice as modern codecs);
 4. At 74 seconds and 4.7 MBytes (i.e., 37.6 Mbits), this encoding works
    out to 508 kbits/second total.

Source video here, and NASA is acknowledged as the source of the 
material contained therein: