IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Do Not Use the Vorbis FFMPEG enecoder if you building WebM!, Monty mentions this in his blog post, but nobody is listening!
HotshotGG
post Jun 12 2010, 18:37
Post #1





Group: Members
Posts: 1593
Joined: 24-March 02
From: Revere, MA
Member No.: 1607



A lot of open-source enthusiasts and advocates are very excited about Google latest announcement of VP8 / Vorbis combo in a new container called WebM. The entire HTML 5 enthusiasts are so excited that they went a ahead a little to prematurely are building suboptimal builds! Michael Niedermeyer of FFMPEG projects acknowledges that the FFMPEG Vorbis encoder is buggy! Monty has a work around on his blog if you plan on building the WebM encoder under Linux. I am also providing an explanation in the wiki as to why it's generally a good idea to use the mainline libvorbis with libavcodec instead due to the fact that is has 5.1 channel coupling implemented correctly! Please spread the word as this will turn into a disaster sooner or later before it's patched. If you thought the HTML 5 wars are not bad enough now! laugh.gif

Monty's Blog:
http://xiphmont.livejournal.com/51160.html

This post has been edited by HotshotGG: Jun 12 2010, 18:43


--------------------
College student/IT Assistant
Go to the top of the page
+Quote Post
NullC
post Jun 14 2010, 01:13
Post #2





Group: Developer
Posts: 200
Joined: 8-July 03
Member No.: 7653



TOS #8!!!


Go to the top of the page
+Quote Post
Kohlrabi
post Jun 14 2010, 08:54
Post #3





Group: Super Moderator
Posts: 953
Joined: 12-March 05
From: Kiel, Germany
Member No.: 20561



I don't get the point of this post, ffmpeg-people always suggested using libvorbis over their internal encoder, nothing new here. It's the same for ffmpeg's AAC encoder, for example. Noone should use software blindly without doing some (re)search on its functionality first. The easiest way is to drop by in #ffmepg on freenode and just ask. You'd be surprised as to how many "guides" on the net are bad or plain wrong.

If you use libvorbis you have to make sure it's the newest version to have correct multichannel coupling, as this was just introduced recently. AoTuV does not have the new coupling, yet.

This post has been edited by Kohlrabi: Jun 14 2010, 09:00


--------------------
Audiophiles live in constant fear of jitter.
Go to the top of the page
+Quote Post
Zarggg
post Jun 14 2010, 17:09
Post #4





Group: Members
Posts: 533
Joined: 18-January 04
From: bethlehem.pa.us
Member No.: 11318



QUOTE (NullC @ Jun 13 2010, 20:13) *
TOS #8!!!

How is it TOS8 if the user is just passing on word that ffmpeg is acknowledging a known bug in their encoder? Do we need to ABX for programming errors now?

Sarcasm aside, Kohlrabi does make a good point.
Go to the top of the page
+Quote Post
NullC
post Jun 14 2010, 17:48
Post #5





Group: Developer
Posts: 200
Joined: 8-July 03
Member No.: 7653



QUOTE (Zarggg @ Jun 14 2010, 09:09) *
QUOTE (NullC @ Jun 13 2010, 20:13) *
TOS #8!!!

How is it TOS8 if the user is just passing on word that ffmpeg is acknowledging a known bug in their encoder? Do we need to ABX for programming errors now?
Sarcasm aside, Kohlrabi does make a good point.


It's not buggy in that sense. It's not like it crashes. The claim is that it produces significantly poor quality. Squarely within the sights of TOS8.

There are some people who do not believe these claims, or at least think they are exaggerated. The largest and most visible user of WEBM is using ffvorbis.
It would be useful to have an independent (from the developers of libvorbis) validation of the perceptual performance... since the "well known suggestion to use libvorbis" is not that well known.




Go to the top of the page
+Quote Post
saratoga
post Jun 14 2010, 18:39
Post #6





Group: Members
Posts: 4715
Joined: 2-September 02
Member No.: 3264



I don't think you have to validate something the developers of which claim is unusably bad, unless you're think they're out to fool you or something.
Go to the top of the page
+Quote Post
LordWarlock
post Jun 14 2010, 18:41
Post #7





Group: Members
Posts: 120
Joined: 21-August 05
Member No.: 24044



QUOTE (NullC @ Jun 14 2010, 18:48) *
It would be useful to have an independent (from the developers of libvorbis) validation of the perceptual performance... since the "well known suggestion to use libvorbis" is not that well known.

And Monty is... ???

QUOTE (xiphmont)
The FFmpeg internal encoder is just a very simple encoder that makes no attempt at high quality. It includes no psychoacoustic code and its only goal is to spit out a valid bitstream, not make it sound good.

Source: http://xiphmont.livejournal.com/51160.html...=145112#t145112
Go to the top of the page
+Quote Post
NullC
post Jun 14 2010, 19:21
Post #8





Group: Developer
Posts: 200
Joined: 8-July 03
Member No.: 7653



QUOTE (LordWarlock @ Jun 14 2010, 10:41) *
QUOTE (NullC @ Jun 14 2010, 18:48) *
It would be useful to have an independent (from the developers of libvorbis) validation of the perceptual performance... since the "well known suggestion to use libvorbis" is not that well known.

And Monty is... ???

QUOTE
The FFmpeg internal encoder is just a very simple encoder that makes no attempt at high quality. It includes no psychoacoustic code and its only goal is to spit out a valid bitstream, not make it sound good.

Source: http://xiphmont.livejournal.com/51160.html...=145112#t145112


Yes, Monty is the primary developer of libvorbis. As such, this is not independent from the developers of libvorbis. For all some third party knows Monty's complaints could just be sour grapes and preference for his own code.

I know this isn't the case... but I think it's not so obvious to everyone. Some actually independent validation would really provide good ammunition for convincing people not to use ffvorbis. I've been trying and largely failing for a long time now— I even got ffmpeg to completely disable it, but they re-enabled it a week later. In a world full of people who call 64kbit/sec MP3 "CD quality" getting people motivated enough to take an effort to choose a better vorbis encoder than the default is non-trivial.

QUOTE ( @ Jun 14 2010, 10:39) *
I don't think you have to validate something the developers of which claim is unusably bad, unless you're think they're out to fool you or something.


A web-accessible citation that the developers of ffvorbis consider it to be unusably bad would be very helpful.

This post has been edited by NullC: Jun 14 2010, 19:37
Go to the top of the page
+Quote Post
Canar
post Jun 14 2010, 20:16
Post #9





Group: Super Moderator
Posts: 3327
Joined: 26-July 02
From: princegeorge.ca
Member No.: 2796



Canar reporting in with an ABX. A blind monkey could do it. I see deaf people.

Vorbis via libvorbis v1.3.1 -q1 at ~84kbps vs. FFMPEG v0.5.2 -aq20 at 104kbps. Pink Floyd's Fearless off of Meddle.

FFMPEG sounds like shit, even at the higher bitrate. Pre-echo, warbling... all over the place. Libvorbis sounds significantly more transparent.

Sorry I couldn't bitrate match better, too lazy. FFMPEG still fails it.

Edit: For some perspective, I've played around with more bitrates. Libvorbis at -q0 (65kbps on this sample) has about the same amount of warbling as FFMPEG at -aq30 (136kbps on this sample) and has significantly less pre-echo. Seriously. Monty's not joking around here. FFMPEG is an immature, novel implementation of a Vorbis encoder and it clearly shows. This is not meant to disrespect FFMPEG; such a task is not trivial. However, if transparency matters at all, -q0 beats FFMPEG at half the bitrate and that's no exaggeration. "Unusably bad" is not rhetoric, I think that's an accurate portrayal of the state of FFMPEG's current Vorbis encoder state. It's like old-school Xing vs. LAME.

Edit 2: WHOOPS! I wasn't using libvorbis 1.3.1, I was using aoTuV b5.7. Switching doesn't change the results all that much. -q0 is now a bit less transparent, but FFMPEG still loses out, for the same reasons.

This post has been edited by Canar: Jun 14 2010, 20:42


--------------------
∑:<
Go to the top of the page
+Quote Post
saratoga
post Jun 14 2010, 20:45
Post #10





Group: Members
Posts: 4715
Joined: 2-September 02
Member No.: 3264



QUOTE (NullC @ Jun 14 2010, 14:21) *
QUOTE (LordWarlock @ Jun 14 2010, 10:41) *
QUOTE (NullC @ Jun 14 2010, 18:48) *
It would be useful to have an independent (from the developers of libvorbis) validation of the perceptual performance... since the "well known suggestion to use libvorbis" is not that well known.

And Monty is... ???

QUOTE
The FFmpeg internal encoder is just a very simple encoder that makes no attempt at high quality. It includes no psychoacoustic code and its only goal is to spit out a valid bitstream, not make it sound good.

Source: http://xiphmont.livejournal.com/51160.html...=145112#t145112


Yes, Monty is the primary developer of libvorbis. As such, this is not independent from the developers of libvorbis. For all some third party knows Monty's complaints could just be sour grapes and preference for his own code.

