PDA

View Full Version : Gnu, MPEG4 licensing issue & Theora's problems.


CQ
4th January 2005, 23:59
Hei boys!
Let's say that i want to sell a multimedia CD and i don't want to pay for par ex. MPEG2. Wich other options do I have? A GNU CoDec like Theora? GPL... I can't?
Plz. tell me the best option for quality and 0 taxes.
Thnx.

P.S. And for the sound? And the container? Matroska... can be used so for free?

Tommy Carrot
5th January 2005, 00:29
I'm not sure, but maybe mpeg1 is old enough to be freely usable, and it offers better quality (and compatibility) than theora.

CQ
5th January 2005, 00:33
I`ve got to come with a better option than MPEG1 (yes, you're right on this). And the filesize... it must be smaller (mixed CD's with audio tracks and music videos). About 15 songs and 2 Full D1 music videos :rolleyes: .

P.S. Theora... it's that bad? I didn't tried it yet but... worst quality that MPEG1... :scared:

Tommy Carrot
5th January 2005, 01:27
Originally posted by CQ
P.S. Theora... it's that bad? I didn't tried it yet but... worst quality that MPEG1... :scared:
Yeh, unfortunately it's that bad... At least mpeg1 is able to keep the details and sharpness, theora is terribly smooth and blurry, perhaps i messed up something, but i couldn't get usable results with it.

Other idea: you can ask around if you can use WMV for free. As much as i dislike WMV format, it's still on a completely different level than mpeg1 or theora.

Joe Fenton
5th January 2005, 02:19
Sorry to be rude, but you're flat nuts if you think MPEG1 is higher quality than Theora. Theora is an optimized version of VP3. VP3 is on par with xvid 0.9. If you've had trouble making encodes that look that good, that's your problem, not the codec's.

bond
5th January 2005, 03:45
i would use ogg theora and vorbis

- vorbis is indeed one of the best audio codecs existing
- theora is surely not the best, but this also doesnt mean that it is crap. i indeed think that its usable (comparable to untuned divx3 rips i think)

with that solution you dont have to pay anything for sure and playback is already possible in a wide range of players (like realplayer and wmp)

Gabriel_Bouvigne
5th January 2005, 09:14
with that solution you dont have to pay anything for sure
;-)...this is a can of worms...

Tommy Carrot
5th January 2005, 14:32
Originally posted by Joe Fenton
Sorry to be rude, but you're flat nuts if you think MPEG1 is higher quality than Theora. Theora is an optimized version of VP3. VP3 is on par with xvid 0.9. If you've had trouble making encodes that look that good, that's your problem, not the codec's.
Well, the theora encoder inside of ffdshow doesn't have enough options to mess it up, but perhaps it's not truely representative for the quality potential of theora, that could cause my bad impressions (although it uses the same library as the reference encoder, so it shouldn't be a problem).

We won't agree on VP3, imo it was clearly inferior to xvid 0.9, even if every ASP feature is disabled, still xvid is the clear winner.

bond
5th January 2005, 14:49
as i said, theora is not top of the notch qualitywise (which doesnt mean that its bad)
but the question here is regarding the license side, see the difference? quality is not everything

about the technical qualities of theora and existing implementations, have a look at my theora sticky, i updated it just yesterday

i wouldnt use theora in ffdshow, as theora in .avi is nowhere supported than in ffdshow
also .avi wont allow you to use ogg vorbis

of course you have to use the .ogg container (which is theora's native container) if you want to ensure broad interoperability with existing theora players, which i assume is also a goal, as there might be an interest that the files are playable easily on as much players as possible (eg realplayer)

Mug Funky
5th January 2005, 16:46
;-)...this is a can of worms...

gabriel: how is that? my understanding was that vorbis is patent free, and theora has been "donated", such that the patents owned by on2 don't require any fees to be paid.

could it be that it's a can of worms because Vorbis hasn't been tested in court yet?

i haven't been keeping up with xiph politics, so i'm not really sure.

CQ
5th January 2005, 22:58
WMV for free... :) :) :) :) :) :) :) :) :) :) :)
I`d better ask for a free plasma display (as I seen in a few commercials). I don't think that if you can use WMV for your private files for free you can sell discs in WMV. Its like a GPL licence. Use it for private files only! So... good thing with Theora and Vorbis. MPEG1... its almost 20 years old :) :) :) .

