Log in

View Full Version : New Ogg Media DirectShow splitter


Pages : [1] 2

DAvenger
4th February 2005, 12:09
RadLight Ogg Media DirectShow filter suite enables playback of Ogg and OGM files in any DirectShow based player (tested with Windows Media Player and, of course RadLight 4 (http://www.RadLight.net/forum/index.php?showtopic=1124)). It also comes with its own Ogg Vorbis DirectShow decoder filter.

Our main objective is to have a working & stable Ogg/OGM support in RadLight, something that wasn't possible using the original OggDS by Tobias Waldvogel/Xiph ... more features can be added later (support for Unicode subtitles & new audio/video formats) but I don't want to give you any false hope :rolleyes:

Known issues
seeking does not follow keyframes, this may result in artifacts
As usually, your feedback is welcome :)

Download (initial 1.0.0.0 release, 3-feb-05) (http://www.oggmedia.info/)

bond
4th February 2005, 12:59
nice :)

are these filters written from scratch or based on tobias'/gabest's or other sources?

also a small feature request:
imho if you call it ogg splitter than it should also support at least theora in .ogg ;)
xiph already finalized the storage of theora and also flac in .ogg
of course there are already dshow decoders existing for both:
- flac: ffdshow, coreflac and illiminables decoder
- theora: ffdshow (THEO fourcc) and illiminables decoder

thanks!

DAvenger
4th February 2005, 17:55
are these filters written from scratch or based on tobias'/gabest's or other sources?

... from scratch :) the RL Vorbis decoder is almost 2 years old and has been a part of the RL package ever since (now built against the latest libvorbis)

imho if you call it ogg splitter than it should also support at least theora in .ogg

Theora & FLAC support is going to be added soon, I guess :p

of course there are already dshow decoders existing for both

Yup. But RadLight users are lazy ... they want their player to playback all files natively :D

Sharktooth
4th February 2005, 21:09
what about adding this filter to the OGM FAQs?

niamh
4th February 2005, 21:36
Nice work DAvenger :)

I have a whole bunch of ogm files lying around due to GK testing, so I figured I'd give it a try..
ogm with x264 don't seek too well, sometimes it works, most of the time I get an assertion failed off the player though (MPC,WMP6.4 and TCMP), mainly, but not always, when seeking backwards.Other than that on "ordinary" stuff, it seems to work fine(notwithstanding the artifacts in seeking you mentioned)

MarkCoolio
4th February 2005, 22:03
@DAvenger: does there exist any silent install switch for the Filter Setups? I mean I can use Radlight_xyz.exe /S but it is not fully silent. I still have to click one last message away.

Is there already something build in or can u try to build it for the next versions so that I could use your (great) filters for my windows unattended cd?

thanx a lot in advance

faxmactor
5th February 2005, 10:58
I realize that the Radlight developers are really valiant and fearless people (and skilled, too), taking the long-time-stalling OGM burden on their shoulders :)

