Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: VBR files cause skipping on consumer players (Read 3757 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

VBR files cause skipping on consumer players

Well, I've been reading a lot on audio compression formats and decided to stay with LAME -alt-preset standard for the time being. I also planned on tagging all files I do myself using ID3 V2.

The problem is that when I play such an encoded file on my no-name portable mp3 player it tends to skip inside a song. So you can hear the first 30 seconds but suddenly it continues at 2:43 and then jumps to yet another place of the song. This is reproducable in a certain way so that I can say it happens to almost every VBR recorded song.

Now I've read here (click on the ID3V2 logo) that this might be a side-effect of using both VBR and ID3 V2:

Quote
2. Adding an ID3v2 tag to a VBR (or ABR) mp3 file makes it nearly impossible to get these files to play correctly
VBR and ABR mp3s contain a "VBR Header" in the first frame of the file.  If you add any data (eg. ID3v2) in front of this even the best players, like winamp, don't find the VBR information. Hence, you get a wrong track length indication and no accurate lookup of a random position in the file.  If you have to use ID3-tags for a reason, use the ID3v1 tag which, at least, is attached at the end of the mp3 file.

( In response to this page, some people wrongly claim this is not the case.  Most of the time, not always, winamp behaves as such.  If you get shown a bitrate converging to some average number (eg: 157-162-163-163-...) instead of the valid ...128/160/192... framesizes alternating then winamp did not read the VBR header. )

Expect some hardware players not to support this at all.  I know the KENWOOD car series only plays ID3 v1.0 and v1.1 tags.  I don't know if it'll play mp3 files that contain random data at the start of the mp3.  Probably not, as it's no valid mp3 data. 


For a test I removed the ID3 V2 tag of some of my mp3s and STILL I had some skipping in those songs (which I did not have with CBR songs).

Additionally the remaining time is not displayed correctly in Winamp 2.78. So when I make a playlist of all the songs in a dir I get the weirdest times displayed like 23:23 minutes for a song. Now whenever I play a song in the list the 'estimated' time gets reduced to something more reasonable like 3:48 but STILL it's not the exact amount of time as I only realize when I play the song till it's end.

So my question is:

- how come those files cannot be played correctly?
- how can I prevent this to happen?

TIA!
http://www.dvdshrink.info/chetwood/
Tools n' guides to automate/enhance the process of ripping DVDs with DVD Shrink
Home of MultiShrink: a small tool to enable DVD Shrink batch processing

VBR files cause skipping on consumer players

Reply #1
Quote
Originally posted by Chetwood
(...)Additionally the remaining time is not displayed correctly in Winamp 2.78. 
maybe when u removed the id3v2, u removed the xing header too(http://66.96.216.160/cgi-bin/YaBB.pl?board...0670714&start=8)
try to use vbrfix: http://www.willwap.btinternet.co.uk/programs/vbrfix.htm

[span style='font-size:9'][edit]and, plz, dont double post [/edit][/span]

VBR files cause skipping on consumer players

Reply #2
Quote
Originally posted by marteataca
maybe when u removed the id3v2, u removed the xing header too


Actually I think that the Xing header wasn't constructed at all when I made the mp3 with Audiograbber and LAME 3.92. I've used VBRfix on the files that still had their ID3 V2 tag and after that the remaining time was displayed correctly.

So the question is, wether it's a bug of Audiograbber or LAME or if they don't work together as they should. Gonna ask in the Audiograbber forums first.

Quote
and, plz, dont double post


Hmmh, are these two boards connected in any way and do they share the same audience? I thought these were too seperate boards with only a few common users so a post on both should be legit and increase the number of potiential helpful answers...
http://www.dvdshrink.info/chetwood/
Tools n' guides to automate/enhance the process of ripping DVDs with DVD Shrink
Home of MultiShrink: a small tool to enable DVD Shrink batch processing

VBR files cause skipping on consumer players

Reply #3
Quote
Originally posted by Chetwood
Expect some hardware players not to support this at all. I know the KENWOOD car series only plays ID3 v1.0 and v1.1 tags. I don't know if it'll play mp3 files that contain random data at the start of the mp3. Probably not, as it's no valid mp3 data. /B]


Well ID3v2 is not random data, it's data that CAN'T contain a syncword. So the file is fully playable.

And now Winamp handles ID3v2 correctly. It even tells you the position of the first header in the file (the Xing frame if there is one).

VBR files cause skipping on consumer players

Reply #4
disable encoder uses stdin/stdout or something like that.

VBR files cause skipping on consumer players

Reply #5
As I've just read in the German Audigrabber forum this is some kind of a LAME bug. When using it to directly grab mp3s from CD it does not write the Xing header correctly. Only when I use a temporary wav file and then encode to mp3 the header is written correctly.

So my question is now: can this be fixed (and who would I have to ask about it) or is this by design? I mean, how does LAME know when and in which frames of the file to write the Xing header when it does no yet know how large the file will become? Does a Xing header have to be in every x-th frame or what?

Thanks again!
http://www.dvdshrink.info/chetwood/
Tools n' guides to automate/enhance the process of ripping DVDs with DVD Shrink
Home of MultiShrink: a small tool to enable DVD Shrink batch processing

VBR files cause skipping on consumer players

Reply #6
I have never had any problems like this, though I know of someone who has; I use Exact Audio Copy with LAME 3.92 (and formerly 3.91 & 3.90). 

Some tagging programs might not recognize the VBR header and try to overwrite it or screw it up somehow... though this is only a guess.  Can anyone back me up on that?

EDIT: Also, I don't think a missing VBR header would cause the files to skip.  I mean, M$ WMP doesn't read Xing headers correctly, but still plays them back just fine.  I have heard that some MP3 portable players just don't support VBR as they should.

VBR files cause skipping on consumer players

Reply #7
Quote
Originally posted by Moguta

Some tagging programs might not recognize the VBR header and try to overwrite it or screw it up somehow... though this is only a guess. 


Quite possible but I did not use any specific tagging program but Audiograbber did it while generating the file.

Quote
EDIT: Also, I don't think a missing VBR header would cause the files to skip.  I mean, M$ WMP doesn't read Xing headers correctly, but still plays them back just fine.  I have heard that some MP3 portable players just don't support VBR as they should.


Actually it doesn't. I mean, playback works as with Winamp but the total time of the file is not displayed correctly even when the file is played through. I got a song of 4:15 and Micros~1 Media Player says it's 1:52 even though it plays for the whole 4:15 mins. So you seem to have tried only regular VBR mp3s.

As said before, the bug is reproducable so if you've got some time to waste try it out with Audiograbber. I don't wanna enter any discussion about why EAC is or is not better than Audiograbber. I just wanna know who of the LAME team I would have to mail about that header bug. Do those guys read this forum, cause they linked to it from their pages...
http://www.dvdshrink.info/chetwood/
Tools n' guides to automate/enhance the process of ripping DVDs with DVD Shrink
Home of MultiShrink: a small tool to enable DVD Shrink batch processing

VBR files cause skipping on consumer players

Reply #8
this is not a lame bug! It is simply impossible to write something into the beginning of a file after it is encoded, don't you think .  A code change could do this, but this would cause longer encoding times and something like an info cache or text file where the information is saved and then written to the file!

You could use vbrfix to fix the mp3, but i don't know if you want to do this. Simply uncheck the stdin / stdout boxes and use the other suggestions made in the german  AG forum!

VBR files cause skipping on consumer players

Reply #9
Quote
Originally posted by Benjamin Lebsanft
this is not a lame bug! It is simply impossible to write something into the beginning of a file after it is encoded, don't you think .  A code change could do this, but this would cause longer encoding times and something like an info cache or text file where the information is saved and then written to the file!


Well, the ID3V2 header is also at the beginning of the file. Whatever, as I've said before in this thread this 'bug' might be by design simply because the mp3 is in the process of being built when the Xing header is added. So I'd like to ask those LAME guys (or anyone else who does know about stuff) where the Xing header is written into a VBR mp3. Is it at the beginning of the mp3, every mp3 frame or only several mp3 frames (every 10th or so) when it is a VBR mp3.

IMO the adding of the Xing header should work in any of those three cases even in runtime. Cause if you can write a normal mp3 frame header during encoding you can also write a Xing header, right? Of course, if the Xing header has info about the complete file it could certainly only be added at the end of the whole encoding process.

And that's what I'd like to get cleared up! Personally I think the most convenient way of ripping VBR mp3s is straight from CD to mp3 without having to use any temp wav files or something....
http://www.dvdshrink.info/chetwood/
Tools n' guides to automate/enhance the process of ripping DVDs with DVD Shrink
Home of MultiShrink: a small tool to enable DVD Shrink batch processing

VBR files cause skipping on consumer players

Reply #10
Well, the ID3 Tag doesn't need information about bitrate and so on and can be added right at the beginning because the needed information is already in AG or EAC!

The Xing Header can only be written after the was encoded and the exact bitrate was determined. To my knowledge the xing/lame header is in front of the mp3!

Then again, how could you add something to the beginning of a file, when the file was already written. Its just impossible!

btw, where is your problem with temporary wave files ?

VBR files cause skipping on consumer players

Reply #11
Quote
Originally posted by Benjamin Lebsanft
The Xing Header can only be written after the was encoded and the exact bitrate was determined. To my knowledge the xing/lame header is in front of the mp3!


Well, there's no exact bitrate since it differs from frame to frame, that's what makes an VBR mp3, right? Still, I agree that some info might be needed that is only available when the whole file is done. That's why I'm desperately hoping for someone with enough knowledge of the Xing header and the LAME encoding process to drop in to shed some light on it.

Quote
Then again, how could you add something to the beginning of a file, when the file was already written. Its just impossible!


Definitely not impossible. Did you ever manually add an ID3V2 tag to an untagged file with Winamp? The whole data is moved and the tag added in front of it, that's why it takes so long.

Quote
btw, where is your problem with temporary wave files ?


Lack of convenience, additional time, additional hd space.
http://www.dvdshrink.info/chetwood/
Tools n' guides to automate/enhance the process of ripping DVDs with DVD Shrink
Home of MultiShrink: a small tool to enable DVD Shrink batch processing

 

VBR files cause skipping on consumer players

Reply #12
exact bitrate should be average bitrate in my sentence 

Quote
Definitely not impossible. Did you ever manually add an ID3V2 tag to an untagged file with Winamp? The whole data is moved and the tag added in front of it, that's why it takes so long.


well, then you can directly go over temporary wave files. Should be a bit faster!

Quote
Lack of convenience, additional time, additional hd space.


well, if you add the header afterwards with vbrfix or something like that, the time benefits wouldn't be that big! An 40 - 50 MB shouldn't be the issue!