Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se

 

Go Back   Doom9's Forum > Video Encoding > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 5th July 2003, 03:34   #1  |  Link
gabest
Registered User
 
gabest's Avatar
 
Join Date: Oct 2001
Posts: 1,459
Is there any directshow filter for realmedia?

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
__________________
gabest.org
gabest is offline   Reply With Quote
Old 5th July 2003, 03:42   #2  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,979
hum...

What is that good for?
Sirber is offline   Reply With Quote
Old 5th July 2003, 03:47   #3  |  Link
ChristianHJW
Banned
 
ChristianHJW's Avatar
 
Join Date: Nov 2002
Location: Bavaria - Germany
Posts: 1,341
Quote:
Originally posted by Sirber What is that good for?
:sigh: .... you'll see ......
ChristianHJW is offline   Reply With Quote
Old 5th July 2003, 03:57   #4  |  Link
Kurosu
Registered User
 
Join Date: Sep 2002
Location: France
Posts: 435
Quote:
Originally posted by Sirber
hum...
What is that good for?
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())
[edit]by using DirectShowSource()[/edit]
- 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

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

Last edited by Kurosu; 5th July 2003 at 04:04.
Kurosu is offline   Reply With Quote
Old 5th July 2003, 04:05   #5  |  Link
karl_lillevold
Moderator
 
karl_lillevold's Avatar
 
Join Date: Oct 2002
Location: Seattle
Posts: 1,584
it works! very impressive. but still a few problems with certain bitstreams, seek etc. i am, however, sure gabest will figure those out.

@Kurosu:
Quote:
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
__________________
This information is provided "AS IS" with no warranties, grants no rights, and reflects my personal opinion.

Last edited by karl_lillevold; 6th July 2003 at 05:07.
karl_lillevold is offline   Reply With Quote
Old 5th July 2003, 04:22   #6  |  Link
RadicalEd
Registered User
 
Join Date: Dec 2001
Posts: 987
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
RadicalEd is offline   Reply With Quote
Old 5th July 2003, 04:26   #7  |  Link
Atamido
Seņor Member
 
Atamido's Avatar
 
Join Date: May 2002
Location: Austin, Texas
Posts: 915
Quote:
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())
[edit]by using DirectShowSource()[/edit]
This could be very bad because AVISynth uses Constant-Framerate. If you use the Dupe-Drop filter, then your timecodes will get pooched.
Atamido is offline   Reply With Quote
Old 5th July 2003, 05:00   #8  |  Link
Animaniac
Registered User
 
Animaniac's Avatar
 
Join Date: Mar 2003
Location: Cambridge, MA
Posts: 286
Is there anything Gabest can't do?
Animaniac is offline   Reply With Quote
Old 5th July 2003, 06:55   #9  |  Link
RadicalEd
Registered User
 
Join Date: Dec 2001
Posts: 987
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.. >_<
RadicalEd is offline   Reply With Quote
Old 5th July 2003, 07:22   #10  |  Link
Animaniac
Registered User
 
Animaniac's Avatar
 
Join Date: Mar 2003
Location: Cambridge, MA
Posts: 286
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.
Animaniac is offline   Reply With Quote
Old 5th July 2003, 07:33   #11  |  Link
gabest
Registered User
 
gabest's Avatar
 
Join Date: Oct 2001
Posts: 1,459
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.
__________________
gabest.org
gabest is offline   Reply With Quote
Old 5th July 2003, 11:42   #12  |  Link
S_O
Registered User
 
Join Date: Jan 2003
Location: Lower Saxony - Germany
Posts: 192
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.
S_O is offline   Reply With Quote
Old 5th July 2003, 13:14   #13  |  Link
Kurosu
Registered User
 
Join Date: Sep 2002
Location: France
Posts: 435
Quote:
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.
Quote:
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:
Code:
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:
Code:
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) 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.

Last edited by Kurosu; 5th July 2003 at 16:52.
Kurosu is offline   Reply With Quote
Old 5th July 2003, 14:15   #14  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,979
RV9 in matroska... sounds great

Will we be able to store RA also?
Sirber is offline   Reply With Quote
Old 5th July 2003, 14:26   #15  |  Link
kilg0r3
! - User - !
 
kilg0r3's Avatar
 
Join Date: Nov 2001
Posts: 1,081
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
__________________
Keep your tone warm and your sigs decent!

Last edited by kilg0r3; 5th July 2003 at 14:56.
kilg0r3 is offline   Reply With Quote
Old 5th July 2003, 16:09   #16  |  Link
Dark-Cracker
Registered User
 
Dark-Cracker's Avatar
 
Join Date: Feb 2002
Posts: 1,195
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.
__________________

AutoDub v1.8 : Divx3/4/5 & Xvid Video codec and .OGG/.MP3/.AC3/.WMA audio codec.
AutoRV10 v1.0 : Use RealVideo 10 Codec and support 2 Audio Streams and Subtitles.

Dark-Cracker is offline   Reply With Quote
Old 5th July 2003, 16:18   #17  |  Link
gabest
Registered User
 
gabest's Avatar
 
Join Date: Oct 2001
Posts: 1,459
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.
__________________
gabest.org

Last edited by gabest; 5th July 2003 at 16:21.
gabest is offline   Reply With Quote
Old 5th July 2003, 16:34   #18  |  Link
kastro68
Dai Suki
 
kastro68's Avatar
 
Join Date: Dec 2001
Location: 2543 miles S.E. of Osaka
Posts: 381
Quote:
Originally posted by Animaniac
Is there anything Gabest can't do?
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?
__________________
Always choose the path that leaves you with the most degrees of freedom.

kastro68 is offline   Reply With Quote
Old 5th July 2003, 16:51   #19  |  Link
Kurosu
Registered User
 
Join Date: Sep 2002
Location: France
Posts: 435
Quote:
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.
Quote:
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.

Quote:
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.

Quote:
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)

Last edited by Kurosu; 5th July 2003 at 16:55.
Kurosu is offline   Reply With Quote
Old 5th July 2003, 16:51   #20  |  Link
JagPanzer
XviD and Matroska user :)
 
JagPanzer's Avatar
 
Join Date: Aug 2002
Location: Slovenia
Posts: 30
Quote:
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!

And Gabest, nice work.
__________________
There's got to be just more to it than this
Or tell me why do we exist
I'd like to think that when I die
I'd get a chance another time
And to return and live again
Reincarnate, play the game
Again and again and again

Iron Maiden - Infinite Dreams
JagPanzer is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 08:08.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.