PDA

View Full Version : Helix Producer encode to Theora


Sirber
1st September 2004, 02:13
It's now possible to encode to Ogg Theora using Helix Producer. Options are still limited, but anyway, here it goes!

xiph_producer_plins_win32_0_1.zip (https://helixcommunity.org/download.php/594/xiph_producer_plins_win32_0_1.zip)

From what I know:
* Only work in 1-pass mode
* cbr, vbr and cq
* output .ogg
* Does not work in RMVB and MKV

Observations:
* Playback is choppy in dshow, not sure if it dropped frames.

Software that (will) support it:
* RealAnime 2.20

For playback, you need one of these:
* Ogg DShow (http://www.illiminable.com/ogg/)
* RealPlayer 10 and its plugins! (http://www.real.com) (Joy added by unknown donator)

PM me to add more :)

karl_lillevold
1st September 2004, 02:26
Remember that the full source code is available for all the Xiph plug-ins, both for playback and encoding. The binary is made available to make it more convenient to try out. If something does not work right, anyone with enough interest can fix it themselves.

When RealAnime adds Ogg Vorbis/Theora it will be one of the easiest known methods to encode with this codec combination and Ogg output.

karl_lillevold
1st September 2004, 02:35
Thanks to acolwell (http://forum.doom9.org/member.php?s=&action=getinfo&userid=56906) for his work on these plugins! He has done everything on both the encoder and decoder plugins, all available from helixcommunity.org:
https://helixcommunity.org/project/showfiles.php?group_id=7
The playback plugins enable RealPlayer 10 to play Ogg(Vorbis/Theora) very well.

Sirber
1st September 2004, 02:41
Diagnostic: Using video codec: theora (472000 bps)
Diagnostic: Using audio codec: vorbis (128000 bps)

I asked Vorbis Q10, ~80kbps. Producer is using MAX bitrate to calculate video bitrate. :(

[edit]

Can someone try to play it?

Stream 0

Media Type 0:
--------------------------
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
subtype: Unknown GUID Name {D2855FA9-61A7-4DB0-B979-71F297C17A04}
formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 0


Media Type 1:
--------------------------
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
subtype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 0


http://www.detritus.qc.ca/realanime/theora_vorbis.ogg

acolwell
1st September 2004, 19:37
The clip you posted plays fine for me in RealPlayer 10 with the Xiph
decoding plugins installed.

The Theora reference encoder takes 2 bandwidth parameters. It
has one for keyframes and one for everything else. The max bandwidth is
used for the keyframe bandwidth and the average bandwidth use used for
the everything else. I don't know the exact details of how the encoder
uses these two values. If you want to have more control over the
bitrate, just set the max bitrate slightly higher than the average. I'm
not sure how that effects the quality. You'll have to experiment to find
the optimum settings.

Let me know if you have any other problems.

Sirber
1st September 2004, 19:56
average was 600k and max 3000k. Maybe that's why it's choppy.

[edit]

I might remove Theora from RealAnime. Q is not as good as RV10 and it's also not standart in the way it works. beside the fact that's it's opensource, it has no other advantage.

Latexxx
1st September 2004, 20:09
Originally posted by Sirber
I might remove Theora from RealAnime. Q is not as good as RV10 and it's also not standart in the way it works. beside the fact that's it's opensource, it has no other advantage.

At least it's patent free like Vorbis.

karl_lillevold
1st September 2004, 20:15
I think there is a bug somewhere that results in very choppy framerate in the encoded Ogg/Theora files. I have a synthetic test file with a smoothly moving bar that clearly shows the problem (http://www.lillevold.com/files/fps_test.zip). Notice how in the .ogg version the bar moves in jumps, while it moves smoothly in the RM file (well, as smoothly as the jitter accuracy in the player allows).

I think the bug might be in the encoder plugin, since both RealPlayer with Xiph plugins, and Media Player Classic with the Illiminable Ogg Directshow filters Sirber points to in his first post, have the choppy playback problem. Maybe it's a timestamp issue, or Ogg container problem. (P.S. for Directshow playback, the Theora codec included in the latest ffdshow needs to be disabled, since it freezes after the first frame).

bond
1st September 2004, 21:53
guys, plz remember that the forum to discuss theora issues is the new a/v forum
realvideo hasnt much to do with theora. simply because one encoding tool is provided by real doesnt mean it fits in the realvideo section. or would you discuss 3ivx issues in the virtualdub forum, simply because its the encoding tool, which might be mostly used for encoding with 3ivxs vfw codec?

bond
1st September 2004, 21:55
Originally posted by Latexxx
At least it's patent free like Vorbis. its not patent free, but the patent holders charge no money no matter how you use it (commercial or not), so to say its license free

karl_lillevold
1st September 2004, 22:14
its not patent free, but the patent holders charge no money no matter how you use it (commercial or not), so to say its license free
Finding any codec, audio or video, completely free of patent issues, may be very hard, so the term "(currently) license free" is better. Whatever potential patent owners decide to do if a certain codec becomes commercially popular, is unknown.

Sirber
1st September 2004, 22:33
CorePNG is patent free :D

karl_lillevold
2nd September 2004, 00:20
We found the choppy framerate bug. Before making another build we probably also want to add support for maxKeyFrameInterval instead of hard coding it to 64 (frames). Theora does not have a max bitrate setting. It does however have keyframe_data_target_bitrate, which I am not sure what means. We currently set it to MaxBitrate. This may not be the right thing to do.

Other than this, Theora has some settings we do not have in RealVideo, so if anyone has any advice on good values for these values, let us know.
keyframe_auto_threshold (80)
keyframe_mindistance (8)
noise_sensitivity (1 / range 0..3)
sharpness (0 / range 0..1, 0 == sharpest)
The values currently used in the plugin in parenthesis.

Sirber
2nd September 2004, 00:26
Use the defaults from VP31. You could create a "bag" for the things that are not common in RealVideo 9 (not EHQ).

Atamido
2nd September 2004, 02:55
Originally posted by Sirber
I might remove Theora from RealAnime. Q is not as good as RV10 and it's also not standart in the way it works. beside the fact that's it's opensource, it has no other advantage. I would say that you are looking at it from the wrong end. The current userbase of RealAnime is not likely to switch to Theora anytime soon. However, you are likely to expand your userbase of RealAnime with people that would like to use Theora.

Sirber
2nd September 2004, 02:58
I already added XviD and VP6. I'm at 80% of theora. I will keep it. DVD support is on it's way also...

Also, does theora can work in matroska?

sillKotscha
2nd September 2004, 10:08
Originally posted by Sirber
Also, does theora can work in matroska?

Sirber... what do you think :)

Sirber
2nd September 2004, 13:24
I'm asking coz mkvmerge didn't took it :p

stephanV
2nd September 2004, 13:28
currently it cannot... only in VFW compatibility mode (like with ffvfw).

thread (http://forum.doom9.org/showthread.php?s=&threadid=78157)

Sirber
2nd September 2004, 13:46
with the actual VFW version of ffmpeg, i'm pretty sure you can already store Theora in matroska with the VFW compatibility mode. It's perhaps not the best way to do so, but theora is just a vp32 "ogg'ized" (a bit like vorbis) so you have to store ogg frame inside of matroska anyway.mkvmerge doesn't use windows VFW and DShow, since it works on *nix also.

stephanV
2nd September 2004, 13:51
that doesnt matter

VFW compatibility mode is there so matroska can accept any type of stream that is created by a VFW codec (like theora in ffvfw). basically it is ensures that you can mux anything from avi to matroska.

on what platform mkvmerge is based has got very little to do with this, it is not a specific feature of mkvmerge but of the matroska container itself.

here (http://www.matroska.org/technical/specs/codecid/index.html)

acolwell
11th September 2004, 02:11
I've just posted new Helix Producer plugins for encoding Vorbis and
Theora. These new plugins fix a bug that caused the encoder to generate
jerky video. Support for the maxKeyframeInterval was added as well as
support for constant quality encoding.

If you have any problems or questions. Please let me know.

Thanks, Karl for your help on this new release.

ChristianHJW
24th September 2004, 12:36
Originally posted by Sirber Also, does theora can work in matroska? [/B]

As soon as Theora can be considered stable and being used, we will add native muxing. Right now there is not a lot of encoders available for it, RealAnime is the frist we know of that will offer some kind of 'comfort', all other tools AFAIK are CLI based programs.

As an official statement from the matroska team about Theora, we love it, same as we do for Vorbis. Go on Xiph, great work !

Sirber
24th September 2004, 17:21
Theora is currently working in RealAnime 2.20 RC2+. It has some limitations. I hope it gets updates :D

bond
2nd January 2005, 20:25
Originally posted by Sirber
Theora is currently working in RealAnime 2.20 RC2+. It has some limitations.hi sirber, i now found the time to try the ogg theora/vorbis capabilities of your realanime tool (latest 2.3 beta), but it doesnt seem to support it (anymore?)

when searching i read that 2.20 supports ogg vorbis/theora and that 2.30 has problems with it. still i couldnt even see the option to encode to theora/vorbis in realanime 2.30b5?
i assume it has been removed. whats the status of the ogg support in realanime?

Sirber
3rd January 2005, 00:33
Hi

Ogg support has been removed from 2.30 since it was causing more bad than good. You can still use it in 2.25.

bond
3rd January 2005, 00:43
Originally posted by Sirber
Ogg support has been removed from 2.30 since it was causing more bad than good. You can still use it in 2.25.ok thanks, are you planning to add support for it again in the future?

Sirber
3rd January 2005, 01:25
I don't think so. Helix implementation of theora is messy, undocumented and kinda abandoned. The same for their vorbisimplementation. It's too limited and quality is not there. Currently, FFDShow VFW supports throea better than producer in AVI (remuxed to MKV by RealAnime at the end). I have no replacement for vorbis yet...

karl_lillevold
3rd January 2005, 04:41
I would say the quality is not there... We mapped as well we could the features available in the Theora codec to Producer options, but the options are not all that compatible. One problem is that the video codec (Theora) is so old and so not competitive, it is not very motivating to spend huge amounts of time making it work /great/. It works well enough in Producer for experiments.

bond
3rd January 2005, 14:12
sad to hear that :(

still i want to point out that the quality is not horrible at all! i tried an encode with a 1cd bitrate and the picture looks very usable (more like an old untuned divx3 encode). simply because it cant keep up qualitywise with the newest stuff, doesnt mean its not usable imho

and from the technology point of view, i think theora has the potential to become very good:
- custom matrices
- variable blocksizes (down to 8x8)
- loopfilter
- adaptive entropy coding
- multiple reference frames

its simply not tuned at all...

Sirber
3rd January 2005, 17:17
Better hope on ffdshow IMO :)

bond
3rd January 2005, 17:19
Originally posted by Sirber
Better hope on ffdshow IMO :) well ffdshow doesnt output to .ogg
it doesnt make much sense imho to use theora in .avi, without vorbis aso... :(

anyways, i hope you keep your 2.25 version downloadable :)

Sirber
3rd January 2005, 17:40
Originally posted by bond
anyways, i hope you keep your 2.25 version downloadable :) Once 2.30 is stable and finished, 2.25 will go in "Archive" section :D