I had a (not really) buggy ogm, that after some seconds started sluttering with the so-called OggDS 0.9.9.6 (that's based on 0.9.9.3) so I returned to Tobias' old one,but that one can't connect to CoreVorbis). It plays like charm, seeking seeking shows artifacts, but at least, seems to be fast and reliable! (This was the point the I started to dislike ogm)

Good: Matroska splitter can connect to RLVorbis decoder
Bad: Ogg splitter won't connect to other vorbis decoders - I hope it'll be enabled later to connect (corevorbis in particular ;), enabling users to choose according to own preference.

The question is, that are you planning to develop the Ogg container format further (I personally don't think that that would be really reasonable), or just achieving maximum compatibility? (The first option involves a long, long term commitment, or else it doesn't have *any* point)

Gokuro!

Atamido
5th February 2005, 19:22
Originally posted by DAvenger
Our main objective is to have a working & stable Ogg/OGM support in RadLight, something that wasn't possible using the original OggDS by Tobias Waldvogel/Xiph ... Noting that the original OggDS filters had nothing to do with Xiph, and they only thing that Xiph will comment on them is that they are in their SVN.

I am wondering what the advantages/disadvantages of this filter are over the actual (http://forum.doom9.org/showthread.php?s=&threadid=73424) official Xiph filter by Illiminable (http://www.illiminable.com/ogg/)?

celtic_druid
5th February 2005, 19:51
Well as I understand it in the case of ogm's Illiminable's filters handle vorbis audio fine of course and parses the video stream. They however ignore subtitle streams and other audio streams like AC3, mp3, etc. That is unless things have changed.

bond
5th February 2005, 20:45
Originally posted by DAvenger
Theora & FLAC support is going to be added soon, I guessthanks :)

RadScorpion
5th February 2005, 21:14
@niamh: could you provide me with the .264 file ? I'm sure I could figure out.... btw. The seeking may sometimes "lock up" because the buffers are not preconfigured 100% correctly.

In the next release it should be possible to configure the buffer size - this may help especially when playing files over network.

@MarkCoolio: DAvenger will look into this.

@faxmactor: The main reason for developing the Ogg filters was to have "native" and stable support for OGG and OGM files. First we will focus on making full implementation of the standard... We will see how the users like our filters and then decide weather to add new features or not.

@pamel: Advantages...Disadvantages... no disrespect. I'm sure Illiminable's filters do great job with the theora and flac stuff but I got a complete lockup after opening few ogm files (no AC3 nor text streams were detected). I don't want my work to turn into any codec/container/author flamewar.

Since Tobias' filters are not being developed anymore and Illiminable's don't seem to do the job with OGM files I thought this one could be a little usefull.

@bond: yes.. I'll look at Theora tomorrow. The splitter uses abstract "codec-parser" class that makes adding new stream formats very easy.

niamh
5th February 2005, 22:30
There (http://c.1asphost.com/niaomalley/x264%20sample.ogm) you are RadScorpion :)
It's small, but I managed to make it crash.

RadScorpion
6th February 2005, 09:13
nah.. :( bandwidth quota reached.

DAvenger
6th February 2005, 11:57
I've tested the sample. In RadLight, I couldn't get any video even with the latest FFDShow installed (this is a bug in our playback module, I would have to manually setup the mediatypes aaand I am too lazy to do that right now :D) Nevertheless, the seeking worked fine, no crash at all.

I've also tested MPC, got video and also the assertion failed error ;) (assertion failed libavcodec\h264.c;expression : pic->data[0]) which hints that the bug is in libavcodec and not in our filter. :rolleyes:

What really surprises me is how did you get x264 into OGM and how come that our filter works? :confused: You see, Theora doesn't and requires some implementation.

niamh
6th February 2005, 13:59
I've also tested MPC, got video and also the assertion failed error (assertion failed libavcodec\h264.c;expression : pic->data[0]) which hints that the bug is in libavcodec and not in our filter.
I don't disagree with that at all ( I have no clue ;)), but I get no crashes when muxed to mkv or avi (both Haali's splitter lately), I ought to mention.
What really surprises me is how did you get x264 into OGM
Hmmmm VDubMod? :D
and how come that our filter works?
Well you tell me, but I'm glad to bring good news :)

stephanV
6th February 2005, 14:04
OGM is just Ogg in VFW mode so to speak. So whatever works in AVI also will work in OGM. Theres no surprise in that. :)

RadScorpion
6th February 2005, 21:38
the x264 file worked fine for me... perhaps because of some little modifications I have done recently.

Btw. as promised I have taken a closer look at Theora.. and here's the result :) - brand new theora decoder. Worked with all theora sample files I've found. Can decode picture into YUY2 output (I'll add other colorspaces soon). I have also rewritten the vorbis output routine so it can now be connected to CoreVorbis filter as well.

I'll do some little upgrades and the filters should be ready tomorrow.
http://www.radlight.net/radscorpion/images/rl_theora.PNG

bond
6th February 2005, 22:00
Originally posted by RadScorpion
Btw. as promised I have taken a closer look at Theora.. and here's the result :) - brand new theora decoder. Worked with all theora sample files I've found. Can decode picture into YUY2 output (I'll add other colorspaces soon)cool stuff! where/when can i download it? :)

also did you have a look at flac/speex in .ogg?

RadScorpion
6th February 2005, 22:05
I'll release it tomorrow :devil: - I really need some sleep right now .. and yes. I will take a look at FLAC and Speex too :)

SeeMoreDigital
6th February 2005, 22:06
Hi RadLight guys,

Are you working on any other direct-show filters, splitters etc?


Cheers

DAvenger
6th February 2005, 22:38
Originally posted by SeeMoreDigital
Hi RadLight guys,

Are you working on any other direct-show filters, splitters etc?


Cheers

Any special requests? :D

SeeMoreDigital
6th February 2005, 22:58
Originally posted by DAvenger
Any special requests? :D Oh yea!

How about a range of Mpeg4 and MP4 filters, parsers etc. And an AVIsplitter fit for 2005 :D


Cheers

RadScorpion
7th February 2005, 07:49
oh yes. we're waiting for DivX Networks to release the SDK for the .DIVX media format so we can make a suitable AVI splitter for that too. Kekso has already decomposed the .DIVX files into different streams and menu animations but there is one chunk we were unable to decode - the menu description :(

DAvenger
7th February 2005, 10:09
Originally posted by SeeMoreDigital
How about a range of Mpeg4 and MP4 filters, parsers etc.

:)

Tell me exactly what do you have in mind and what should we focus on ie. what are the weak points of other avaialble MPEG4 solutions. You're the MP4 guy so you should know :D I am kinda lost in MP4 :rolleyes:

DAvenger
7th February 2005, 11:11
RadLight Ogg Media DirectShow filter v1.0.0.1

Changelog - 6-feb-2005

# RadLight Theora decoder added
# Can decode Theora streams into YUY2 color space
# Property page with brightness adjustment added
# Seeking upgrades
# Vorbis output modified to match the one used by CoreVorbis decoder
# RadLight Vorbis does not accept data in the "OggDS" way any more
# Various internal changes

Download (http://www.oggmedia.info/)

bond
7th February 2005, 13:49
Originally posted by DAvenger
Tell me exactly what do you have in mind and what should we focus on ie. what are the weak points of other avaialble MPEG4 solutions.the weak point with the existing .mp4 splitters is that there is no splitter that does everything :D

this includes supporting:
- aac audio
- mp3/mp3 audio
- asp video
- avc video
- mpeg-1/2 video
- chapters
- vobsub subtitles
- mpeg-4 timed text subtitles

no i wont ask for mpeg-4 systems support (menus etc..), i know its very hard to do :D

there should be already decoders existing for everything (especially important for the sub formats!)
- all audio and video formats should be easy to implement (avc needs special treatment, as its more complex than the other)
- mpeg-4 timed text specs are publically available (can be decoded by gabests vsfilter already)
- vobsubs are placed by nero in .mp4 as "private stream" (meaning a stream not defined in the standard), which is exactly the same stream as used on dvd (vsfilter can decode it already)
- chapters are placed into .mp4 by nero, need to be reengineered, as the mpeg-4 standard doesnt explicitely define how to place chapters in .mp4, but according to the 3ivx devs its not hard to do it

currently the existing splitters supports as following:
- 3ivx does chapters, all a/v except avc, no subs
- nero does chapters (only in showtime), vobsub (only in showtime), all a/v (not sure tough), no ttxt
- moonlight supports all a/v, no subs, no chapters and is buggy
- mpegable supports asp, aac, no subs, no chapters

bond
7th February 2005, 13:58
Originally posted by DAvenger
# RadLight Theora decoder added
# Can decode Theora streams into YUY2 color spacegreat! :)

i noticed two things:
- it crashes in rlogg.dll if there are not handled streams in the .ogg (eg flac), even if there is also a vorbis and theora stream in the .ogg (it should play back)
- theora decoding seems to be very cpu consuming and slow (also there is an avi compressor added in the graph for converting yuy2 to rgb it seems)

RadScorpion
7th February 2005, 14:47
- it crashes in rlogg.dll if there are not handled streams in the .ogg (eg flac), even if there is also a vorbis and theora stream in the .ogg (it should play back) :eek: shame on me. I'll fix that soon.

- theora decoding seems to be very cpu consuming and slow (also there is an avi compressor added in the graph for converting yuy2 to rgb it seems) I see 2 reasons for the decoding to be slow.
1. The brightness adjustment is done in a very simple way - try resetting the brightness to default and check the performance.

2. RGB conversion. I'll add RGB output later... but try using YUY2 - it is definitely faster... and AVI Decompressor sucks hard.

bond
7th February 2005, 15:26
Originally posted by RadScorpion
1. The brightness adjustment is done in a very simple way - try resetting the brightness to default and check the performance. i didnt change it (also hitting default doesnt change anything too)

2. RGB conversion. I'll add RGB output later... but try using YUY2 - it is definitely faster... and AVI Decompressor sucks hard.hm how can i use yuy2 directly? vmr9?

DAvenger
7th February 2005, 15:48
Hmm works fine here. No AVI decompressor present, worked out of the box ;)

http://www.oggmedia.info/images/rltheora.png

the weak point with the existing .mp4 splitters is that there is no splitter that does everything

:p

ISO/IEC 14496-14 is only 70CHF, the rest is more expensive but we'll see what can be done. ;)

bond
7th February 2005, 15:56
DAvenger, of course as you use video mixing renderer 9, but here on win98/me it doesnt seem to work fine :(

try using the normal "video renderer"

DAvenger
7th February 2005, 16:00
Originally posted by bond
DAvenger, of course as you use video mixing renderer 9, but here on win98/me it doesnt seem to work fine :(

try using the normal "video renderer"

Usually, I use VMR7. I've switched only to make the screenshot easily ;) But yes, you are right something is wrong when using VR/Overlay mixer (on my machine I get black screen, no sound nor video). You know as RadLight doesn't work on 9x we didn't bother testing it with other renderers :o

RadScorpion
7th February 2005, 16:30
Oh... I know what's the problem. On Win98/ME there is only the default (old) Video renderer and that only connects to RGB types and after the streaming has started will initiate a dynamic reconnection. I'm running XP and I did not realize this could happen :( - I'll fix in the next release.

And... when running in RGB mode the old Video Renderer does not utilize hardware stretching so that's the reason for slow decoding.

bond
7th February 2005, 17:31
Originally posted by RadScorpion
I'll fix in the next releasethx :)

when running in RGB mode the old Video Renderer does not utilize hardware stretching so that's the reason for slow decoding. hardware stretching?

RadScorpion
7th February 2005, 17:48
hardware stretching? VMR7 uses overlays - that is the fastes way to stretch video because the actual content of video memory is the same.. it's just displayed on different place as you resize the video. VMR9 uses D3D surfaces - this is quite fast too... but the fact the the content is recomputed to match new size (by graphic chip) makes it slower than overlay. But old Video Renderer does not do any of this magic :mad:

long story short : get rid of it :)

virus
7th February 2005, 19:58
I know I'm off-topic here, but since the topic has already been brought up I'd like to add my view, too. Right now I really feel the need for a free, stable MP4 splitter with full AVC and AAC support (and if you can make it support other things like ttxt and chapters, that's even better).

I currently use 3ivx 4.5.1 which unfortunately doesn't support AVC. So if you can make a splitter with the features above, please go for it. I think you won't regret the choice ;)

virus

Rober2D2
7th February 2005, 22:20
I've been trying to play "Bowling for columbine".

Container: OGM.
Video: XVID (Previous to 1.0).
Two OGG audio tracks.
One internal SRT track.
Player: BSPlayer 1.1
Splitter: Radlight
Video Decoder: ffdshow
Audio Decoder: ffdshow
Subtitle: Internal bsplayer renderer.

- Track names are displayed in graphedit, but not in bsplayer (Probably this is a problem with the player)
- Some subtitle characters are not displayed. For example: αινσϊ. Those characters are displayed with Tobias splitter.
- Crashes quite often.

DAvenger
8th February 2005, 10:39
Hm, try using RadLight Vorbis for decoding. FFDShow Audio gives me only headaches (could be cause for the crashes). As for the subs, we'll look into that.

faxmactor
9th February 2005, 11:26
# Vorbis output modified to match the one used by CoreVorbis decoder

Great, now the splitter connects to CoreVorbis too :D
The problem is that after a seek, sound is lost (connected to RLVorbis works all right)

DAvenger
10th February 2005, 14:00
If I remember correctly, CoreVorbis hasn't been updated for quite a long time :rolleyes:

BTW. Is there anyone using ZoomPlayer who can verify the "audio is too fast" bug? I've seen this posted on various places but everytime they just said our splitter sucks and didn't want to help us fix the problem :confused:

Thanks

filewalker
10th February 2005, 19:56
I just installed latest splitter and tried it with ZPPro.

What I get in ZP is...strange.(never saw anything similiar before)
In the graph there are 3 instances of "Internal Script Commander renderer"

Here is a screenshot (http://people.freenet.de/pipliner/ZP_OGM_Radlight.png)

If I jump forward/backward, video plays normal if next key frame is reached but there's no audio after jumping.


The OGM-file works perfectly with old 0.9.9.5 version.

Cu

ssjkakaroto
12th February 2005, 17:40
DAvenger does the vorbis filter support replaygain/vorbisgain?

RadScorpion
13th February 2005, 18:26
yes. RLVorbis should be able to read gain information from vorbis comment field.

New build is planned soon. I've already fixed the bugs with unsupported streams for splitter + added speex decoder.

faxmactor
14th February 2005, 15:45
Originally posted by DAvenger
If I remember correctly, CoreVorbis hasn't been updated for quite a long time :rolleyes:
Last version is 1.0 20040823 (based on Vorbis 1.0). Six months is not that long in the CoreCodec timescale :D

As I checked the new verson of your splitter, v1.0.0.2, it still doesn't get on with CoreVorbis very well - audio is lost after seeking.


BTW. Is there anyone using ZoomPlayer who can verify the "audio is too fast" bug? I've seen this posted on various places but everytime they just said our splitter sucks and didn't want to help us fix the problem :confused:

What would be this bug exactly? I do use ZP Pro, and don't experience this kind of issue (or it got fixed in 1.0.0.2?)

But, I have another one ;) As you may know, ZP Pro has an option for resuming the video from the postion where it was when the player was closed (very handy when watching pr0n :p ). So, when it is restarted like that, the timeline resumes (even keeps counting), but the video is restarted from zero. I'm not sure if it is a ZP issue or not, but perhaps you can do something the filter side

And as for v1.0.0.2, Speex support is welcomed, thanks!

bond
14th February 2005, 16:08
ok tried 1.0.0.2 :)

Originally posted by bond
i noticed two things:
- it crashes in rlogg.dll if there are not handled streams in the .ogg (eg flac), even if there is also a vorbis and theora stream in the .ogg (it should play back)still there with flac-in-ogg, but propably you will implement flac too?

- theora decoding seems to be very cpu consuming and slow (also there is an avi compressor added in the graph for converting yuy2 to rgb it seems)hm how can i force the decoder to output rgb32? by default it outputs still yuy2 here (together with avi decompressor converting to rgb as before). in that case the colors look very strange
still i can use overlay mixer(2) with it and this mode works fine (have to force overlaymixer in the player)


one thing i noticed: it seems as if the theora decoder needs a lot of cpu power till the first keyframe (scenechange) appears, than it runs fluently

another thing: after seeking i see green colors, which disappear shortly after the seeking. propably because a new keyframe came?

faxmactor
14th February 2005, 18:01
Another thing: with Haali Matroska Splitter + RLVorbis, video gets *very* sluggish.

Using the yet-regular Gabest Matroskalsplitter I think there's still a slight, but noticable skipping that is not present when CoreVorbis plays back the audio.

ssjkakaroto
14th February 2005, 20:51
i just noticed that too. The video keeps stuttering when using RLVorbis.
using Haali Matroska Splitter (20050204) + RLVorbis 1.0.0.2

RadScorpion
15th February 2005, 10:09
hmm... could you guys upload me a small sample of the problematic files ?... I just can't make that happen on my system :(
yes, FLAC support should be added soon - I need to figure out how to make libFLAC compile properly (for some reason it keeps requesting the liBFLAC.dll even when compiled as static)

faxmactor
15th February 2005, 21:10
Originally posted by RadScorpion
hmm... could you guys upload me a small sample of the problematic files ?... I just can't make that happen on my system :(
It happens to all Matroska files. There is a sample here (http://membres.lycos.fr/faxmactor/4share/sampledl.html) anyway - it's a credits scroll (29.97fps), the scrolling is smooth, but using RLVorbis it's like a stream after a bad ivtc. Strange.

RadScorpion
15th February 2005, 21:44
Thanks.. I'm onto it...let's hope for a fix soon. :rolleyes: