View Full Version : Is there any directshow filter for realmedia?


gabest
5th July 2003, 03:34
Well, there is now :) A demuxer and a video decoder (by using real's codec dlls) can be found here:

http://sf.net/projects/guliverkli/

Limitations:
- no audio decoder filters yet
- rv10 fourcc unsupported
- no streaming (of course)
- can crash anytime! :P

Sirber
5th July 2003, 03:42
hum...

What is that good for? :confused:

ChristianHJW
5th July 2003, 03:47
Originally posted by Sirber What is that good for? :confused:

:sigh: .... you'll see ......

Kurosu
5th July 2003, 03:57
Originally posted by Sirber
hum...
What is that good for? :confused:
Now you can (or should be able to):
- import the video into avisynth and do whatever you want with the video (and do some compare())
by using DirectShowSource()
- feed it to what I'll simplify as "directshow compliant" software (ie all players)
- have a basis for a realmedia->matroska transcoder
- giving more time to Karl for working on improving other parts of RealVideo9 :D

So... This is GOOD! I don't have a real use for it, but I believe many people will be very interested in it.

karl_lillevold
5th July 2003, 04:05
it works! very impressive. but still a few problems with certain bitstreams, seek etc. i am, however, sure gabest will figure those out.

@Kurosu:

import the video into avisynth and do whatever you want with the video (and do some compare())
I would not trust those numbers just yet, due to potential accidental color conversions from I420 to RGB to YV12, as well as mismatched timestamps relative to original source. Maybe I will just have to make sure you can get accurate PSNR numbers now :rolleyes:

RadicalEd
5th July 2003, 04:22
my initial reaction:
HOLY S**T
O_O
my reaction 10 minutes later...
HOLY S**T
O_O

now if only there were a way to use it without realone installed, all those guys on amv.org could stop bitching about rm forever :/

EHQ + dupedrop + rm dshow filter + tweaks to the codec all at the same time = splooge all over the place XO

Atamido
5th July 2003, 04:26
Originally posted by Kurosu
Now you can (or should be able to):
- import the video into avisynth and do whatever you want with the video (and do some compare())
by using DirectShowSource() This could be very bad because AVISynth uses Constant-Framerate. If you use the Dupe-Drop filter, then your timecodes will get pooched.

Animaniac
5th July 2003, 05:00
Is there anything Gabest can't do? :D

RadicalEd
5th July 2003, 06:55
hmm... I'm trying to figure out why the video stream output pin from the ogg splitter refuses a connection to the realvideo decoder input while a regular rmvb file rendered as an output video stream will..
>_><_<
I'm not trying to mux realvideo in ogm :o no sir.. no.. >_<

Animaniac
5th July 2003, 07:22
I tried transmuxing an RMVB to MKV using this filter and your Matroska Muxer. GraphEdit let me do this, it also built the correct graph for playback, but when playing it just get a green screen. Using Tobias's filter I can mux an OGM with RV9, but the playback filter graph cannot be built.

gabest
5th July 2003, 07:33
Ogm won't work because the muxer does not save the appended data after VIDEOINFOHEADER, and matroska needs the not yet released muxer and splitter filters. But matroska will work surely as we have tested it.

S_O
5th July 2003, 11:42
For me it doesnīt work:
I can open realmedia now, it also show correct time and the window of wmp6.4 resizes to the video size, but there is no video. Just the moving wmp6.4 logo, like at the beginning of loading a asf-file.
What Dlls do I need to install? RealOne is installed and I copied the helix-dlls into the system32-directory (win2k SP3).
I donīt know if you already know that:
-ffmpeg decodes rv10, so maybe ffdshow supports it, too.
-The audio "dnet" (DolbyNet) is AC3, you can simply output it as ac3 stream, AC3Filter will decode it. Unfortunately all other decoders only decodes correctly with a samplerate of at least 32kHz.
-There is also a open-source decoder for 14_4 (RA1) and 28_8 (RA2) in ffmpeg.

Kurosu
5th July 2003, 13:14
Originally posted by Pamel
This could be very bad because AVISynth uses Constant-Framerate. If you use the Dupe-Drop filter, then your timecodes will get pooched.

Originally posted by karl_lillevold
I would not trust those numbers just yet, due to potential accidental color conversions from I420 to RGB to YV12, as well as mismatched timestamps relative to original source. Maybe I will just have to make sure you can get accurate PSNR numbers now

Well, I would assume RealProducer is being fed with a constant framerate videosource, and thus the frame dropping still preserve the timestamps of other frames. Now, what is needed is that if a non-existing frame is requested, the last valid frame is returned. That should solve the frame mismatch, unless there's a really particular thing done.

Now with the colorspace conversions... Drop the realmedia file into graphedit, and I hope the graph used to render the file should be displayed: if a color conversion occurs, you should be able to see it (unless it happens internally to one filter). On my setup with a RV9 file, here's what I get with the karl's encode of the anime trailer with dropedude filter:
RV9 file (stream 0) [Subtype unknown RV40, 712x380, 12bits]
-> RV decoder[Xform out: YUY2 712x380, 16bits)
-> AviDecompressor[out: RGB32 712x380 32bits]
-> Video rendered.
There's indeed colorspace conversion. If I open it via avisynth:
DirectShowSource("T03_RV9_EHQ_DD_2pass_211kbps.rmvb").Info()

I get the following info:
720x480,YUY2
So it's a no-go for a accurate comparison for now, as even I420->YUY2 can have various results, depending on the upsampling used (simple copy vs the typical 75/25% or 50/50%). In that regard, it could be interesting to know if the upsampling used by RV codec is one of those typical ones. Or maybe Gabest can do some more magic and manage to request YV12 on output (but maybe RV40 codec doesn't allow this).

Anyway, compare() aren't possible for now, as Karl's "T03_RV9_EHQ_DD_2pass_211kbps.rmvb" (see this thread (http://forum.doom9.org/showthread.php?s=&threadid=56392&perpage=20&pagenumber=4)) is reported as having 2460 frames (while it is really 2471). As I don't think there are only 11 frames dropped, I would think the current implementation maybe forgets one frame out of each segment where a framedrop occurs in the rmvb file.

In the end, I do agree that if it seems possible, it's far from sure that everything is going fine, as users' feedback in this thread shows it.

Sirber
5th July 2003, 14:15
RV9 in matroska... sounds great :D

Will we be able to store RA also?

kilg0r3
5th July 2003, 14:26
Subtitles with directvobsub (VSfilter) coming into view!

Thank you gabest. Beside being an able programmer, it seems you really have a feeling for what the current needs of the av community atm. Thx again.

EDIT:
Just did a short test with srt subtitles and VSfilter ,and,it worked quite well. Only some jerkyness and crashed only once in 10min.

Gabest, I very much hope that this project has a relatively high priority. I'd really love to postprocess 'real' output with some nifty ffdshow settings :D

Dark-Cracker
5th July 2003, 16:09
hi,

using directshow source in avisynth work like a charm .
however u need to enter manually the FPs of the video.
do u need add "assumefps(XX)" because rmvb was variableframerate ?

PS: u can get the fps using my rmvb shell extension :)

Bye.

gabest
5th July 2003, 16:18
The "RealVideo Decoder" outputs YUY2 or YV12 only, this might be a problem on older windows' where there is no vmr7 as the default renderer to connect yuv outputs directly. On those older OSs if the player is not using the overlay mixer (like wmp64) there will be a need for a colorspace converter codec (msyuv or huffyuv wrapped by avi decoder) just to build the graph (as Kurosu noticed). But this doesn't mean if you open with avisynth there will be a color conversion too. When avisynth opens something using directshow, it first removes everything after the decoder filter and connects its own renderer to capture the frames, which has no limitations in the color space, it can be YUY2 or YV12. But I'm not sure if it will choose YV12, because that's the secondary output media type, maybe v2.5 and above will, I'll need to check this. YV12 output would be lossless, and YUY2 is produced by doubling the resolution of the u/v planes by averaging the missing pixels from the surroundings.

S_O: Thanks for the codec list, this could make my work much easier! Also, there is ACELP.net sipro lab dshow decoder I wanted to try :)

Dark-Cracker: I can get the fps already, but avisynth can't find it out from the media type for some reason.

kastro68
5th July 2003, 16:34
Originally posted by Animaniac
Is there anything Gabest can't do? :D

I believe there is one thing I know of that Gabest can't do.

I am certain that Gabest cannot lick his elbow with his tongue.

This task should be impossible for nearly everyone.

























...how many people out there actually tried licking their elbow?

Kurosu
5th July 2003, 16:51
Originally posted by gabest
But I'm not sure if it will choose YV12, because that's the secondary output media type, maybe v2.5 and above will, I'll need to check this.
Dark-Cracker: I can get the fps already, but avisynth can't find it out from the media type for some reason.
I postponed my study because of the number of frames issue, but DirectShowSource doesn't seem to have (contrary to AviSource - DirectShowSource is probably rather old) an option to try to force a colorspace. In fact, I wonder what it really retrieves from the infoheaders, as it doesn't read (o hardly get) the fps info, and you have to force it using the fps option.


YV12 output would be lossless, and YUY2 is produced by doubling the resolution of the u/v planes by averaging the missing pixels from the surroundings.

Karl will correct us on that, but I think RV9 outputs a particular YV12 called I420 (chroma planes inversed). Secondly, the chroma upsampling code is still unknown: chroma copy is as widely used as averaging.


The "RealVideo Decoder" outputs YUY2 or YV12 only, this might be a problem on older windows' where there is no vmr7 as the default renderer to connect yuv outputs directly.

Or messed up systems that, even with directX 9 installed, a rather decent (less than 2 years old and able to overlay in YV12) and VMR9 available, can't handle VMR9 (ie that have a black/green/NULL display when using this option in MediaPlayer Classic)

JagPanzer
5th July 2003, 16:51
Originally posted by kastro68
I believe there is one thing I know of that Gabest can't do.

I am certain that Gabest cannot lick his elbow with his tongue.

This task should be impossible for nearly everyone.

...how many people out there actually tried licking their elbow?

LOL! :D

And Gabest, nice work. ;)

gabest
5th July 2003, 17:27
Karl will correct us on that, but I think RV9 outputs a particular YV12 called I420 (chroma planes inversed). Secondly, the chroma upsampling code is still unknown: chroma copy is as widely used as averaging.Yes, the output is I420 and I swap the color planes for YV12, there is no info loss here, the data remains the same what the codec output.Or messed up systems that, even with directX 9 installed, a rather decent (less than 2 years old and able to overlay in YV12) and VMR9 available, can't handle VMR9 (ie that have a black/green/NULL display when using this option in MediaPlayer Classic) VMR9 can't do overlay and will only accept the formats the video card can color convert to RGB, typically YUY2 (and its variations) is the only one today. VMR7 however can use overlay and accepts YV12 just like the overlay mixer, but since YUY2 gets enumerated first on the rv filter's output pin they will all connect with YUY2 too. But that was not without a reason, I find YUY2 rendering faster somehow...