akupenguin
5th January 2005, 23:12
Originally posted by CQ
I don't think that if you can use WMV for your private files for free you can sell discs in WMV. Its like a GPL licence. Use it for private files only! That makes it not like GPL... you can sell GPL stuff without special permission.

CQ
5th January 2005, 23:40
Really? So XviD baby here I come (i come?)!
But, i don't think so. The GPL doesnt mention that it cant be used for....?

P.S. I don't know if i`ll do those cd's so... i aint THAT intrested in this but... :thanks: :thanks: anyway! (waitin' to be called...)

Neo Neko
5th January 2005, 23:47
Actually Theora is quite good. The video codec is showing it's age especially lately with better tuned MPEG4-ASP/AVC codecs. But it blows MPEG1 out of the water. And if you want free as in "free from licensing". Or free as in "free to use it as you wish". Then theora is for you. There are some decent tools to use with it and more coming all the time. The video codec may not be top notch, but you can allow it some extra room since the audio codec is so good.

Using WM is not as an ideal solution as it is painted to be. There are some compatability issues as well as alot of hidden costs. Athough the quality is decent and if you are only targeting recent windows installs such as XP you should only have minor issues using it.

akupenguin
6th January 2005, 00:04
Originally posted by CQ
Really? So XviD baby here I come (i come?)! There are two separate licenses here: XviD is GPL, so you can use it for whatever you want, even sell it as long as you provide source code. That is an issue of copywrite. But you can't sell (or even give away) the encoded MPEG4 videos without permission from MPEG-LA. That is an issue of patents. (They are required to provide permission on "reasonable and non-descriminatory" terms, which means charging the same amount of money from everyone. Proprietary codecs (i.e. DivX) deal with that for you, but Free projects don't stand a chance.)
Personally, I think software patents are a load of BS, and will ignore them until the men in black come knocking. But I guess you can't afford to do that.