I know this isn't the case... but I think it's not so obvious to everyone. Some actually independent validation would really provide good ammunition for convincing people not to use ffvorbis. I've been trying and largely failing for a long time now— I even got ffmpeg to completely disable it, but they re-enabled it a week later. In a world full of people who call 64kbit/sec MP3 "CD quality" getting people motivated enough to take an effort to choose a better vorbis encoder than the default is non-trivial.

QUOTE ( @ Jun 14 2010, 10:39) *
I don't think you have to validate something the developers of which claim is unusably bad, unless you're think they're out to fool you or something.


A web-accessible citation that the developers of ffvorbis consider it to be unusably bad would be very helpful.


The ffmpeg people have said many times not to use their vorbis encoder. This is why they have support for the Xiph one. The problem has nothing to do with people refusing to believe ffmpeg and Xiph about how to encode vorbis files, as such providing more evidence will not help at all.

The problem is that people do not realize their are two vorbis encoders available in ffmpeg and are merely going with the first one they see, which is often the bad one. Again do google a search. This has been widely discussed many times by all parties involved. Hopefully ffmpeg will just disable the bad encoder or at least provide a warning so that people stop using it.
Go to the top of the page
+Quote Post
lvqcl
post Jun 14 2010, 20:57
Post #11





Group: Developer
Posts: 3206
Joined: 2-December 07
Member No.: 49183



What is worse: FFMPEG Vorbis, FFMPEG WMA or FFMPEG AAC?
Go to the top of the page
+Quote Post
Canar
post Jun 14 2010, 21:11
Post #12





Group: Super Moderator
Posts: 3327
Joined: 26-July 02
From: princegeorge.ca
Member No.: 2796



QUOTE (lvqcl @ Jun 14 2010, 14:57) *
What is worse: FFMPEG Vorbis, FFMPEG WMA or FFMPEG AAC?
-.- I'll leave this for someone else.


--------------------
∑:<
Go to the top of the page
+Quote Post
HotshotGG
post Jun 15 2010, 05:52
Post #13





Group: Members
Posts: 1593
Joined: 24-March 02
From: Revere, MA
Member No.: 1607



QUOTE
The problem is that people do not realize their are two vorbis encoders available in ffmpeg and are merely going with the first one they see, which is often the bad one. Again do google a search. This has been widely discussed many times by all parties involved. Hopefully ffmpeg will just disable the bad encoder or at least provide a warning so that people stop using it.


Thank you this is merely what I was pointing out! This is what I was getting at I should have been a little clearer. It seems like in my opinion though nobody is really listening though like NullC!? You know "naysayers" are only going to use this as a jump off point to spear WebM and bitch about how bad the audio quality is due to the fact that the FFMPEG Vorbis encoder has no Psychoacoustics model thus spawning an endless nerd flame fest on Slashdot that will last for two centuries laugh.gif . Many of you may or may not know, but YouTube and other independent video sites for example uses commercial software for mass transcoding, etc. There have been complaints of "ringing artifacts" already on Debian boards.

QUOTE
Canar reporting in with an ABX. A blind monkey could do it. I see deaf people.


Thank for you performing an ABX test to validate the claims. Empirical evidence helps! I didn't doubt him I was just passing the world along I noticed nobody picked up on it here.

This post has been edited by HotshotGG: Jun 15 2010, 05:54


--------------------
College student/IT Assistant
Go to the top of the page
+Quote Post
Zarggg
post Jun 15 2010, 05:57
Post #14





Group: Members
Posts: 533
Joined: 18-January 04
From: bethlehem.pa.us
Member No.: 11318



QUOTE (NullC @ Jun 14 2010, 12:48) *
It's not buggy in that sense. It's not like it crashes.


As a programmer, my definition of "bug" is any incorrect coding that causes the program to act in a way that was not intended by the developers. It doesn't always have to crash.
Go to the top of the page
+Quote Post
dutch109
post Jun 15 2010, 14:23
Post #15





Group: Members
Posts: 112
Joined: 20-June 06
Member No.: 32044



This problem has already been raised here when the encoder was first added to FFmpeg : http://www.hydrogenaudio.org/forums/index....showtopic=48898

IMHO the only problem is that the name of the encoder is vorbis in FFmpeg and the official vorbis encoder is called libvorbis. People who don't know there are more than one vorbis encoder will stick to the low quality one.

It should be vorbis for the libvorbis encoder and something like experimental-ffmpeg-vorbis for the FFmpeg-made one.


--------------------
Vorbis -q2/5 (Android/PC) & WavPack -hhx6
http://playnoise.com/
Go to the top of the page
+Quote Post
NullC
post Jun 19 2010, 00:39
Post #16