karl_lillevold
5th July 2003, 17:45
On the topic of I420 and YV12, and the conversion to and from these formats, I just posted information about the Helix YV12/I420 VFW codecs (http://forum.doom9.org/showthread.php?s=&threadid=56972), in case these are of use to anyone. I use them daily, and figured others might find them useful too, so I cleaned them up, made sure there is no loss going between the two formats ("Fast recompress" in VirtualDub), and added an installer.

midiguy
6th July 2003, 03:00
Yes! Thank you Gabest! Now that there is a directshow decoder, does that mean that the realvideo renderer will not be used?

midiguy
6th July 2003, 03:09
ummm, call me an idiot, but what exactly do I do with the .ax file?

Schultz
6th July 2003, 03:12
Originally posted by midiguy
ummm, call me an idiot, but what exactly do I do with the .ax file?

Just put it into your system dir (Win9x) or system32 (Win2k/XP) and then just run
regsvr32 filename.ax

midiguy
6th July 2003, 04:48
Originally posted by Schultz
Just put it into your system dir (Win9x) or system32 (Win2k/XP) and then just run
regsvr32 filename.ax

works, thanks.

phrentec
6th July 2003, 19:25
Is this going to allow openning of realvideo files directly into virtualdub because i just tried it and it didn't recognize it but wmp6.4 was still able to open it just fine. but yeah still a great work in progress Gabest. They said that this was possible in the helixcommunity irc and sure enough it's been done. Thanks.

bill_baroud
6th July 2003, 20:14
VirtualDub is VFW _only_ :rolleyes: ... this is a _directshow_ filter.

use an avisynth script if you want to use it.

S_O
6th July 2003, 22:12
For me it still doesnīt work! In graphedit I can play the videos fine now, but in wmp6.4 it wonīt work, no picture just the moving logo. What do I have to do?

phrentec
7th July 2003, 07:10
S_O, what version of windows are you using? could give more specs on you computer. that could help to solve.

midiguy
7th July 2003, 07:28
so by using graphedit, which container formats can you mux realvideo into (currently, not eventually)? And also, since it is a directshow filter, does that mean that the Realvideo renderer is not being used?

kilg0r3
7th July 2003, 08:31
The splitter doe not decode or render the data. The splitter just hands the video/audio/etc. data to the relevant decoders or muxers. The xvid.dll e.g. is able to handle data within directshow, it seems, the same is true for the real dlls. So the real video renderer is still being used.

HomiE FR
7th July 2003, 10:27
First of all, thanks for all of this! :) I'm really looking forward to using RV9 video within a Matroska container, along with some soft ASS subtitles...

I've tried to use the splitter. I registered the DLL, and I tried to play a RV9 clip (with RA8 audio, not decoded which is perfectly normal). This clip has a variable framerate (DropDupe used) but it seems that the splitter handles it right (I'll do another tests to be sure). It works (at least for some time ;) ).

But I've got some memory crashs with WMP 6.4: if I try to seek, I often get a memory crash with something which cannot be read according to my WinXP SP1. But even if I let the clip play without doing anything else, I've got some crashs (again those instructions which cannot be read) after about 1 minute. I don't know where it comes from.

kilg0r3
7th July 2003, 11:59
Did I say thank you already?

Ah, yeah I did. Well, anyways, THANK YOU. For me, a working Splitter is THE requirement to use RV9, because I want/need my subtitles on overlay, and, I want to add noise to overly smoothed clips, and, I don't want to pay for being able to sharpen my clips, adjust gamma etc, when there is a free solution for these things.

gabest
7th July 2003, 19:34
There has been a lot of cleanup and fixes in tha past few days, expect a new build around tomorrow.

Originally posted by kilg0r3
The splitter doe not decode or render the data. The splitter just hands the video/audio/etc. data to the relevant decoders or muxers. The xvid.dll e.g. is able to handle data within directshow, it seems, the same is true for the real dlls. So the real video renderer is still being used. Well said. How it works is very similar to "AVI Decompressor" in this aspect, they both just wrap another API to decode the frames.

midiguy
7th July 2003, 21:44
well the RV9 renderer isn't perfect when it comes to jitter (although it has been very improved if you test the alpha renderer). Are you saying that DivX has its own renderer? and XviD has its own renderer? etc. I always thoguht directshow was rendering the clips (meaning directshow was controlling the jitter, etc.) I hope that makes sense! I know I'm a newb when it comes to this stuff...

Didée
8th July 2003, 08:12
Originally posted by kilg0r3
For me, a working Splitter is THE requirement to use RV9, because I want/need my subtitles on overlay, and, I want to add noise to overly smoothed clips, and, I don't want to pay for being able to sharpen my clips, adjust gamma etc, when there is a free solution for these things.
Or, to put it in other words:

"If ffdshow can't be connected to a particular thing, the thing is unusable."

:)

kilg0r3
8th July 2003, 08:23
"If ffdshow can't be connected to a particular thing, the thing is unusable."
Fullstop. :D

gabest
9th July 2003, 02:24
Some test files for you all:

Filters for the latest rm splitter, realvideo decoder, realaudio decoder, matroska splitter, matroska muxer:

http://gabest.org/filters.rar

And something to test, blade 2 trailer in realmedia and matroska container:

http://gabest.org/Blade2_640_1Mbps.rm
http://gabest.org/Blade2_640_1Mbps.mkv

Updates:
- most of the audio formats play, exceptions: 14.4, 28.8, dnet (plays with ac3filter more or less).
- the way of storing realvideo and audio in matroska is beginning to finalize but don't expect this to be the final one. (though it might be)
- and lots of fixes of course, but anamorphic encodings still doesn't stretch to full display size.

Animaniac
9th July 2003, 04:15
Originally posted by gabest

- most of the audio formats play, exceptions: 14.4, 28.8, dnet (plays with ac3filter more or less).


Could those be added, if it's not too much trouble? Since, the upcoming ffdshow build can handle AC3 audio, so I was just going to use this with MatrixMixer instead of AC3Filter.

gabest
9th July 2003, 04:26
If ac3filter can play dnet (which is ac3 after all), I'm sure ffdshow will be able to play it as well. The "native" codec dll for this compression type doesn't want to work for me, and the two other (very old) types just produce noise as the output.

Animaniac
9th July 2003, 04:27
Originally posted by gabest
If ac3filter can play dnet (which is ac3 after all), I'm sure ffdshow will be able to play it as well. The "native" codec dll for this compression type doesn't want to work for me, and the two other (very old) types just produce noise as the output.

Ah, ok. Thanks. ^^

ChristianHJW
9th July 2003, 04:46
Originally posted by gabest
- the way of storing realvideo and audio in matroska is beginning to finalize but don't expect this to be the final one. (though it might be)
ī

:D :D ... this guy is so quick !!!

There were discussions internally if we should make and use a planned feature of the specs that will have to be introduced for h.264 NALUs, when one single frame is cut into several packets and those had to be stored in one block in the MKV.

But it seems Gabest has find a way to assemble the rv9 packets and put them into one block in a standard way, so we would prefer this solution if we find its feasible on Linux also ( no reason why it wouldnt ).

Anyhow, handle the use of the filters above with some care, at least until Gabest' way is confirmed by robux4 and Mosu ..... great job Gabest !!!!

kilg0r3
9th July 2003, 07:52
but don't expect this to be the final one. (though it might be)
Christmastime in northhemispheriean summer! :)

HomiE FR
9th July 2003, 08:31
:eek: This one works perfectly! I just tried to put a Vorbis soundtrack with a RealVideo 9 video stream inside Matroska and the playback is just perfect. Seeking is lightning fast, there is no crash anymore, the sound is in synch with the video, I really can't see any drawback yet.

Great work again! This was what I waited for in order to use RV9 video streams for animes.

Thanks again.

-=Stan=-
9th July 2003, 08:35
Just wanted to report that Real in Matroska works like a charm here as well.
Cud'nt load the video in VdubMod .
Not that i am complaining .
This is great stuff :D

bond
9th July 2003, 10:08
realvideo decoder 1001 doesnt work for me

when i open the *.rmvb test file (blade2) in graphedit i get the message that there is no usable decompressor available. if i use filter 1000 it connects to avi decompressor -> video renderer, although if i try that with the new version it cant connect

audio works fine

gabest
9th July 2003, 10:20
Hm, I switched yv12 with yuy2, but I don't understand why this would cause such a problem. Try with the overlay mixer till I can figure it out.

bond
9th July 2003, 10:39
matroska and rmvb work both fine with overlay mixer

kilg0r3
9th July 2003, 12:35
I don't know how good the realAudio codecs are, but, we could use them know in any container right?

zedude
9th July 2003, 14:07
gabest, you rule :) thank you so much !!

it works incredibly much better now and i've made this graph (http://perso.wanadoo.fr/zedudeishere/site_images/matroska_graph2.jpg) ( it's something i used to dream of ^^ )
and it plays like a charm :D

Assault
9th July 2003, 14:40
Do I have to deactivate anything in Media Player Classic for using RealMediaSplitter? Because on my system MPC doesn't use RealMediaSplitter for rmvb-file playback but it still uses the "old" method as it could always playback RealMedia files. Furthermore I can't playback Gabest's matroska file in MPC but it is working in other direct show players like Zoomplayer or Windows Media Player. Does anyone have similar problems?

Assault

S_O
9th July 2003, 15:31
S_O, what version of windows are you using? could give more specs on you computer. that could help to solve.
Windows 2000 SP3
Athlon C 1333MHz
512MB DDR-Ram
Epox 8K7A (AMD Northbridge, VIA Southbridge)
Elsa Gladiac MX (Geforce2 MX)
Terratec DMX Xfire 1024
DirectX 9.0a

I also tried the new version, without any success. Iīm able to play rm with dnet-audio, works perfectly (except this quality-bug in ac3filter), but no other audio-codec works and video doesnīt work at all. Also .ra (RealAudio) files doesnīt work. RealOne v2 is installed.

wata
9th July 2003, 19:10
i try the mkv file with latest RealMediaSplitter, it only play audio but not the video
(my video card is matrox g400 dh , OS is win2000sp3)

pop up this

Stream 1
RealVideo Decoder
AVI Decompressor
Color Space Converter
VGA 16 Color Ditherer

Media Type 0:
--------------------------
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_RGB4 {E436EB79-524F-11CE-9F53-0020AF0BA770}
formattype: FORMAT_VideoInfo {05589F80-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 153600
cbFormat: 1128

VIDEOINFOHEADER:
rcSource: (0,0)-(0,0)
rcTarget: (0,0)-(0,0)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 0

BITMAPINFOHEADER:
biSize: 40
biWidth: 640
biHeight: 480
biPlanes: 3
biBitCount: 4
biCompression: 2000928
biSizeImage: 153600
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 16
biClrImportant: 16

Blight
9th July 2003, 19:38
Great work gabest.

And let it not be said that great work goes unrewarded, check PM.

iwod
9th July 2003, 19:46
Originally posted by Blight
Great work gabest.

And let it not be said that great work goes unrewarded, check PM.

and i would like to know what is in that pm........ :D :D

unmei
9th July 2003, 20:17
some nice errors i collected (on XP):

bs player
-latest matroskaMuxer not installed, real one (.dlls) not installed -> crash
-real one not installed, but Muxer installed -> "unknown format" message, no play

MPC
-real one (.dlls) not installed -> only audio (ogg) plays
-"options->filters->source->matroska splitter" not unchecked -> only audio (ogg) plays

TCMP
-real one (.dlls) not installed -> only audio (ogg) plays

zoom player
-real one (.dlls) not installed -> only audio (ogg) plays

BTW with now both installed and internal matroska splitter unchecked in MPC it works great. Thanks gabest ! the major reason for me not to use rv for low bitrates (limited to ra and player) are gone at once :D

too sad the post processing is not adjustable in rv decoder but i'm confident some nerd will even figure this out someday

AFAIK candy cannot yet be sent with PM

Ghim
9th July 2003, 22:02
The only drawback I still see in this filter is that we got to install realone first so that real dll will be present but we can't do anything about it (It would be great if real did a dll only version but I doubt they'll do it...)

It's really a great filter you did here...
I'll be able to use any player to read Real Media Files and benefits of their advantages...

Schultz
9th July 2003, 22:32
Originally posted by Assault
Do I have to deactivate anything in Media Player Classic for using RealMediaSplitter? Because on my system MPC doesn't use RealMediaSplitter for rmvb-file playback but it still uses the "old" method as it could always playback RealMedia files. Furthermore I can't playback Gabest's matroska file in MPC but it is working in other direct show players like Zoomplayer or Windows Media Player. Does anyone have similar problems?

Assault

Make sure when you are Using MPC that you go into the Options and go to the Filters Section and Uncheck the Mastroska Splitter because the one that is built into MPC in the lastest release cannot play real media files inside mkv's .. But use the one in the filters file that gabest posted.

midiguy
9th July 2003, 22:56
hey so.. I know I asked before, but will this directshow filter solve realmedia jitter problems?

haibane
10th July 2003, 03:22
I have some playback problem with rm muxed into matroska, when the cpu usage reached 100%, the video will freeze, it happens when dragging window or exit fullscreen. I tried with the blade 2 clip and a clip I made. Another problem is that rmvb made with the dup filter have a/v sync problem. I test this with the same clip, one made with dup, one w/o.......
I have windows XP, and I'm using the filters in the previous page.........

Animaniac
10th July 2003, 05:45
Using a similar method, could QuickTime formats, such as Sorenson video, be placed in Matroska and use the QuickTime DLLs (or a future version of ffdshow) for playback?

gabest
10th July 2003, 06:53
kilg0r3: I don't know either how good they are, but they can be muxed into mkv. And there was that 6 channel sample posted by karl which is already supported.

Assault: mpc will open it the "old" way if it can recognize it as realmedia based on the file extension. The prob with mkv was answered by Schultz.

S_O: Did you tested it in graphedit with the overlay mixer? .ra will be supported later, it looks to be a little different file format, but I only peeked it once.

wata: Just what I told to S_O, try with the overlay mixer under all pre-xp windows versions.

unmei: Yea, updated matroska splitter and the codecs from realone are needed, this isn't really surprising :) About real's post processing I don't know too much... It might be either realone doing this after receiving the same raw decompressed picture as the dshow filter, or the codec can be controlled and I use it in some default mode.

midiguy: There are more renderers to choose from in dshow, you may find better or worse implementations than what you can in realone.

Animaniac: I still have a qt video decompressor filter somewhere, but it connected to the old mov splitter of dshow and that couldn't handle newer formats. I need to get specs on the file format first and rewrite that. But 3ivx also has something for quicktime, which I haven't tested yet.

haibane: Do you have a sample with a/v desync for me? It can be very low resolution to keep the file size small. For the other problem, isn't the picture freezing because the cpu can't decompress it in real-time?

karl_lillevold
10th July 2003, 07:28
Wow, all these experiments with new features suddenly now possible with Gabest's RealMediaSplitter! Looks like I have some testing and reading up on matroska, to do myself :)

Another interesting new feature is that Producer can now transcode RealMedia files. Previously this was not possible, but since Producer uses DirectShow to read its source files, via Gabest's filter, it appears to transcode just fine [with the exception of one sample encoded with DropDupe, don't know why]. Not well tested though, and transcoding from an already compressed source is generally not recommended either. Still neat.

All my test files play back very well with RealMediaSplitter, up to and including HD 1280x720p at 5 Mbps (overlay mixer required instead of system default renderer). There is still a problem with anamorphic files, like Gabest mentioned. Now I am looking forward to not having to change the (rm/rmvb) extension, such that MPC opens the files using this filter instead of the old method. Maybe an option will be added to MPC to select internal or external method.

gabest
10th July 2003, 07:36
Originally posted by karl_lillevold
Now I am looking forward to not having to change the (rm/rmvb) extension, such that MPC opens the files using this filter instead of the old method. Maybe an option will be added to MPC to select internal or external method. Yes, there will be a new column in the format list control to select the opener api (dshow, real, qt, swf).

bond
10th July 2003, 08:33
@karl
do you know if post-processing is done by the player or by the codec?

Assault
10th July 2003, 09:17
@ Gabest, Schultz

Thanks for clearing that up. It works now. ;)
Great work Gabest!!!

Assault

shitowax
10th July 2003, 09:41
Originally posted by gabest
Animaniac: I still have a qt video decompressor filter somewhere, but it connected to the old mov splitter of dshow and that couldn't handle newer formats. I need to get specs on the file format first and rewrite that. But 3ivx also has something for quicktime, which I haven't tested yet.
[/B]

Hi Gabest,
The 3ivx D4 404 splitter has some sync issues, contact me if you want to play with the new beta-one. Another thing, it would be a bit a waste of time to rewrite a qt format support from scratch as there is already at least 7 open source implementations of the mov format: the 3ivx splitter uses OpenQuicktime with is funky overloading mechanism, but there are tons of others implementations (QT4L, LibQT, ffmpeg, xine, mplayer, VLC have all their own libs)...

ChristianHJW
10th July 2003, 10:02
Originally posted by shitowax Another thing, it would be a bit a waste of time to rewrite a qt format support from scratch as there is already at least 7 open source implementations of the mov format

Yes, but if Gabest feels he needs a little 'finger training' he is rewriting a complete library from scratch in only 3 days ;) .... as happened for matroska :eek: :scared: ....

Blight
10th July 2003, 10:21
Maybe someone in the Helix team can point Gabest ot the Anamorphic Flag in the file format so that he can set the VIDEOINFOHEADER2 information to include the aspect ratio adjustments required for anamorphic content.

I tested the 3ivx codec a bit, it seemed to work pretty well with the limited content I have here, so repeating the work on the splitter is probably pointless. The bigger question is wether to use the QuickTime SDK to decode the content, or go through ffmpeg? sdk which I believe already supports sorenson.

gabest
10th July 2003, 11:48
Just added a little bilinear resizer to restore the display size, it is not very fast, but should be ok. Also enabled the video decoder to connect to the old renderer directly, but if your video card is broken and can't let it dynamically switch to yuy2 then only blackness will fill out the video window.

http://prdownloads.sourceforge.net/guliverkli/RealMediaSplitter_20030710.zip?download

Dark-Cracker
10th July 2003, 12:03
Hi

for anamorphic why not simply get the height and width from the .rmvb file and report them in the header of the matroska file (and use the anamorphic plugin) ? in anamorphic realmedia only the width or height are used to strech the video.

Does a tool was created to connect dshow pin ?


Ps: i have some slowdown during payback your balde2 sample is it normal ?

Bye.

gabest
10th July 2003, 12:14
Originally posted by Dark-Cracker
Hi

for anamorphic why not simply get the height and width from the .rmvb file and report them in the header of the matroska file (and use the anamorphic plugin) ? in anamorphic realmedia only the width or height are used to strech the video.I have no idea how to get the size, and because the codec returns it, it might be different for every frame, though very unlikely :)Does a tool was created to connect dshow pin ?This question I don't understand.Ps: i have some slowdown during payback your balde2 sample is it normal ? If the cpu is at 100% then yes, if not then no :D Which sample did you refer to? mkv, rm or both?

S_O
10th July 2003, 12:25
S_O: Did you tested it in graphedit with the overlay mixer? .ra will be supported later, it looks to be a little different file format, but I only peeked it once.
I tested the video with GraphEdit: plays fine. Manually inserted "Overlay Mixer" in front of the Video Renderer: plays fine. "Overlay Mixer 2": also fine. Tested it with WMP7 (yes, this crappy m$-player): perfect. Why doesnīt it work with wmp6.4?

bond
10th July 2003, 12:32
plays fine on my system (no more "no video" problems)!

but i get (slightly) choppy video playback (didnt had that with the first version of your filter)
perhaps that's the same like dark-crackers slowdown -> i get a real high cpu usage

i used the rm sample

Dark-Cracker
10th July 2003, 12:39
I have no idea how to get the size, and because the codec returns it, it might be different for every frame, though very unlikely.


i perhaps misunderstand your problem with anamorphic file, i have understand this (with an imaginary exemple) : u have an .rmvb file u encode it at real size : 640*400 and u use anamorphic to strech the file at 640*480 the size in the header is 640*480 but i suppose (i am perhaps wrong) the problem with your filter is when u convert the .rmvb in .mkv u get the raw frame resolution (640*400) i simply suggest u to get the size in the header and to calc anamorphic ratio (640/480) and change it in the output .mkv . but perhaps i have misunderstand your problem with anamorphic input.

This question I don't understand.

i simply ask if u think made a tool (like the koepi oggmux tool) to connect your dshow filter, or this will be added in mkvmerge tool.

If the cpu is at 100% then yes, if not then no Which sample did you refer to? mkv, rm or both?

no problems with .rm file but with mkv sample i have a slowdown every approximately 5 seconds (perhaps this filter need more cpu power).

PS: a little suggestion perhaps should u put in your first post all the interesting link to avoid to scroll each pages.

Ps2: sorry for my poor english.

Bye.

shitowax
10th July 2003, 12:43
Originally posted by Blight
I tested the 3ivx codec a bit, it seemed to work pretty well with the limited content I have here, so repeating the work on the splitter is probably pointless. The bigger question is wether to use the QuickTime SDK to decode the content, or go through ffmpeg? sdk which I believe already supports sorenson.

As far as I know ffmpeg supports Sorenson Video 1 and 3, but doesn't support QDesign Audio that is used very often in Quicktime trailer (even if some are already using AAC)... I think that a directshow wrapper for qt codecs can't be really avoided if you want the full compatibility ...

Originally posted by ChristianHJW
Yes, but if Gabest feels he needs a little 'finger training' he is rewriting a complete library from scratch in only 3 days .... as happened for matroska .... [/B]

I would say that the mov format isn't the real problem (it might be similar in complexity to matroska). The real problems is the private data inserted by codecs in the file header itself and required to decode... some are publicly available (MPEG-4 audio, MPEG-4 video), some are not : Sorenson, Qdesign, Pixlet, ... Another good one is all the small variants existing between the pure mov file format and all its derivative (mp4, m4a, 3gp, ...)

anyway, as usual, just my two cents.

gabest
10th July 2003, 13:18
S_O: Did you test the new release from today?

bond: I almost went to take a nap, but something suddenly came into my mind. The last two versions will start dropping frames when the rendering is late by at least half a second. While the playback with first release could have looked more smooth it wasn't actually prepared for real-time. If there had been sound too, the picture would have become desynced at the point where the new decoder makes it choppy to keep up with the sound.

Dark-Cracker: After such a file is transmuxed, matroska's file header will also say 640x480 because the rm splitter can only pass that to the matroska muxer. The real size will be only known by the decoder after it received back the first decoded frame from the codec dll.

ChristianHJW
10th July 2003, 13:36
Originally posted by gabest Dark-Cracker: After such a file is transmuxed, matroska's file header will also say 640x480 because the rm splitter can only pass that to the matroska muxer. The real size will be only known by the decoder after it received back the first decoded frame from the codec dll.

Similar problem as with MPEG4 in AVI. If the container doesnt know about the output AR its hard to support this on DirectShow, as the output window size has to be known already when building the graph.

The only possible workaround is add a resizing filter to the decoder filter itself, resize the actual window down to achieve the actual DAR, and add black borders on top and bottom of the active window to fill out the originally called output window size.

Of course, this is completely defeating the purpose of using anamorphic encoding, as even in full screen mode the video will first be resized to a smaller size, and thus all the extra vertical resolution gets lost, before being expanded to full screen from DirectShow.

Gabest, i recommend to use a very sharp resizing filter like Lancos at the very least, instead of bilinear.

wait !! .... me has an idea :D !!!

Why not call the actual output window from the DirectShow graph always 50% bigger than necessary ???

Say, you have a video with 640 x 400, and you dont know if its encoded anamorphic or not, only the codec will know as it's the only one to actually read the DAR flag from the Real stream. Why not call the graph to a 960 x 600 output window in any case on playback, so if you find the DAR flag and the decoder filter knows about the actual output size, you dont have to squeeze down the vertical resolution ?

Most modern monitors will work on a 1024 * xxx or 1280 * xxs res, so they should be fine in any case ? Can you make this configurable in the dshow decoder filter setup even ? What you think ?

gabest
10th July 2003, 13:45
The only possible workaround is add a resizing filter to the decoder filter itself, resize the actual window down to achieve the actual DAR, and add black borders on top and bottom of the active window to fill out the originally called output window size.The decoder can't and doesn't do this. It is only scaling up from the encoded size to the display size, which is the one taken from the header and used in the connection media type. From the display size it is the renderer and directx doing the stretching to the actual window size.

bond
10th July 2003, 13:48
Originally posted by gabest
bond: I almost went to take a nap, but something suddenly came into my mind. The last two versions will start dropping frames when the rendering is late by at least half a second. While the playback with first release could have looked more smooth it wasn't actually prepared for real-time. If there had been sound too, the picture would have become desynced at the point where the new decoder makes it choppy to keep up with the sound.hm interesting!
but any chance to get the cpu usage down to a lower level so that late rendering/frame dropping doesnt occur :(

gabest
10th July 2003, 13:51
With the overlay mixer and without any resizing in the filter, it should be as fast as realone. Is realone still playing the same clip smoother at you?

ChristianHJW
10th July 2003, 13:52
Originally posted by gabest The decoder can't and don't do this. It is only scaling up from the encoded size to the display size

:confused: :confused: ???

So, does that mean it is possible that the decoder filter will output a different resolution than the player told DirectShow when building the graph semiautomatically ?

If this is the case, what is the actual problem milan mentioned when talking about supporting the MPEG4 DAR from ffdshow ? It has a resizing filter built in and will read the DAR from the MPEG4 ES headers as soon as the first frame arrives, so whats the problem ??

BTW : bilinear sucks for scaling UP, its mainly suited for downsizing, you really should consider bicubic or lanzcos ;) ...

karl_lillevold
10th July 2003, 14:23
Originally posted by bond
@karl: do you know if post-processing is done by the player or by the codec?
This has been discussed a few times. All image processing in RV9 is inloop, thus non-separable and non-adjustable. The best known example of another codec having a similar feature, is H.264. The main advantage is that the codec gets to work with as clean frames as possible, increasing compression efficiency and video quality. The disadvantage is that it can not be adjusted without changing the bitstream, requiring the adjustment to be made by the encoder. This said, maybe one day for experimental purposes, I may make an adjustable encoder version, requiring a decoder update to go along with it.

S_O
10th July 2003, 15:05
S_O: Did you test the new release from today?
Installed the newest build, and: Perfect! It works great!
If Milan would be as fast as you and finally make a new version with rv10 and 14_4/28_8 support (which is in ffmpeg) there would be nearly complete RealMedia-support!
Nearly: sipro voice (sipr) is not played. Is there any way to decode it with "ACELP.net Sipro Lab Audio Decoder"-filter? I tried to mux the sipro audio into a wav and change identification to 0x130, but it doesnīt work, because the remuxed wavs doesnīt contain a 44 bytes-standard wav-header.
So I tried something else: Encoded a acelp.net-wma (8kHz; 8,5kbps), remuxed the wma to wav (wav play fine), and then encoded the the same file to "RealAudio 5.0 - 8,5kbps Voice". After that I wanted to replace the data in the wav with the one from the .ra, but when I looked at the files in the HexEditor I started laughing:
Data is bit-identical! The RealAudio Encoder 3.1 and Windows Media Encoder 7 produces identical output!
Real-Voice = WMA-Voice!!!!!
So it shouldnīt be a problem to decode sipr with acelp.net-decoder, also because both Encoders have the same bitrate modes (5kbps; 6,5kbps; 8,5kbps at 8kHz and 16kbps at 16kHz)

haibane
10th July 2003, 15:50
@gabest

The video freezing problem I am having only occurs with the mkv, however in rm, no matter how i drag the window or do other stuff, the video never freeze, it just start to drop frames. Besides, the video freeze occurs every time the cpu usage briefly reach 100%. It's not constanly at 100%, in fact, the cpu usage is at about average 30%. So, when exit from fullscreen, the video will freeze. This brings up another thing, when exit from fullscreen, the mkv version will eat up all the cpu compare to the rm version only use very little cpu.

About the sync problem, there are about 200-300ms difference uniformly through the whole clip between the audio and video, and the video did play vfr. I don't know if you really want the clips, because they are 100mb each........

Stux
10th July 2003, 18:17
Originally posted by karl_lillevold
This has been discussed a few times. All image processing in RV9 is inloop, thus non-separable and non-adjustable. The best known example of another codec having a similar feature, is H.264. The main advantage is that the codec gets to work with as clean frames as possible, increasing compression efficiency and video quality. The disadvantage is that it can not be adjusted without changing the bitstream, requiring the adjustment to be made by the encoder. This said, maybe one day for experimental purposes, I may make an adjustable encoder version, requiring a decoder update to go along with it.

3ivx D3.5 did this too ;)

Sirber
10th July 2003, 18:42
3ivx do inloop plus extreme post-processing? :confused:

Dark-Cracker
10th July 2003, 22:10
Hi,

i have made a little tool to directely use the dshow filter and connect the pins :) for the moment it only support .rmvb for input and create an .mkv for output. i will add support for .avi input and .mp3/.ogg/.aac/.srt/.ssa ... etc as soon i will find time to made some tests.

URL:
----

http://www.eclipsedvd.firstream.net/autodub/MatroskaMuxer.zip

how to use it :
---------------

1) be sure u have install the filters made by gabest.
2) launch the setup.bat (to registering the .dll)
3) start my tool select input .rmvb and output .mkv and wait.

WARNING :
---------
for the moment i don't have succeded to get the % of conversion u must wait your hard disk stop to work to know if the conversion is finish. Sorry i will try to find a better solution as soon as possible.

if u could post the result of your test, or bug report, it's the first time i play with dshow filter.

PS: very nice work gabest :)

Bye.

Sirber
10th July 2003, 22:30
Great!

Good job DC and Gabest! :D

Animaniac
10th July 2003, 22:31
Originally posted by Dark-Cracker
Hi,

i have made a little tool to directely use the dshow filter and connect the pins :) for the moment it only support .rmvb for input and create an .mkv for output. i will add support for .avi input and .mp3/.ogg/.aac/.srt/.ssa ... etc as soon i will find time to made some tests.

URL:
----

http://www.eclipsedvd.firstream.net/autodub/MatroskaMuxer.zip

how to use it :
---------------

1) be sure u have install the filters made by gabest.
2) launch the setup.bat (to registering the .dll)
3) start my tool select input .rmvb and output .mkv and wait.

WARNING :
---------
for the moment i don't have succeded to get the % of conversion u must wait your hard disk stop to work to know if the conversion is finish. Sorry i will try to find a better solution as soon as possible.

if u could post the result of your test, or bug report, it's the first time i play with dshow filter.

PS: very nice work gabest :)

Bye.

Here comes the Matroska complement to Koepi's OggMux!!

Stux
10th July 2003, 23:53
Originally posted by Sirber
3ivx do inloop plus extreme post-processing? :confused:

D1/2/3/3.5 did, D4 doesn't.

We found that doing in-loop filtering made it very hard to update the algorithms going forward

It was called "Artifact Reduced Encoding"

faxmactor
11th July 2003, 01:44
There was a request regarding Realmedia codecs in the beginning of this topic (RadicalEd, perhaps). After looooong experiments I managed to strip the necessary codecs from RealOne a few months ago. Now, combined with RealMediaSplitter (you are a awesome, Gabest!) it has more "style" (and smaller, too).

I know, that there may be more files than necessary. I dont have the necessary programming skills to determine the dependencies, so I was experiencing a lot.
It might be possible that not all the included DLLs are needed, but what I know is that lack of one single file can lead to rare, but ugly _really random_ crashes. :scared:

It WORKS perfectly! :D

If the moderators think so, I can post a direct or visit link here. Please notify me if I shouldn't do so.

gabest
11th July 2003, 01:56
S_O: I tried the sipro filter, but it wanted a nonstandard waveformatex structure and didn't play my files anyhow. But what is the problem with the real codec? To me it was working perfectly. Do you have sipr3260.dll at all? Also, can you upload a sample non-rm file with sipro audio? So that I can check the media type and compare to mine to correct it.

haibane: I'm sorry, I'm running out of ideas... Maybe with time this will be solved somehow.

faxmactor: Hehe, there aren't many dlls needed, and you can just dump them to system32 on a machine without realone, ... but I'm not encouraging anyone to do that of course.

faxmactor
11th July 2003, 02:34
Originally posted by gabest

faxmactor: Hehe, there aren't many dlls needed, and you can just dump them to system32 on a machine without realone, ... but I'm not encouraging anyone to do that of course.

(Under Win98SE, Hungarian) without the hole "Codecs", half the "Plugins" and one "Common" file, it was quite unstable. Perhaps it was MPC's fault :D Even a missing tfilesys.dll could have caused very random crashes (I had ripped all my hair one by one until I guessed ;)

Perhaps I am wrong (can you tell me what are really necessary from RealOne?). I have time, I'll try to reduce the surplus, but it is quite difficult, since the crashes were random. MPC also evolved since March, though, not to mention the standalone RealMediaSplitter now.

But anyway, the only ting I know that the present state is rock stable (as it can be under MS Windows :devil: )

karl_lillevold
11th July 2003, 02:50
RealMediaSplitter and its features are interesting topics, but i think it would perhaps be a good idea to not discuss what is related to illegal re-distribution of DLLs in this forum.

kilg0r3
11th July 2003, 08:49
1.)
why does is not work with ogm?

2.) Tried a stream consisting of one rmvb stream without audio plus one real audio stream muxed into mkv. Beside the already mentioned freezes after resizing the window. I encountered one instance where the video first started to stutter for one second and then stoped (video only). Furthermore the video also freezes when changing the focus on the windows. And, it never recovers on the next keyframe.
the matroska muxer and splitter used were Gabest's.

midiguy
11th July 2003, 18:54
Tested the latest filters. Real Media container works very well with fast seeking (although I haven't tested the audio), and MKV works, but every once in a while, the video freezes for 2 seconds or so, and then resumes playback.

gabest
11th July 2003, 19:14
Hm, I think I know why the mkv is like that... There is a larger buffer in the rm splitter, and because the audio frames are larger with realaudio more samples have to be buffered to allow an audio preload (the video renderer won't move until the audio renderer drives it with the clock, and this will block the splitter's video pin as well). Could you test the mkv again in graphedit, but so that you delete the audio filters after the splitter?

Btw, do you say the blade2 mkv sample plays badly for you? Because that should not suffer from this problem, it plays well at least on my machine.

Assault
11th July 2003, 20:09
@ Gabest

Hm...
The mkv sample doesn't freeze 1 or 2 seconds but when I play it with latest MPC the playback is a little bit jerky. It isn't very much but it isn't too hard to recognize.
But when I play the sample with Zoomplayer everything works fine. It doesn't play jerky at all. :confused:

My system:
Athlon 1,2 GHZ
256 mb RAM
Geforce4 TI 4200
WinXP, no SP

Assault

gabest
11th July 2003, 20:12
Did you use the same renderer for comparison?

Assault
11th July 2003, 20:35
I didn't change anything apart from the player.
But what's realy weird: I tried playing it in graphedit and it played jerky as well, even when I deleted all filters from the graph which concern the audio. I also tried Windows Media Player 6.4. It played jerky as well. The only player I don't see this jerky playback is Zoomplayer. I hope that helps.

Assault

bond
11th July 2003, 20:47
assault
try overlay mixer in graphedit

haibane
11th July 2003, 21:55
I sorry, I just figure out why my video freeze, I use to set ffdshow to decode yv12, so ffdshow got in to the filter chain, when it's removed, the video plays fine now........

In fact, the mkv version now plays much smoother than the rm version, when I am constanly dragging the window, the mkv didn't even skip frames, or it skip so few, it's not noticeble to my eye, while if I do the samething to rm, it becomes like a slide show.....

faxmactor
11th July 2003, 23:46
Originally posted by karl_lillevold
RealMediaSplitter and its features are interesting topics, but i think it would perhaps be a good idea to not discuss what is related to illegal re-distribution of DLLs in this forum.

Unterstood. That's why I asked.

Assault
12th July 2003, 01:02
@ Gabest, Bond

Thanks Bond, when I add overlay mixer between real video decoder and video renderer it plays normal, there's no jeky playback! ;)
But what does that mean? How can I configure MPC or any other direct show player apart from Zoomplayer to make it work?

Assault

midiguy
12th July 2003, 04:39
Originally posted by gabest
Btw, do you say the blade2 mkv sample plays badly for you? Because that should not suffer from this problem, it plays well at least on my machine.

Yes, I ahve this problem with the blade 2 MKV. Others also had this same problem I think..

midiguy
12th July 2003, 04:55
ahh, graphedit is confusing for me (I'm new to it). Can someone please post the steps to transcode an RM into an MKV. I got the first two branches I think.

Also, what exactly does OverMixer and OverlayMixer2 do? And how do you add it to the graph?

*edit*:

OK, I think I got it:
RealVideo Source --> Matroska Muxer --> File Creator (filename.mkv)

But where does overlay mixer, RealVideo Decoder and Video Renderer (you guys have been talking about them) fit into the mix?

gabest
12th July 2003, 08:42
The overlay mixer is generally faster for playback because it just changes the memory address to be displayed for the new frames instead of copying them from a hidden back buffer to the front (this also help jitter problems). Zoom uses the overlay mixer by default, while mpc/wmp/graphedit/.. prefers the default renderer (vmr7 under xp, old crappy for the rest). In mpc the renderer is selectable through the options.

bond
12th July 2003, 11:46
how can i change the graph so that overlay mixer is always used (in every player)? through the registry?

filewalker
12th July 2003, 12:10
AFAIK, you have to change the MERIT value.
An easy possibilty is to change the MERIT value if you use the Zoomplayer for the changing, goto options-->Filter control-->Managment-->push "Registered filter managment" an update the Merit value from "Overlay Mixer" to "800000"
This "Merit changing" will have an effect on all players(which use DSF).

Cu filewalker

Sirber
12th July 2003, 13:49
I just transmuxed a rmvb (RV9 + Cook @32kbps) to matroska, and on playback, the mkv hang the video on keyframes.

I have all lastest ax...

The People's Elbow
12th July 2003, 16:53
hmm... i muxed my rv9 video + ogg vorbis audio + srt/ssa subs in mkv and it plays flawlessly under mpc ( and mp6.4 )
used all latest filters.
Kicks ass! My berserk eps @ 60MB per Episode and they look and sound great! wohoo ;)

THX to all you crazy guys that made it possible!

midiguy
12th July 2003, 18:04
...and that's the bottom line... ;)
Cause Stone Cold said so!

umm, right, back to the topic at hand. Let's say you had jitter problems with the "old" non-directshow method (it has to do with Real's renderer), and now you have no jitter when using directshow, will using the overlay mixer effect this at all? Are there any disadvantages to the overlay mixer?

midiguy
12th July 2003, 18:16
hey Gabest, I think it is your blade2 MKV trailer that is causing problems for some people, becaues I just transcoded my own rm into mkv and I don't have any freeze problems... hmmm. I suppose it could be because your file is full res full screen while mine is full res wide screen (less video to decode). But if that is the problem, then why does it take so much CPU to decode matroska with realmedia video?

bond
12th July 2003, 18:46
Originally posted by filewalker
you have to change the MERIT value.even though overly mixer isnt used :(

Blight
12th July 2003, 21:26
Do not mess with the merit of the Overlay Mixer, it may cause system instability.

If you want to use the overlay mixer, use players that support it (MPC/ZP). As this filter doesn't work alone (it also hooks into the older renderer).

S_O
13th July 2003, 04:06
I had some problems, because I installed one of these crappy real-codec packs which caused that sipr couldnīt be played anymore. I removed RealOne (which wouldnīt start anymore) and the CodecPack, reinstalled RealOne and finally it works perfect! With all codecs!

bond
13th July 2003, 13:00
Originally posted by Blight
Do not mess with the merit of the Overlay Mixer, it may cause system instability.
If you want to use the overlay mixer, use players that support it (MPC/ZP). As this filter doesn't work alone (it also hooks into the older renderer).so no chance to make it work with players like bsplayer :(

gabest
couldnt you make it work with avi decompressor always plz?

Blight
13th July 2003, 18:18
bond:
As far as I know, BSPlayer has it's OWN renderer... not sure how flexible it is.

midiguy
13th July 2003, 18:32
Hey Gabest, we have some installation conflicts. I just installed The Edge's matroska install pack, and when I did that, RealVideo in MKV files no longer plays in dshow players (although .rmvb will still play). I just reinstalled the filters from your filters.rar package and it works again.

*edit*
The Edge's install package can be found at this thread:
http://forum.doom9.org/showthread.php?s=&threadid=55745&perpage=20&pagenumber=2

midiguy
13th July 2003, 19:54
I am trying to load a RMVB into virtualdub through an avisynth script, but it doesn't seem to be working. I am using DirectShowSource(bla.rmvb). Can someone give me an example script with the correct commands for real video/audio? thanks!

karl_lillevold
13th July 2003, 19:59
DirectShowSource("problem3.rmvb",fps=23.976)

midiguy
13th July 2003, 20:02
yes, it works, thank you! just, seeking through the file in virutaldub is VERY slow! is that normal?

gabest
13th July 2003, 20:03
Also, use a Trim(..) to cut the end because vd likes to freeze there.

midiguy
13th July 2003, 20:18
hmm, so I trimmed the last frame out, but still freezes at the end. How much do you have to trim?

oh, also, what about the audio? thanks!

karl_lillevold
13th July 2003, 21:29
Audio DirectShowSource may not be quite ready yet, being developed right now:
Very early audio support in DirectShowSource (http://forum.doom9.org/showthread.php?s=&threadid=57357)

Trim worked for me to avoid hang. Remember frame counting starts at 0, so if File Information shows 235 frames before Trim, you have to Trim(0,233).

Animaniac
13th July 2003, 23:35
When loading the Blade 2 MKV in MPC 6.4.5.8 when Real Media is set to DirectShow, two windows playing the video pop up, one the standard MPC window, and then a GraphEdit-like ActiveMovie window, closing the ActiveMovie window allows the file to be played normally.

Sirber
13th July 2003, 23:35
Originally posted by Sirber
I just transmuxed a rmvb (RV9 + Cook @32kbps) to matroska, and on playback, the mkv hang the video on keyframes.

I have all lastest ax...

FFDSHOW handeling YV12 cause that hang. :D

haibane
14th July 2003, 04:27
Originally posted by midiguy
hmm, so I trimmed the last frame out, but still freezes at the end. How much do you have to trim?

oh, also, what about the audio? thanks!

I extract the audio via graphedit....

it goes like:

source--->real audio decoder ---> inter video wave wrapper(or whatever wave wrapper you can find, this is the only wave wrapper I can find on my computer) ---> file writer(XXX.wav)

then you got the wav file........
tried with the blade file.........
worked fine..........

nah
15th July 2003, 09:21
I've just mux rmvb file to mkv and it works fine with lastest MPC. But seeking is not fast as when reading rmvb.

With Graphedit :
RMVB (file Async)-->RealMedia Spitter-->Track1_MatroskaMuxer
RM English (file Async)-->RealMedia Spitter-->Track2_MatroskaMuxer
RM French (file Async)-->RealMedia Spitter-->Track3_MatroskaMuxer
SRT French (SubtitleSource TEXT)-->RealMedia Spitter-->Track4_MatroskaMuxer

MatroskaMuxer--> file.mkv (FileWriter)

Good work, Gabest !

Sirber
15th July 2003, 13:39
Why can't the final MKV can't be opened with VirtualDubMod CVS? It says there is no FVW codec. I'd liek to add subtitle and mofivy MKV infos but I can't edit it.

Any idea?

[edit]

Crash reason: Access Violation

Crash context:
An out-of-bounds memory access (access violation) occurred in module 'VirtualDubMod'.

Thread traces:

Thread 00002d1c (Main thread)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(302)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(334)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(352)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Init.cpp(414)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Main.cpp(295)
C:\Dvpt\VDub_1.5.x\VirtualDubMod15\VirtualDub\source\Main.cpp(324)

kilg0r3
15th July 2003, 14:16
Well there simply, currently is no Video-for-Windows compatible codec that could decode rv9 content. the rv9 codecs work only in the direct show environment. AFAIK VfW couild be called the older brother of directshow. Not entirely sure though.

So, when will we see the VfW version of rv9 :D? It definitly would be nice to have an Xvid/Divx-like interface. --- This wont happen I know.

gabest
15th July 2003, 14:23
I don't think it will be ever done, rv can have b-frames (true, not packed like divx) and variable frame rate.

Dark-Cracker
15th July 2003, 14:38
does someone have succedeed to mux AC3 / MP3 or AAC ? i have tested with different filter but without success if u have succeded a little explaination from the graph is welcome :)

ChristianHJW
15th July 2003, 15:11
Well, here is the actual status of VirtualdubMod's capability to edit non-VCM video streams in mkv files :

- VdubMod can open and edit native MPEG4 MKV files alreads

- it is aware of b-frames ( reference priority ) in MKV, and can handle them

- preview can be switched off if set to 'Direct Stream Copy', so that also non-VCM codecs could be processed, but AFAIK Cyrius has deactivated this for the current CVS release

- VdubMod will never be able to handle VFR, due to its VfW orientated framework

Sirber, editing RV9 in matroska is not so far off IMHO, but only Cyrius can give a clear statement here i guess. However, dont expect to be able to use preview in near future, but maybe the files could be edited based on frame type and frame number pretty soon ?

kilg0r3
15th July 2003, 15:18
What is the problem with ogm ATM? When using graphedit for muxing I get a video codec unknow error.

Sirber
15th July 2003, 18:14
Originally posted by ChristianHJW
Sirber, editing RV9 in matroska is not so far off IMHO, but only Cyrius can give a clear statement here i guess. However, dont expect to be able to use preview in near future, but maybe the files could be edited based on frame type and frame number pretty soon ?

I only want to edit names of the audio streams... I don't need preview :)

ChristianHJW
15th July 2003, 20:32
Originally posted by kilg0r3
What is the problem with ogm ATM? When using graphedit for muxing I get a video codec unknow error.

OGM can only use VCM codecs so far ....

Suiryc
15th July 2003, 22:34
Originally posted by ChristianHJW
OGM can only use VCM codecs so far ....
OGM can only handle video streams that have a FourCC. I guess that OGM could contain non-VCM codecs only if they have a FourCC (and maybe only if they are CFR, don't know if OggDS could handle anything else than the frame number as granulepos ...).

CVS VDubMod can open files (AVI/OGM/MKV) for which you don't have a VfW codec (for example some MsMpg4v1/3 video, for which you didn't install a VfW codec, but that you can still read in WiMP thanks to ffdshow). Vanilla VDub would tell you don't have a valid VfW codec and wouldn't allow you to edit the file. In this case 'Direct stream copy' is forced (other modes are unavailable ... anyway you don't have a codec to decompress the video so no need to select another mode :p) and 'Show input/output video' are unchecked (you can check them if you want but I think you don't want to do that :)).
So you can still edit your file ... but you won't be able to preview it that's all.

When you open a MKV file with an MPEG-4 native stream (with b-frames) the XviD codec (VfW one) will be used to decode the video (if you have this codec of course). If you have the codec you will be able to see the video in preview, otherwise you are as in the previous case (you don't have the correct VfW codec) and 'Direct stream copy' is forced. In this case you should only save to MKV since only this output format handle native MPEG-4 streams.

And yes VDubMod won't handle VFR streams since VirtualDub core doesn't handle it (all functions use frame numbers).
This means many RV9 streams won't be handled correctly in VirtualDubMod

Sirber
15th July 2003, 22:35
Originally posted by Suiryc
CVS VDubMod can open files (AVI/OGM/MKV) for which you don't have a VfW codecCVS VDubMod can't open RV9 stream in MKV :D

ProfDrMorph
16th July 2003, 18:30
Originally posted by Dark-Cracker
does someone have succedeed to mux AC3 / MP3 or AAC ? i have tested with different filter but without success if u have succeded a little explaination from the graph is welcome :)
I could mux AC3 into .mkv without any problems using VirtualDubMod. Fortunatly I had a XviD .avi + a RV9 .rmvb of the same movie so that I could first use the .avi and my AC3 files to create a .mkv file with a XviD video stream and then I used that file to create a .mkv file of the same movie with the same audio streams but a RV9 video stream. My filter graph ( after I created the .mkv with XviD/AC3 streams ) looked like this:

http://home.t-online.de/~profdrmorph/rv9-ac3-mkv-graph.png

So in short ( to mux RV9/AC3 into .mkv ):
- create .avi of the same movie
- use VDubMod to create temporary .mkv file contain all the audio streams you want
- use GraphEdit to exchange the video stream with your RV9 stream



The reason why I had two different video streams of the same movie is that I'm doing a sort of personal codec comparison. So far I have no big news: XviD wins with bitrates >700kbit/s and RV9 wins with bitrates <400kbit/s. I haven't tested anything in between yet and I must say that XviD's lead with high bitrates is only very small while RV9 CLEARLY wins in the low bitrate test. Though my tests are far from complete yet ( because I haven't tested all scenarios yet like low bitrate real movie or high bitrate anime ).

karl_lillevold
16th July 2003, 18:38
Originally posted by ProfDrMorph
The reason why I had two different video streams of the same movie is that I'm doing a sort of personal codec comparison. \
Interesting. May I ask if you are using RV9-EHQ? And if so, which encoding tool, if any? I discovered that if one downloads AutoRV9 1.3b2 + its update, it does not include the right version of Producer, so even though EHQ appears to be enabled, this is not the case, and bitstreams may even come out with garbled video once in a while.

ProfDrMorph
16th July 2003, 20:01
Originally posted by karl_lillevold
Interesting. May I ask if you are using RV9-EHQ? And if so, which encoding tool, if any? I discovered that if one downloads AutoRV9 1.3b2 + its update, it does not include the right version of Producer, so even though EHQ appears to be enabled, this is not the case, and bitstreams may even come out with garbled video once in a while.
I read you sticky. ;) I used "Helix Producer GUI" by TFC ( I downloaded it just a few days ago so I think it's no outdated version ) and created a new audience file with EHQ enabled ( at least I think so :D ) and set it to 80. This way I don't have to add the registry keys, do I? RV9 was not much worse but due to very very small amounts of ringing artefacts the XviD version just appears to be sharper/more detailled. What I liked about RV9 is that it had absolutly no block artefacts ( or better: aside from the lack of some details compared to the DVD it had no real "artefacts" at all ;) ) even without enabling some kind of post-processing ( and if I understood you other posts correctly there's no such thing as real post-processing hardcoded in RV9 ).

EDIT: I just forgot: I could use anamorphic encoding to improve RV9's quality but as I want to avoid RealMedia system streams ( I used .mkv to be able to have a wider choice of audio codecs; maybe I'll to a personal audio codec comparision after my video codec comparison ;) ) this would lead to problems.

midiguy
18th July 2003, 23:25
hello. Just wondering how the filter is going? any improvements?

gabest
18th July 2003, 23:43
Yes, there are. Anamorphic stretching can be done by the renderer filter, and I added the needed color conversion for the rgb outputs.

kilg0r3
20th July 2003, 10:21
thanks, gabest. Simply, thanks.

nah
25th July 2003, 19:30
Hi,

I've tested RealMediaSplitter 1.0.0.4 and MatroskaMuxer 1.0.0.6 and MPC doesn't play the mkv.
It worked well with the RealMediaSplitter 1.0.0.3
Does anyone have the same pb ?

(Tested on Server 2003)


Thanks Gabest

PkmoNk
26th July 2003, 23:28
how do i install this .ax realmedia splitter?

Yusaku
26th July 2003, 23:45
any directshow filter is installed through regsvr32 NameOfTheFile.DllOrAx and uninstalled through regsvr32 /u NameOfTheFile.DllOrAx

PkmoNk
27th July 2003, 06:55
thx a few q's :
do i need to restart for the filter to take effect?
how do i encode rm inside other containers?

kastro68
27th July 2003, 08:30
The easiest way is to encode the video and audio separately then use graphedit.

You can also use mkvmerge for matroska container...but it is CLI(Command Line Instructions), not sure if there is a gui for it.

Sirber
28th July 2003, 02:25
with mkvmerge, can we mux RMVB/RM content?

ChristianHJW
28th July 2003, 08:21
Originally posted by Sirber
with mkvmerge, can we mux RMVB/RM content?

Yes, the Linux version in Mosu's own CVS can do that already, but Mosu hasnt released any Windows binaries as of yet, and also the documentation is not updated .... its all expected for the big release date, 4th august, we call it 'CHIP release' as we have to give all the existing software to them for testing until then, while the magazine itself will appear in September ....

S_O
28th July 2003, 18:05
I think it would be better to bring the release out some days before that, so that bugs can be found here, and not by CHIP. Yust to ensure they get bug-free version.
Important before you probably forget it: dnet is ac3! If the rm contains dnet-audio it should be muxed into matroska like ac3, with same format-tag.
Yust some things I noticed that should be updated:
-Codec list, V_REALRV9 is still "to be supported later"
-CoreVorbis: Project/CVS is empty ( http://corecodec.org/projects/corevorbis ), also there have been several releases. People should know where they get the newest version, here seems the logical place. Same goes for CoreAAC, also you cannot download binaries there, maybe a link to rarewares would be useful. And put the source into CVS.
-Is HE-AAC supported correctly? I mean does the muxer automatically detect HE-AAC and sets the format-id correctly?

Edit: -OK, there are the two sites for CoreAAC / CoreVorbis. CoreAAC is empty, at CoreVorbis only two binaries. Maybe someone could upload the source as well for both and create a simple html-site, that there is a bit more than a directory.

Edit2: - I just noticed there is a german and french button at the matroska homepage, but both doesnīt work (still english). If there is no translation, they should be removed, or a text like "Leider noch keine deutsche Übersetzung vorhanden" (and the same in french of course).
I think the CHIP guys not only look at the software, also at the homepage and there shouldnīt be dead links etc. They also probably write the URLs in the magazine, but the wonīt write URLs of a poor directory.

Atamido
28th July 2003, 18:56
Originally posted by S_O
[B]-Codec list, V_REALRV9 is still "to be supported later" I was just working on updating the list into tables and that was one of the additions that was made. You can see the updated version here. (http://cvs.corecodec.org/cgi-bin/viewcvs.cgi/*checkout*/matroska/doc/website/technical/specs/codecid/index.html)

S_O
28th July 2003, 19:32
I was just working on updating the list into tables and that was one of the additions that was made. You can see the updated version here.
Great, looks much better now! I donīt if itīs supported, but you there are no RealAudio Codecs yet:
A_REAL/14_4 = Real Audio 1
A_REAL/28_8 = Real Audio 2
A_REAL/COOK = Real Audio Cook Codec (codename: Gecko)
A_REAL/SIPR = Sipro Voice Codec
A_REAL/RALF = Real Audio Lossless Format
A_REAL/ATRC = Sony Atrac3 Codec
A_AC3 = Real Audio 3 / DolbyNet(TM)

A full list of real-audio-codecs with bitrates, channels, samplerates etc.: https://helix-producer.helixcommunity.org/specs/Producer9.2/AudienceFile/AudienceDefaults.xls

Edit: If you already update the page:
ACM-tags:
MP1 / MP2 = 0x0050
MP3 = 0x0055
PCM int, little endian: 0x0001
IEEE float: 0x0003

Does it make any sense to have two format tags for big/little endian. That is yust byte order, if you save:
A4 01 48 CC 3E C6 65 63 09 39 B4 24 E3 96 6D 64
or
01 A4 CC 48 C6 3E 63 65 39 09 24 B4 96 E3 64 6D
In wav/avi itīs always little endian.

S_O
29th July 2003, 01:41
dnet is ac3! If the rm contains dnet-audio it should be muxed into matroska like ac3, with same format-tag.
I take it back. Only a part of dnet is ac3: Only flavor 6 and 7 are 100% ac3 compatible, the others are not:
You know MPEG-1 Layer 3 and MPEG-2 Layer 3. The bitstream is idetical, but MPEG-2 has the difference that the samplerate is lower.
The original AC3 only supports 32; 44,1 and 48kHz, but DolbyNet goes down to 8kHz samplerate. liba52 supports this. But Azid for example not. For stand-alone devices this could be very important, maybe the decoder doesnīt support that ac3.
The ac3 frame header has, similar to the mpeg-audio header a version field. Normal ac3 is defiened as bitstream id 8 (5 Bits, numbers are 0-15). Everything below 8 is still compatible with all decoders that handle 8 correctly. Everything higher are additions that break decoder compatibility.
For the samplerates 24kHz (00); 22,05kHz (01) and 16kHz (10) the BSID is 9
For the samplerates 12kHz (00); 11,025kHz (01) and 8kHz (10) the BSID is 10

Therefore Iīm suggesting using these format-ids:
A_AC3 = BSID <= 8
A_AC3/BSID9 = BSID 9 (like MPEG 2)
A_AC3/BSID10 = BSID 10 (like MPEG 2.5)
Nothing else than the samplerate is affected by this. The samplesizes/bitrates does not change like in MPEG.

Also, if itīs still changeable you should think about changeing the audio format-ids for mpeg-audio that they include the mpeg-version, not only the layer. This could be importanat for hardware-profiles, because most hardware decoders doesnīt support MPEG 2.5 for example, also MPEG2 is already a problem with some decoders.

ChristianHJW
29th July 2003, 03:10
All is done according to your suggestions, result still here (http://cvs.corecodec.org/cgi-bin/viewcvs.cgi/*checkout*/matroska/doc/website/technical/specs/codecid/index.html). S_O, if you ever feel like joining the team and maintaining this page, gimme a shout ....

Changing the codec ID is not possible anymore, but dont forget that we have a sampling rate field in the track header, so its easy for decoders to find out if they support that or not ...

wata
30th July 2003, 22:28
hi, i just encode some realmedia9 with Anamorphic Encoding, and convert it to Matroska format using Dark-Cracker MatroskaMuxer Tool, but it doesn't play in latest mpc either with internal filter or external i have install RealMediaSplitter v1.0.0.5 & Matroska Splitter v1.0.1.5 (i try some early version too)
normal rv9 (not ananmorphic encode) convert to mkv play fine

i get this popup:

Stream 0

Media Type 0:
--------------------------
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: FOURCC GUID {30345652-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo {05589F80-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 0
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 146

VIDEOINFOHEADER:
rcSource: (0,0)-(0,0)
rcTarget: (0,0)-(0,0)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 333332

BITMAPINFOHEADER:
biSize: 40
biWidth: 0
biHeight: 864
biPlanes: 0
biBitCount: 0
biCompression: RV40
biSizeImage: 0
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0

gabest
30th July 2003, 22:40
wata: Is it the only media type you get? Isn't there a second with VIDEOINFOHEADER2?

wata
30th July 2003, 23:42
Originally posted by gabest
wata: Is it the only media type you get? Isn't there a second with VIDEOINFOHEADER2?

that the only media type i got, after i press close it just play the audio without the video

i am using windows 2000 with directx9b and a matrox g400 video card.

Sirber
3rd August 2003, 18:30
No anamorphic playback :(

bond
9th August 2003, 16:08
gabest can you plz add a clickable option in realmediasplitter to always use it together with the overlay mixer (this is already possible in ffdshow -> look under "codecs" tab in ffdshow)

would be great!!!

(perhaps some info about the real streams could be also very nice in the splitter options :D )

gabest
9th August 2003, 17:26
Sorry, but this is not possible, filters must not add other filters, this is the job of the filter graph.

Property pages aren't likely to show up either, I'd like to link them statically to mpc in the future and lib's can't contain resources.

bond
9th August 2003, 17:46
Originally posted by gabest
Sorry, but this is not possible, filters must not add other filters, this is the job of the filter graph.hm, perhaps you misunderstood me, as this is already working in ffdshow!
ffdshow has an overlay mixer option -> if it is ticked the overlay mixer is used between ffdshow and the video renderer (instead of the avi decompressor)
would be very usefull if this can be implemented in your splitter too...

Property pages aren't likely to show up either, I'd like to link them statically to mpc in the future and lib's can't contain resources.nothing against mpc, but what if someone uses another player :(

gabest
9th August 2003, 18:14
Originally posted by bond
hm, perhaps you misunderstood me, as this is already working in ffdshow!
ffdshow has an overlay mixer option -> if it is ticked the overlay mixer is used between ffdshow and the video renderer (instead of the avi decompressor)
would be very usefull if this can be implemented in your splitter too...Yes, it works sometimes (try to set some non-default renderer in mpc), but that is a hack, and messes up the internal state of the filter graph manager when it tries to build the graph. Filters must not change the graph themselves.nothing against mpc, but what if someone uses another player :( I can't have ppages for these statically linked filters in mpc either. For that a dll must be registered, while mpc is only an exe.

bond
9th August 2003, 18:30
Originally posted by gabest
Yes, it works sometimes (try to set some non-default renderer in mpc), but that is a hack, and messes up the internal state of the filter graph manager when it tries to build the graph. Filters must not change the graph themselves.hm, interesting that this is some sort of hack...

my problem with your splitter is that still there are many frames dropped during playback -> when i insert overlay mixer (as you suggested) in the filter graph in graohedit it works like it should
but i dont know how i can force the splitter to always use overlay mixer (changing the merit doesnt help, as discussed already in this thread)

i am sorry to say that but if i cant solve this dropped frames issue your splitter is pretty much useless for me :(
am i the only one experiencing these problems?

wouldnt it be possible to make the splitter always connecting to overlay mixer or can this cause problems?
or can you plz insert the overlay mixer option even if it is a hack (nobody has to use it if it works without overlay mixer)

karl_lillevold
9th August 2003, 18:40
I think I may have missed part of this discussion, but I can not seem to find all of the information above.. Based on Gabest's advice I found that using the overlay mixer renderer in MPC when playing back RV9 HDTV content resulted in much better performance and almost no dropped frames (same performance as in RealOne), compared to the default directshow renderer on XP. However, on standard resolution content, the default renderer is desirable, since it behaves better overall on my system, and I can use subtitles with vsfilter.

I would think this difference in renderer behavior is independent of the source format (RV) and source filter (RealMediaSplitter), and more depend on the resolution and framerate and thus, amount of data being copied to the video card. No?

@bond: If so, why can you not select the desired renderer in your player of choice, instead of asking the source filter to automatically select a renderer?

bond
9th August 2003, 18:53
Originally posted by karl_lillevold
@bond: If so, why can you not select the desired renderer in your player of choice, instead of asking the source filter to automatically select a renderer?because this isnt possible in bsplayer :(

gabest
9th August 2003, 19:39
bond: Are you sure you can force the overlay mixer to be used with ffdshow in bsplayer? I tried to play with these options: w/o overlay, w/ overlay: mode1+mode2 (mode2 crashed after 1 sec), old rendering mode, but none of them allowed it. Every way except mode2 loaded a renderer called "BVideo Renderer", while mode2 used "Overlay Mixer", but obviously not the one from MS because this had no output pin.

bond
9th August 2003, 19:49
Originally posted by gabest
bond: Are you sure you can force the overlay mixer to be used with ffdshow in bsplayer?i think so as today i found out that this option exists in ffdshow because of this thread (http://corecodec.com/modules.php?op=modload&name=PNphpBB2&file=viewtopic&t=349)

for the resizing with matroska the overlay mixer has to be enabled in ffdshow:
if i tick the option in ffdshow everything was resized fine in bsplayer
when i didnt tick it there was no resizing (as it should be)
-> so i think it works

gabest
9th August 2003, 20:17
When it is enabled ffdshow also outputs the VIDEOINFOHEADER2 format descriptor which includes the aspect ratio. It is not only the overlay mixer able to understand it, vmrs and possibly bsplayer's own renderers can also.

edit: just tested a few rmvbs with ar correction and bsplayer's own renderer understands it too.

bond
9th August 2003, 20:24
hm, do you know a way how i can test if the overlay mixer is really used?

btw why do you think that there can be problems forcing overlay mixer in bsplayer (like what ffdshow tries/makes)?

bond
10th August 2003, 13:10
:(

Ghim
10th August 2003, 13:34
What are the effects of "force overlay mixer" in ffdshow others than outputing the VIDEOINFOHEADER2 format descriptor ???
Has it any drawback ??

gabest
10th August 2003, 18:22
Hm, looking it closer it doesn't seem to insert the overlay mixer by itself... It just outputs no rgb media type and that forces the overlay mixer2 into the graph under pre-xp windows versions where the default renderer needs rgb for the connection to succeed.

bond
10th August 2003, 18:29
can you plz add this option in your filter too, pppllllleeeaaassseee

civic5zigen
13th August 2003, 01:01
Hi gabest, great filter. I using ver 1.0.0.5 to play realmedia with Zoom player. However, there is one problem, and Blight suggested the following solution...

"That's probably an issue with the realmedia filter not throwing the end of file "EC_COMPLETE" event. You may want to contact gabest about that..."

gabest
13th August 2003, 01:10
It should, or else playback wouldn't stop/loop in mpc I'm using to test it all the time. Also, the base of that filter sending EOS is the same as matroska or avi splitter's.

Sirber
13th August 2003, 01:44
Gabest, from all d9 users, I'd like to thank you for all your good work. :D

bond
14th August 2003, 21:46
on my way to get the realmedia filter to work properly :( i found out that it is possible to use ffdshow with every directshow filter but only for post-processing (hey a little bit more sharpness doesnt harm realvideo :D )

when i enable this option in ffdshow (codecs -> raw video) the video isnt getting decoded in graphedit (only black picture)

the filter connect properly:
realvideo decoder -> ffdshow -> avi decompressor -> video renderer

gino25
18th August 2003, 13:08
I have red all these posts, but i haven' t understanded.

1-can i mux realvideo9 in matroska?
2- If yes, how?

DKDIB
18th August 2003, 13:27
You can use both mkvtoolnix (http://www.bunkus.org/videotools/mkvtoolnix/index.html#dlinst_win32) with mkvmerge' s GUI (mmg (http://corecodec.org/project/showfiles.php?group_id=27&release_id=37)) and GraphEdit (http://digilander.libero.it/dkdib/Software/GraphEdit.ace) with RealMedia Splitter (http://sourceforge.net/project/showfiles.php?group_id=82303&release_id=174629) and Matroska Muxer (http://sourceforge.net/project/showfiles.php?group_id=82303&release_id=176103).

gino25
18th August 2003, 13:46
But with graphedit what filters must i have to use?

RadicalEd
18th August 2003, 14:45
Originally posted by DKDIB
GraphEdit (http://digilander.libero.it/dkdib/Software/GraphEdit.ace) with RealMedia Splitter (http://sourceforge.net/project/showfiles.php?group_id=82303&release_id=174629) and Matroska Muxer (http://sourceforge.net/project/showfiles.php?group_id=82303&release_id=176103).
:\

gino25
18th August 2003, 15:45
I tried videotest.rmvb ----> realvideo splitter

But i have error

I tried videotest.rmvb --------> matroskamuxer --------> File writer

But the resulting matroska file doesn' t work with no players

DKDIB
18th August 2003, 17:46
Problem solved via PM. ;)

File Source (FileName.rmvb) ==> RealMedia Splitter ==> Matroxa Muxer ==> File Writer (FileName.mkv)
or
RealMedia Source (FileName.rmvb) ==> Matroxa Muxer ==> File Writer (FileName.mkv)

kastro68
27th August 2003, 07:15
I get these weird jagged stepping effect when I play back resized rv9 in Media player classic 6460. This doesn't happen when I use Windows media player 6.4 or real one player. However, I was unable to do a print screen because it didn't capture the pic in wmp6.4 or realone.

The stepping effect is also not visible in MPC 6460 if the rv9 is not resized.


Click to view pic (http://www.geocities.com/incessence/stepping_effect_mpc_rv9_resizing.htm)

gabest
27th August 2003, 18:03
If you can't make a screenshot of the other players that means they are using overlay while MPC doesn't. There is often a difference in the resizing quality between the two surface types. MPC will not use overlay when it lets you load subtitles, and when it does that it either uses the "special renderer" (options, RM/QT page), or the "VMR* (renderless)" output (options, playback page). Which renderer it uses depends on which way you load rm files, throught real's api or directshow (selectable at the formats page, second column).

kastro68
28th August 2003, 04:53
Thanks for the explanation Gabest.

Unchecking "use special renderer" under "RM/QT"

solved my problem.

mmorselli
2nd September 2003, 20:52
Not all my .rm file plays on Zoomplayer or WMP9, with latest RealMediaSplitter... I have some Family Guy episodes, half of this plays perfect on ZP, other half won't play (time count on timeline don't move on). The same files plays perfect on RealOne and Media Player Classic, event without internal rm support. I can send you the 35Mb file, if you want... ( url sent as private message...)

I have joust spoken to Blight about this: you can read the topic at http://forum.inmatrix.com/ikonboard/ikonboard.cgi?s=3f54f1e77614ffff;act=ST;f=7;t=2300

mmorselli
5th September 2003, 18:15
Gabest, you are Fast and Furious :-)
Now all my .rm play fine...
thanks Gabest...:D

OutsiderX
14th September 2003, 15:11
Originally posted by mmorselli
Gabest, you are Fast and Furious :-)
Now all my .rm play fine...
thanks Gabest...:D
same here except for some files encoding using these codecs
1)RealAudio 2.0
2)RealAudio 3.0
3)RA 8 (RealAudio 8 - ATRAC3) 44100 Khz

S_O
20th September 2003, 12:59
same here except for some files encoding using these codecs
1)RealAudio 2.0
2)RealAudio 3.0
3)RA 8 (RealAudio 8 - ATRAC3) 44100 KhzRealAudio 2 doesnīt work yet, but there is a open-source decoder for it in ffmpeg, which will be most likely implemented into ffdshow audio decoder. Real Audio 3 is AC3, have yu installed AC3Filter? That Atrac3 doesnīt work is not normal, have you installed Real Alternative or any other illegal Real Codec pack? They probably messed up your system.

I also found a bug in the Filters: Files (RV8 / RA8 Gecko/Cook) that play perfectly in RealPlayer doesnīt work with your filters. They play and sound is perfect but the picture freezes all the time, about every 5 seconds I get new picture, as if only keyframes are displayed. When I mux the file into matroska using mkvmerge and try to play it exactly the same thing happens, the picture is freezing exactly at the same points. The file is recorded with StreamBoxVCR.
Playing the file MPC 6.4.6.5 it shows more frames and sometimes for about 1 second the movie is played normal.

gabest
20th September 2003, 15:59
With the exception of 14.4/28.8/ralf(?) all audio formats should play more or less when the codecs are installed. But dnet only does with the ac3filter because I couldn't get the codec dll to decompress it.

S_O: Do you have a test file for me? :)

S_O
22nd September 2003, 21:30
hhcc_v_20030603_3_bullzeye2.rm (http://l.b.oltmanns.bei.t-online.de/hhcc_v_20030603_3_bullzeye2.rm)
I downloaded the file with StreamBoxVCR from:
rtsp://rv205.streaming.mediaways.net/rtl/comedy/hhcc_v_20030603_3_bullzeye2.rm

kilg0r3
23rd September 2003, 10:05
Hi,

there seems to be problem with S_O's file. I have the exact same problem when playing it in RealOne v2 (with matrox jitter fix)

S_O
23rd September 2003, 14:55
This file is a bit older, I cannot remember if played correctly in RealOne or RealPlayer8, but it played correctly.

olorin
6th October 2003, 21:22
Hi. I don't know if this is a bug, anyway, using MPC 6.4.6.5 playing mkv with rv9, ac3 and srt, filters: matroskasplitter, ac3filter, vobsub, all latest versions. RV9 created using AutoRV9 1.3final incl latest rv9 milestone. With every file like this, when played in MPC, playback of the video stops every few minutes, though audio is continuing. It doesn't happen in WMP. It seems to happen more often when I move the mouse or for ex unfocus the window. Anyone else experiencing the same? Will greatly appreciate any help.

olorin

LeonMcNichol
7th November 2003, 01:26
After messing with a few settings, I was finally able to get my media players to play the correct filters to play MPEG-2 on media players. (Other than PowerDVD.) This all happened after I installed the latest drivers for my video card. (Well worth it, now I have no more black bars at the top and bottom when I output to my TV.) Anyways, after getting the players to use cyberlink's filters instead of the filters that were installed with my video card. (They didn't work right.) Now I have a problem with the filter. I get 240x480 video playback in zoomplayer and mplayer2.exe, but not in WMP and MPC. (Video is what it was supposed to be, 640x480.) I'm pretty sure it has to do with video renderer, because in zoom, if I use the override, I get full screen playback, but...! I get verticle lines like it's been stretched horizontally. They aren't really noticeable, but they are there and a bit aggrivating.

Can some one help me figure out how to correct this problem, because I like using zoom player to output to my TV, because I can't set the presets to fix the huge overscan. (So subtitles don't get cut off.)

filewalker
7th January 2004, 20:45
Hi Gabest,

first, thanks for your great work around all your Guliverkli efforts!!! :)

I have some .rm files which play perfectly with the MPC's internal Real Media filter in MPC, but these files don't work in other DSF-based players with latest RealMediaSplitter.

So my question is...Is it possible to release a new version of "RealMediaSplitter" with the same functions(updates) as MPC's internal RealMedia Filter?...That would be really nice! :)

(Here's a link to such a .rm example file (http://www.kingofthecape.com/2002/video/clips/2002KOT1-HiRes720x480.rm) )


Thanks in advance!
Cu filewalker

karl_lillevold
7th January 2004, 20:59
Yes, kudos to Gabest for the great work on all his filters, from my perspective, in particular the RealMediaSplitter and MPC!

I can actually answer your questions, at least partly. That's because this is a SureStream file, with multiple bitrate streams embedded, and RealMediaSplitter does not support this, either inside or outside of MPC. When playing in the RealMedia framework in MPC it works, while not using DirectShow. The reason it appears to work, is that you have probably not switch to DirectShow playback in the formats menu. It seems no one can find that 'hidden' pull-down menu... If you switch this to DS, like I have, MPC can not play back the file. If you have not switched to DirectShow, pause-and-singlestop is not available, neither are the playback statistics.

On a sidenote, SureStream should never be used when encoding for local file playback, or HTTP download, since the highest quality stream will always be played. It just makes the files bigger. SureStream is useful only when streaming via a Helix or RealServer.

filewalker
7th January 2004, 21:11
Thanks karl_lillevold for your answer! :)

The reason it appears to work, is that you have probably not switch to DirectShow playback in the formats menu.

You're right...I didn't chosse DirectShow from the dropdown list for .RM extensions in MPC...that explains why MPC can handle such RM files.

On a sidenote, SureStream should never be used when encoding for local file playback, or HTTP download, since the highest quality stream will always be played. It just makes the files bigger. SureStream is useful only when streaming via a Helix or RealServer.
I'm not the author of this clip...I'm just a consumer who downloaded this clip from a homepage for learning this surf trick ;) ...



So, my question to gabest is obsolete with your explanation.

Thanks again,


Cu filewalker

gabest
7th January 2004, 21:16
It's not supported because when I saw it not being interleaved that really took my enthusiasm away.

slavickas
7th January 2004, 22:08
how about aac support in files produced with new encoder?

gabest
7th January 2004, 22:16
aac inside rm? Anyone has a sample?

S_O
7th January 2004, 22:54
aac inside rm? Anyone has a sample?
Here, itīs Realīs streamed sample recorded and uploaded as file:
HeyYa_RA10_AAC_192K_30s.rm (720KB) (http://l.b.oltmanns.bei.t-online.de/HeyYa_RA10_AAC_192K_30s.rm)
Hopefully you are able to add support for AAC inside RM very soon.
Thank you very much for your great filters!

slavickas
7th January 2004, 23:15
here is my encoded sample with video too http://vejas.pit.ktu.lt/~slavvita/therese-time-svcd-2003-mkv.rmvb

gabest
8th January 2004, 10:51
Thanks, I also made my own yesterday, but now I have three different sample at least :)

At the first glance, the sample format for aac looks adoptable for the dshow decoders. It packs more frames together into one bigger sample and indexes their length at the beginning (to my biggest surprise, it's a bit incompatible with the older methods I knew). The extra data we put after WAVEFORMATEX in a dshow media type can also be found at the end of the media descriptor of the tracks (I hope it's the same few bytes :)). I may be able to support both raac.dll and the dshow decoders, going to countinue it today evening.

gabest
8th January 2004, 23:11
Newsflash: With CoreAAC it is already working :)