CQ
6th January 2005, 00:13
Yaaa [censored 21 phrases :) :) :) :) ] the MPEG. Theora & Vorbis rules! ('till now :D )

Joe Fenton
6th January 2005, 05:21
Originally posted by Tommy Carrot
Well, the theora encoder inside of ffdshow doesn't have enough options to mess it up, but perhaps it's not truely representative for the quality potential of theora, that could cause my bad impressions (although it uses the same library as the reference encoder, so it shouldn't be a problem).

We won't agree on VP3, imo it was clearly inferior to xvid 0.9, even if every ASP feature is disabled, still xvid is the clear winner.

Well, I'll qualify my statement somewhat: VP3/Theora is about the same as xvid 0.9 when encoded on the Mac. I never could make the Windows version of the codec encode properly with either 3ivX or VP3. However, the Mac versions encode REALLY well, and the encodes play back fine on the PC.

My guess is the VFW wrapper for the Windows version didn't pass certain options at all or maybe not properly. The Mac version didn't have this problem.

Gabriel_Bouvigne
6th January 2005, 09:40
my understanding was that vorbis is patent free
Well, Ogg Vorbis is "patent free" from Xiph.
We already have endless discussions about it on hydrogenaudio without any really meaningfull arguments by Xiph.
Basically, according to Xiph Ogg Vorbis is free from some specific suspicious patents (it could very well be), but they can not explain how because their laywers advised them to not explain it.

Doom9
6th January 2005, 19:45
uh, is it me or can you not configure anything when you select theora output in ffdshow vfw? That is except for the ratecontrol (I presume the same ratecontrol is used for all output types?).

Is there any other tool that supports the standard for DVD input (AviSynth scripts) where some of the options actually are exposed?

bond
6th January 2005, 19:57
afaik all tools offering theora encoding, use the theora reference encoder, which atm doesnt offer setting specific options individually (the format itself would of course support this: custom matrices aso...)

CQ
6th January 2005, 20:40
Theora needs a VfW interface like XviD's :) . When we will have that... the internet will definitly be filed with videos (legaly ones).The ffdshows is more like a select filesize and fullstop. So... lets request it (can we?)!

Doom9
6th January 2005, 21:23
btw, does anybody know how the 2 pass ratecontrol in lavc works? it sort of reminds me of the early xvid days, and alt-cc that sounds very familiar. Is there any reason at all to tinker with those settings or do they work just fine for all the codecs?

APF_Gandalf
6th January 2005, 21:58
I think I've seen something similar in the Xvid Forum a few month ago.
and one of the answer was to use the MPEG4 licence you can get with divx 5 but encode using Xvid that is anyway an MPEG4 codec or something like that. since there was at least 3 versions of divx5 (one with ad(spy?)ware inside), you can freely encode with it and distribute(sell?) your files.
btw I'm not sure there is still a free divx 5 pro version anymore.
maybe the "lite" version is OK, but it mainly depends on your "honesty".
I'll try to dig this thread from the Xvid forum to check.

EDIT: found the thread

http://forum.doom9.org/showthread.php?s=&threadid=72278&highlight=licence

about theora I think it's usable, just like VP3, but it really depends on what you want to encode because of it's natural blur. you won't have the sharpness of Xvid, but if you encode animes, for exemple, it could be ok.

akupenguin
6th January 2005, 22:00
lavc's ratecontrol (ignoring the min/maxrate constraints because I don't use them):

First pass: uses either constant qscale or cbr. Records qscales used for each frame, along with the number of bits used to code them. (There's a bunch of other info in the stats file, but it's not used for ratecontrol.)
2nd pass: for each frame, multiplies 1st pass' bits by qscale to get an estimate of complexity. Then allocates bits among P-frames according to the complexities (default is bits=cplx^.5), and estimates a qscale for each P-frame that will match the allocated bits. I- and B-frames get a strict qscale ratio from the neighboring P-frames. Then it scales the result so as to match your desired average bitrate.
While encoding, it keeps track of how many bits have been used so far, compared to what was allocated, and adjusts qscales. (vratetol controls the strength of the adjustments).

My favorite settings are qcomp=.6-.7 (i.e. less curve compression than the default .5), and vratetol=100000 (i.e. weaker reaction than the default 8000). The only rate-controlled codec in lavc that I use is mpeg4; I don't know how well this applies to the other codecs.

(When I speak of qscale in the above, I mean fractional quantizer. They are then rounded to integers to get frame-wise qp, but the fractional version is kept for rate-distortion.)

Doom9
6th January 2005, 22:46
btw, has anybody managed to get a playable theora clip using celtic-druid's 5/1 compile? While I can open my file in VDub, playing always crashes MPC. It also crashes WMP6.4, WMP10 and gives a gray screen with nothing happening in Nero Showtime. Finally, when I disabled postprocessing, the video would play.

CQ
7th January 2005, 00:01
Same to me :( .

stephanV
7th January 2005, 00:45
Originally posted by APF_Gandalf
I think I've seen something similar in the Xvid Forum a few month ago.
and one of the answer was to use the MPEG4 licence you can get with divx 5 but encode using Xvid that is anyway an MPEG4 codec or something like that. since there was at least 3 versions of divx5 (one with ad(spy?)ware inside), you can freely encode with it and distribute(sell?) your files.
btw I'm not sure there is still a free divx 5 pro version anymore.
maybe the "lite" version is OK, but it mainly depends on your "honesty".
I'll try to dig this thread from the Xvid forum to check.


This is complete humbug as DivX only provides licenses for their own encoders, not others. They are not transferable. I believe youd still have to pay for distributing MPEG4 content too, not sure though.

bond
7th January 2005, 00:48
Originally posted by stephanV
I believe you'd still have to pay for distributing MPEG4 content tooof course

Doom9
7th January 2005, 08:37
as for licensing, there's a provision about free distribution.. it depends on the length of the content and how many times you distribute it. You might want to check out the MPEG LA pages for more.

Without postprocessing Theora playback seems to work, but even with a 10 k frames clip, seeking is a major pain. I checked bond's sticky and it seems the DS encoder and playback filter have the same seeking problem. I'm afraid that alone makes the codec somewhat less than ideal to use, and the fixation on the particular container that's not quite OGM, is not really ideal either.

stephanV
7th January 2005, 10:16
Originally posted by Doom9
I'm afraid that alone makes the codec somewhat less than ideal to use, and the fixation on the particular container that's not quite OGM, is not really ideal either.

eeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrr...

It's OGM thats not quite Ogg, not the other way around... Ogg has specs, OGM hasnt.

Theora is far from useable though.

bond
7th January 2005, 11:06
if i would want to spread content professionally i wouldnt want to use another container than .ogg for theora (what audio format to use than ogg vorbis anyways?). its the only container specified by xiph and ensures interoperability with different theora implementations (theora-in-avi is only supported by ffdshow)
if you want a newbie proof solution try sirber's realanime 2.25, which outputs ogg vorbis/theora from .avs in .ogg as written in my sticky

iapir
7th January 2005, 11:43
Originally posted by Doom9
Without postprocessing Theora playback seems to work, but even with a 10 k frames clip, seeking is a major pain. I checked bond's sticky and it seems the DS encoder and playback filter have the same seeking problem. I'm afraid that alone makes the codec somewhat less than ideal to use, and the fixation on the particular container that's not quite OGM, is not really ideal either.

Ogg is not good at seeking for large "frames". It works for audio because the frames are small and when you seek to a point you can easily find the next working frame boundary. But when you have to parse a lot of data byte by byte to find the next keyframe it's slow. And it will always be because Ogg doesn't have an index like AVI. It's a streaming container not designed for what you're trying to do.

But that doesn't mean Theora is bad.

PatchWorKs
7th January 2005, 13:53
Is anyone trying to implement multipass for Theora ?

Dunno if could be usefull, but here is an interesting guide:

VfW VP3 Encoding Guide (http://bloomd.home.mchsi.com/vp3/)

Latexxx
7th January 2005, 15:11
I wonder why nobody has yet mentioned ffmpeg2theora yet. It supportts all input formats supported by ffmpeg but it has only vbr encoding mode.

Doom9
7th January 2005, 16:16
doesn't look like ffmpeg2theora supports AviSynth input, and I don't even know I can make it accept piped input from avs2yuv (assuming yuv is an acceptable input format). Either way, the state of things is rather pitiful for Theora.

@PatchWorKs: Theora may be based on the same code, but the first thing the Theora devs did is throw the nice and userfriendly stuff aboard ;)

ak
7th January 2005, 16:34
Originally posted by Doom9
doesn't look like ffmpeg2theora supports AviSynth input, and I don't even know I can make it accept piped input from avs2yuv (assuming yuv is an acceptable input format).
Yeah, it does accept yuv4mpeg as input

> avs2yuv foo.avs - | ffmpeg2theora -f yuv4mpegpipe -o bar.ogg -

Neo Neko
7th January 2005, 19:04
Originally posted by stephanV
Theora is far from useable though.

In what way? It seems very usefull here. I can encode it live on even my slower PCs and stream out a decent quality stream over icecast2 on my crappy cable upload to friends. Seems quite usefull here. I'll admit that editing tools as of yet are in short supply. But they will come in time.

stephanV
7th January 2005, 19:11
Originally posted by Neo Neko
In what way? It seems very usefull here. I can encode it live on even my slower PCs and stream out a decent quality stream over icecast2 on my crappy cable upload to friends.
Perhaps we have different views on decent quality. Although, I admit i havent tested it a lot, but what ive seen from it didnt encourage me to test further.

I'll admit that editing tools as of yet are in short supply.
that too of course.

savage747
8th January 2005, 16:33
If you need a license-free codec Theora is perfect for you. There are no alternatives.

I donīt know how someone can come to the conclusion that Theora is inferior to MPEG 1. According to my tests Theora performs roughly in the same league as MPEG 4. Recent Xvid versions will most likely outperform it (didnīt test this).

The current encoder is still, beside some bugfixing, the original VP3 encoder developed half a decade ago. I think the quality delivered is therefore surprisingly good. Thereīs a new, experimental codebase written from scratch available in Xiph SVN - but itīs "just not there yet" (the encoder still needs a lot of work).

Most Theora encoders donīt expose many parameters to the user that are quite important for the quality, IMO. Hereīs what encoder_exampleīs values are:

ti.dropframes_p=0;
ti.quick_p=1;
ti.keyframe_auto_p=1;
ti.keyframe_frequency=64;
ti.keyframe_frequency_force=64;
ti.keyframe_data_target_bitrate=video_r*1.5;
ti.keyframe_auto_threshold=80;
ti.keyframe_mindistance=8;
ti.noise_sensitivity=1;

Other values are untouched and therefore default values are used (whatever they may be). One supposal for "better" values can be found here: http://lists.xiph.org/pipermail/theora/2004-December/000725.html

ti.keyframe_frequency=3*64;
ti.keyframe_frequency_force=4*64;
ti.sharpness=2;

(And I agree that these values seem to give better performance for low-bitrate encodings)

Also, avoid Theoraīs ABR modes at the time being - it gives me much worse results than Theoraīs quality-based VBR modes (at the same bitrate, of course).

Edit: grammar

Doom9
8th January 2005, 18:17
hmm.. is it just me or is theora slow beyond reason? I'm getting between 2-4 fps here on the machine I did my comparison on. So far for encoding a whole movie with it.

Tommy Carrot
8th January 2005, 18:41
Originally posted by savage747
I donīt know how someone can come to the conclusion that Theora is inferior to MPEG 1. According to my tests Theora performs roughly in the same league as MPEG 4.
Maybe i exaggerated a bit, but it's a fact that theora is not capable to give sharp results, everything is soft and blurry, even at high bitrates. It's certainly possible that there are people who don't care about it, they find it clean, artifactless, nice video, but it does bother me, as i prefer sharp videos, even at a cost of a few artifacts.
Originally posted by Doom9
hmm.. is it just me or is theora slow beyond reason? I'm getting between 2-4 fps here on the machine I did my comparison on. So far for encoding a whole movie with it.
The theora codec in ffdshow has 2 modes, 'normal' and high quality mode. The encoder you used probably has high quality mode as default, because it's horribly slow in the ffdshow too. Normal mode is still slow, but not so extremely (6-7 fps on my athlon 1700+).

DeathTheSheep
8th January 2005, 18:46
It seems very usefull here. I can encode it live on even my slower PCs and stream out a decent quality stream over icecast2 on my crappy cable upload to friends.

Mmm... Not too normal. Even ffdshow is faster than that....

Cheers, baa

Doom9
8th January 2005, 18:52
The theora codec in ffdshow has 2 modes, default and high quality mode. The encoder you used probably has high quality mode as default, because it's horribly slow here too. Normal mode is still slow, but not so extremely (6-7 fps on my athlon 1700+).Ahh, that was an encoder switch.. I figured that had something to do with the I-frame insertion (thus scene detection) and was not an actual theora encoder parameter. I guess that helps to make the point that the ffdshow vfw is overloaded and codecs need to have their own GUI to really make it (the x264 vfw certainly seems to attract a lot of people ;)

savage747
8th January 2005, 19:00
Originally posted by Tommy Carrot
Maybe i exaggerated a bit, but it's a fact that theora is not capable to give sharp results, everything is soft and blurry, even at high bitrates. It's certainly possible that there are people who don't care about it, they find it clean, artifactless, nice video, but it does bother me, as i prefer sharp videos, even at a cost of a few artifacts.


Well, yes, the current encoder usually prefers "smooth" output instead of "blocky". I prefer "smooth" - but of course itīs 100% understandable if anyone wants "sharp" reproduction (at the cost of more artifacts). The spec obviously doesnīt set any constrains to the possible "sharpness" - itīs up to the actual implementation.

This behaviour, however, can be controlled with ti.sharpness (0 = sharp, 1 = normal (default?) and 2 = smooth) in libtheora. No frontend I know of exposes this parameter to the user - so itīs quite likely you tested the "normal" mode instead of the one you would prefer.

Doom9
8th January 2005, 19:11
This behaviour, however, can be controlled with ti.sharpness (0 = sharp, 1 = normal (default?) and 2 = smooth) in libtheora. No frontend I know of exposes this parameter to the user - so itīs quite likely you tested the "normal" mode instead of the one you would prefer.along with your previous comments really make the case for a better encoding app. Actually, there was a perfectly usable VFW GUI right from the start, apparently usability was first on the list of changes :(

Latexxx
8th January 2005, 21:19
Originally posted by Doom9
hmm.. is it just me or is theora slow beyond reason? I'm getting between 2-4 fps here on the machine I did my comparison on. So far for encoding a whole movie with it.
The reference encoder isn't even mmx optimised but there is theora-mmx branch which should yield better results. Ffmpeg2theora uses it and the source code can be found at http://svn.xiph.org/branches/theora-mmx/ .

bond
9th January 2005, 20:51
savage747,
thanks a lot for the info about the different already setable options in theora, i hope an encoder will soon offer them for the user (and things like custom matrices aso too, which are really powerful as shown in xvid) :)