Group: Developer
Posts: 200
Joined: 8-July 03
Member No.: 7653



QUOTE (Zarggg @ Jun 14 2010, 21:57) *
QUOTE (NullC @ Jun 14 2010, 12:48) *
It's not buggy in that sense. It's not like it crashes.

As a programmer, my definition of "bug" is any incorrect coding that causes the program to act in a way that was not intended by the developers. It doesn't always have to crash.


Did you also sleep at a holiday inn express? wink.gif

It's not _buggy_ it doesn't perform in unexpected ways, my crashing comment was an example— it wasn't intended to imply that I thought that all bugs cause crashes (and I clearly don't). The ffvorbis encoder is just lacking the kind of serious psychoacoustic analysis and tuning that libvorbis has, it probably has bugs too ... most non-trivial software does, but that probably isn't the reason that it performs the way it does.

QUOTE (dutch109 @ Jun 15 2010, 06:23) *
IMHO the only problem is that the name of the encoder is vorbis in FFmpeg and the official vorbis encoder is called libvorbis. People who don't know there are more than one vorbis encoder will stick to the low quality one.


Well— that and libvorbis isn't compiled by default in ffmpeg and requires an extra dependency. So there are many people that have ffmpeg binaries where acodec vorbis was the only way to get vorbis output. Even if it had been called crappy-vorbis it still would be used by people who didn't know or didn't care to get a better binary.

FWIW, The ffmpeg folks agreed to temporarily disable acodec vorbis' encoder in the 0.6.0 release. Though, at least historically, almost everyone runs some build or another from ffmpeg svn... so it's not a closed issue yet.

QUOTE (saratoga @ Jun 14 2010, 12:45) *
QUOTE

A web-accessible citation that the developers of ffvorbis consider it to be unusably bad would be very helpful.

The ffmpeg people have said many times not to use their vorbis encoder. This is why they have support for the Xiph one. The problem has nothing to do with people refusing to believe ffmpeg and Xiph about how to encode vorbis files, as such providing more evidence will not help at all.


Many times... but you can't find a citation for me? I'm not insisting because I don't believe you, I'm insisting because I can't find one and it would be very useful to have one.

People have very much refused to believe us at Xiph that this is actually a serious issue. I wouldn't be asking for people to do testing here if we weren't currently having some problems convincing some big and important organizations that they really shouldn't use the ffvorbis encoder.

QUOTE ( @ Jun 14 2010, 12:16) *
Canar reporting in with an ABX. A blind monkey could do it. I see deaf people.


Thank you. As funny as it is, this simply test _will_ help convince people that there is something they need to worry about.

Go to the top of the page
+Quote Post
saratoga
post Jun 19 2010, 01:14
Post #17





Group: Members
Posts: 4715
Joined: 2-September 02
Member No.: 3264



QUOTE (NullC @ Jun 18 2010, 19:39) *
Many times... but you can't find a citation for me?


I probably could find a citation, but am not motivated to do so. Try google. I doubt its that hard to get.
Go to the top of the page
+Quote Post
NullC
post Jun 19 2010, 03:06
Post #18





Group: Developer
Posts: 200
Joined: 8-July 03
Member No.: 7653



QUOTE (saratoga @ Jun 18 2010, 16:14) *
QUOTE (NullC @ Jun 18 2010, 19:39) *
Many times... but you can't find a citation for me?

I probably could find a citation, but am not motivated to do so. Try google. I doubt its that hard to get.


Unfortunately, you appear to be incorrect.
Go to the top of the page
+Quote Post
Kohlrabi
post Jun 19 2010, 12:09
Post #19





Group: Super Moderator
Posts: 953
Joined: 12-March 05
From: Kiel, Germany
Member No.: 20561



You can generate your own citation:

Go to #ffmpeg on freenode, and ask about the quality of "vorbis" compared to "libvorbis", and wait for a dev to answer.


--------------------
Audiophiles live in constant fear of jitter.
Go to the top of the page
+Quote Post
Oded Shimon
post Jul 20 2010, 16:03
Post #20





Group: Members
Posts: 3
Joined: 1-October 06
Member No.: 35841



A bit late here, for what it's worth, here is my citation as the creator of ffmpeg vorbis encoder:

ffmpeg's vorbis encoder sucks. It has no psychoacoustics model, and no attempt whatsoever at preserving the audio quality. As Monty said, it only attempts to "create a valid bitstream".
I have lost touch with ffmpeg development, but I see now that the default has been changed back to libvorbis instead of ffvorbis for encoding.

Oded
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 16th April 2014 - 19:02