Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion VBR decoding info
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Mathew Hendry  
View profile  
 More options Aug 13 2002, 6:24 pm
Newsgroups: alt.music.mp3
From: Mathew Hendry <mathewhen...@hotmail.com>
Date: Tue, 13 Aug 2002 23:24:58 +0100
Local: Tues, Aug 13 2002 6:24 pm
Subject: Re: VBR decoding info
On 13 Aug 2002 14:20:45 -0700, bueffel.sc...@cnf.com (Scott Bueffel)
wrote:

>I am looking for information on how to decode a VBR header.  I know
>someone who is reading the X number of frames to determine the average
>VBR quality\song length.  I told him to read the header to determine
>that, but he doesn't know how to do that.  Where is that information
>documented?  Thanks.

Xing designed the original VBR header, and they have an SDK on their
web site (http://www.xingtech.com/developer/mp3)

LAME produces an expanded VBR header that is backwards-compatible with
Xing's design; you should be able to find documentation on the LAME
web site (http://www.mp3dev.org). If not, ask on the mp3encoder or
lame-dev mailing lists.

Fraunhofer designed an incompatible "VBRI" header format when they
started supporting VBR encoding, but AFAIK they still haven't bothered
to document it. I partially decoded it a while ago, though - the below
should be enough for your purposes - all you need is the frame count
and file size.

Fraunhofer VBRI header format

0x0000 \
0x0001 |_______ MPEG header (160kbit/s, stereo)
0x0002 |
0x0003 /
0x0004 0x00     empty

...... .... ... .....

0x0023 0x00     empty
0x0024 0x56 'V'
0x0025 0x42 'B'
0x0026 0x52 'R'
0x0027 0x49 'I'
0x0028 0x00     ? version
0x0029 0x01     ? version
0x002a 0x09 \___encoder delay (value here correct for FhG VBR)
0x002b 0x31 /  
0x002c 0x00     ? quality (high byte)
0x002d          quality    (1-100)
0x002e \
0x002f |_______ file length in bytes
0x0030 |
0x0031 /
0x0032 \
0x0033 |_______ file length in frames
0x0034 |
0x0035 /
0x0036 \_______ number of seek offsets
0x0037 /
0x0038 0x00     ?
0x0039 0x01     ?
0x003a 0x00     ?
0x003b 0x02     ?
0x003c \_______ offset "stride" (number of frames between offsets)
0x003d /
0x003e \_______ seek offset 0 (from beginning of this header)
0x003f /
0x0040 \_______ seek offset 1 (from previous offset)
0x0041 /

...... .... ... .....

0x0208 \_______ seek offset n (from previous offset)
0x0209 /

-- Mat.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.