karl: How come ra10 means cook with bitrates below 96kbps? I need to test a case where there are many tiny aac frames in a bigger rm packet :P

RadicalEd
9th January 2004, 05:23
RAAC flavor 0 is 64 kbps, if that helps any.

karl_lillevold
9th January 2004, 06:17
The AAC flavors are as follows:

64 Kbps Stereo Music - RealAudio 10 raac 0 44.1 kHz
96 Kbps Stereo Music - RealAudio 10 raac 1 44.1 kHz
128 Kbps Stereo Music - RealAudio 10 raac 2 44.1 kHz
160 Kbps Stereo Music - RealAudio 10 raac 3 44.1 kHz
192 Kbps Stereo Music - RealAudio 10 raac 4 44.1 kHz
256 Kbps Stereo Music - RealAudio 10 raac 5 44.1 kHz
320 Kbps Stereo Music - RealAudio 10 raac 6 44.1 kHz

The problem you are seeing is that in the RealPlayer ripping menu, all you see is RealAudio 10, and you do not see the actual codec name and flavor. This is unfortunate and confusing, because below 96 kbps, cook is still being used, for various reasons, mentioned elsewhere. One has to use Producer to have these choices.

and in the Producer SDK, but not available in RealPlayer ripping, or included with the Producer cmd line app, the HE-AAC flavors are as follows:

64 Kbps Stereo Music - RealAudio 10 racp 0 44.1 kHz
96 Kbps Stereo Music - RealAudio 10 racp 1 44.1 kHz
128 Kbps Stereo Music - RealAudio 10 racp 2 44.1 kHz

bond
22nd March 2004, 22:51
i get choppy playback with the realmediasplitter when i use it with overlay mixer2

this is surely not related to the source, which is decoded, as i get the same behaviour with the 3ivx decoder (with om2) and ffdshow (with om2)

shitowax, meant that this can be fixed on the decoder side and "non-compressed ouput media samples should be always considered as keyframe"

hope this helps :(

Blkbird
27th April 2004, 05:53
Hmm, call me stupid but after copying and registering the latest RealMediaSplitter.ax I still cannot render any .rm file in GraphEdit, let alone play them in a player. Am I missing something here?

I have never installed Real Player, but I have set my latest ffdshow to render rv10/rv20 video.

kilg0r3
27th April 2004, 07:59
Originally posted by Blkbird
I have never installed Real Player, but I have set my latest ffdshow to render rv10/rv20 video. I don't think that ffdshow is actually able to do that. You will have to istall the real player or some Shinobu's (?) codec pack, which however might be illegal.

r0cket
30th April 2004, 07:47
Maybe this bug (if it is) is not so important, but it is still out of rules - when you unregister any filter, it deletes all it's HKCR\CLSID registry entries. This is not the case with realmediasplitter - it leaves them there forever.

karl_lillevold
30th April 2004, 07:56
Originally posted by kilg0r3
I don't think that ffdshow is actually able to do that. You will have to istall the real player or some Shinobu's (?) codec pack, which however might be illegal.
Even though I personally can understand the desire to avoid installing full players you will not be using, just so it is clear: there should not be a "might" in the sentence above.. re-distributing DLLs and codecs owned and copyrighted by someone else is illegal. That goes for all codec packs that include such DLLs, whether owned by RealNetworks or some other company. Whether or not any action will be taken is another question, but "cease-and-desist" letters have been sent out in the past.

Finally, I have posted instructions (http://forum.doom9.org/showthread.php?s=&threadid=68399) for how to make RealPlayer behave nicely and never ever run in the background, for those who want to use that option, and then use realmediasplitter or Media Player Classic to play files with RealMedia content.

kilg0r3
30th April 2004, 13:35
This 'might' is placed her, because shinobu - or whatever his name- wrote, that he asked realnetworks but did not receive any answer. Anyway, I don't not recommedn installing this pack until he has received a definite answer.

BTW English is not my mother tongue so ...

Lys
10th October 2005, 04:27
Sorry for reviving this dead thread, but I went to Gabest site, and the zip file contains no installer, just the two raw filters.

Is there an installer somewhere, or how do I register them manually?

stephanV
10th October 2005, 06:33
start --> run --> regsvr32 c:\path\to\filter.ax

(install the unicode version if you are on 2k or xp)