Log in

View Full Version : EVOB De/Multiplexers


Pages : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

Isochroma
16th January 2007, 02:17
@honai: You've made a TERRIBLE mistake!

Looking over your graph, I realize what you've done... you're using the DVB filter to write ffdshow's output!

That is not what we're supposed to be doing.

The correct graph looks like this:

filename.EVO -> Sonic HD Demuxer -> filename.ac3

the filters used for that chain are:

File Source (Async.) -> Sonic HD Demuxer -> DVB Dump Filter

When that process is done, we'll have a filename.ac3 file, which can then be rendered in a new GraphEdit session or played in MPC, provided that ffdshow is set to decode AC3.

ffdshow should be set to output AC3 as fully decoded raw audio to start with, to verify that the AC3 is playing ok, then start playing with other options.

OK, I just tested your graph setup, and it work fine with my file, so there's a format difference. Still, give the AC3 file output method a test, it may just work.

Also keep in mind, that ffdshow wasn't even built to do this job, so it's pretty nice that it works on any streams. Now's the time to encourage the ffdshow devs to add E-AC3 support.

You might also try using the Sonic HD Audio decoder, since it's built for this anyway.

On my system, the Sonic decoder won't decode the AC3 file produced, when played in MPC. The playback state never moves forward. However, when the file is muxed into a MKV, it plays just fine! So using this filter is the recommended way of doing the audio decoding.

Warren
16th January 2007, 02:26
I figured out why I didn't have the ac3 parser filter

honai
16th January 2007, 02:27
@Isochroma

Just tested it, doesn't work, ffdshow doesn't recognize/parse that *.AC3 either. It's from "Chronicles of Riddick". Maybe the audio part in there is mastered differently than in your *.EVO sample.

Warren
16th January 2007, 02:33
Ok so I finally figured out why everything is working for you isochroma and not for real HD DVD content.

You're using Saggitaire's homemade HD DVD (http://forum.doom9.org/showthread.php?p=923593#post923593) that uses H264 and AC3. Retail HD DVD streams are almost exclusively VC-1 and DD+ aka E-AC3

I really wish this all worked in practice.

Isochroma
16th January 2007, 02:38
@Warren: damn, you're right! So, we will now test the Sonic audio decoder filter in MPC/Graphedit...

@honai: Ok, forget ffdshow for now. Register the Sonic audio decoder filter:

1. copy CinemasterAudio.dll into your system32 dir
2. cd into system32 in the cmdline
3. regsvr32 CinemasterAudio.dll

Now close GraphEdit, take the AC3 file produced and mux it into MKV with MKVToolnix 2.0.0.

Then, in the ffdshow audio decoder config, in the Codecs list, set AC3 to DISABLED.

Then, in MPC, Options -> External Filters -> Add Filter...

Add the Sonic Cinemaster MCE Audio Decoder 4.1, and set it to Prefer, then hit OK, close and reload MPC, then open the MKV. We need to set it to Prefer, because there's probably other AC3 decoders on the system that will pick up the stream.

Before reporting your results, right-click in MPC and make sure there's only the Cinemaster filter.

Finally, Cinemaster should be able to decode ALL AC3, ie. standard too, so it would make a passable replacement for ffdshow/AC3Filter until they get E-AC3 capability.

honai
16th January 2007, 02:42
@Isochroma

What Warren said. That method won't work for actual HD-DVDs. Sonic's Audio filter won't expose any interface to select downmixing to DD 5.1, so I won't ever get DD 5.1 out of DD+ by way of that method. The only filter so far which could do the downmix is PowerDVD 7.2's internal audio decoder, but it's not available as a DirectShow filter. WinDVD 8 also comes with a downmixer, but it can only render to sound devices directly.

Isochroma
16th January 2007, 02:43
Downmix? What do you mean? If you have less than 5.1 on your soundcard, or have it configured for 2.0/4.0/etc. then just set ffdshow to intercept raw and get it to do the downmix for you.

Ah, I see... looks like I can't get audio output using CineMaster from the Sonic HD Demuxer...

Even worse, that terrible filter won't connect to the MKV's audio out pin when rendering using MKV source!

honai
16th January 2007, 02:50
Seems there's a misunderstanding here. My "sample EVO file" contains a DD+ audio stream, not a DD audio stream. No consumer a/v device can handle those yet, so you *will* need a way to downmix from DD+ to DD (i.e. in this case reduce the bitrate from 1536 to 640 kbps) in order to be able to route the audio signal via S/PDIF to the receiver. In other words, since DD+ right now and in the foreseeable future is useless for all consumers (even the XBOX360 downmixes to DD/DTS at standard bitrates) we have to find a way to convert the DD+ to a usable format, and then put that converted stream together with the elementary video stream (VC-1 or h.264) into a usable container, i.e. MKV.

Or am I missing something here?

Warren
16th January 2007, 02:55
Sonic's audio decoder seems to only output 2.0 stereo. WinDVD's audio filter + their demuxer can also play the audio (you have to manually register the filters from WinDVD HD directory) but they depend on windows audio config to determine how many channels to output. I set the windows output to 5.1 and hit play and using infinite tee I connect the first output to directsound and the second to wave dest and then a file. 6 channels are recorded to the file but only the L&R channels have audio.

DeathMonk
16th January 2007, 03:02
I may be confused about what you guys are trying to accomplish here.

I got some audio [king kong menu] today using intervideo's filters.. converted to wav.. works fine.

honai
16th January 2007, 03:02
@Isochroma

No, "downmixing" is the accurate term, used for example here:

http://en.wikipedia.org/wiki/Dolby_Digital_Plus

Happy to correct you. ;o)

@Deathmonk

You mean you converted the DD+ track from King Kong into 6 separate channels stored in a file? How did you do that?

VistaVick
16th January 2007, 03:22
Keep up the good work people, Im sure we will find a somewhat doable solution soon to convert the evo images to a more popular format...perhaps it will even become the common standard around the world for converting and storing hd dvd images

DeathMonk
16th January 2007, 03:55
@Isochroma

No, "downmixing" is the accurate term, used for example here:

http://en.wikipedia.org/wiki/Dolby_Digital_Plus

Happy to correct you. ;o)

@Deathmonk

You mean you converted the DD+ track from King Kong into 6 separate channels stored in a file? How did you do that?

Probably just 2 channel for now...

Isochroma
16th January 2007, 03:57
Well, remember we have AVC demux working, and MPEG-2 will probably work too. Remux should be ok on these as well.

This leaves two major problems:

1. VC-1 (demux/mux)
2. DD+ (demux probably works, decoder won't work in 3rd party apps)

These are the big ones, and if they can be licked we're homefree.

Janvitos
16th January 2007, 05:17
One other problem i have encountered with 2 movies:

- Mi3: The only audio stream i was able to get was a dolby 2.0 stream consisting of the director's comments and no audio of the movie it-self.

- KingKong: No audio at all. The video plays fine but no audio can be heard.

It seems as if the EVO files contain more than one audio / video streams.
We have been working on this different people and me on the #doom9 channel on EFNet and have figured we will be needing a proper splitter to be able to choose the matching audio / video streams.

DeathMonk
16th January 2007, 05:31
I'm playing audio from king kong right now...

same way i've been doing audio for everything:

graphedit:

feature_1.evo>intervideo demultiplexer>intervideo audio decoder>cyberllink audio renderer


im rollin along... rollin alongggggggg

Janvitos
16th January 2007, 05:43
Alright, audio is there both for KingKong and MI3, but is it possible to play Audio / Video at the same time ?
I believe i got it working with two seperate filters, but is there a way to use just one ?

Have you been able to multiplex both audio / video from kingkong into another format ?

I would be curious to know how, if so.

DeathMonk
16th January 2007, 06:22
I got both the audio and video in separate formats, but the results sucked.. none of the encoders really give you any control just using the direct codec settings.

Warren
16th January 2007, 07:14
So I just recorded an ac3 audio stream from a HD DVD EVOB. Basically I played it in powerdvd with the output set to spdif, hooked an optical cable to my output and then plugged it into the optical input on my soundcard and recording it using a sound editor at 48khz, 16 bit stereo. Afte it was done I ran besplit -core( -input ac3.wav -prefix hddvd -type ddwav -fix ) which gave me hddvd01.ac3 which was plane 5.1 ac3 file.

Golgot13
16th January 2007, 10:48
Alright, audio is there both for KingKong and MI3, but is it possible to play Audio / Video at the same time ?
I believe i got it working with two seperate filters, but is there a way to use just one ?

Yes, it is possible...


Have you been able to multiplex both audio / video from kingkong into another format ?

Yes


I would be curious to know how, if so.

PM, me.
For DolBy TrueHD there is too some directshow filter compatible.



Golgot13

Warren
16th January 2007, 10:58
I haven't been able to find a ds filter that will allow me to capture > 2 channels from DD+/TrueHD

Easy123
16th January 2007, 11:00
Hm, i would be curious too :D Which direct-show filter is it? I can only capture 2 channels with intervideo.. Would be hell of interesting to know..

honai
16th January 2007, 20:48
Ok, here's a way to demultiplex the DTS audio stream from a harddrive-copy for personal backup purposes of "Chronicles of Riddick":

http://img19.imageshack.us/img19/1749/capdtsna8.th.png (http://img19.imageshack.us/my.php?image=capdtsna8.png)

Filters: File Source -> Gabest's Mpeg Splitter -> DVB HDTV Reference Dump

All open-source/freeware, so no need to fiddle with expensive Intervideo/Cyberlink software.

Warren
16th January 2007, 22:00
That's fine for normal DTS but most of the movies are using E-AC3 aka DDPlus for which there are no opensource decoders yet.

getnate
16th January 2007, 22:29
Just rip the audio from the DVD version of the movie and use that.

moshmothma
16th January 2007, 22:35
Just rip the audio from the DVD version of the movie and use that.

Yeah, and use the dvd video as well :sly:

Just kidding but seriously - I think most would prefer to get the full rez audio and video.

Warren
16th January 2007, 22:44
There are issues with using DVD audio, one of them being that it is sync'd to a different framerate than HD DVD (24 fps).

bond
17th January 2007, 00:31
guys, .evo files are basically .mpg files. for getting nice demuxers the easiest way is to send sample files to the opensource mpg demuxer/muxer coders

i did that and sent a sample to mplayer and ffmpeg devs, which i hope will add support for it to their tools soon

someone could do the same and send a sample to gabest to add support to his .mpg directshow parsers

once we are having nice opensource support, we dont need to mess around with strange commercial apps anymore

SeeMoreDigital
17th January 2007, 11:15
guys, .evo files are basically .mpg files. for getting nice demuxers the easiest way is to send sample files to the opensource mpg demuxer/muxer codersDo you know if some samples have been sent to the MP4Box guys?


Cheers

chros
17th January 2007, 13:05
I know it's demultiplexer thread, but can anyone managed to do a perfect graph and avisynth script to produce 23.976 fps without TIVTC?
I only achieved this with TIVTC...

Graph: MAININTRO.grf
--------
mainintro.evo -> Sonic HD Demuxer -> Sonic Cinemaster VideoDecoder 4.1

Avs script: 720p.avs
-------------
DirectShowSource("MAININTRO.grf",audio=false,convertfps=true)
# TIVTC - Bottom field first
tfm(order=0).tdecimate()
ConvertToYV12()
LanczosResize(1280,720)

The strange thing is, that if I don't use the convertfps=true option (and use the fps=29.97 option), avisynth can't connet to the graph or can just no picture ...

Thanks

honai
17th January 2007, 16:53
@chros

Just as I pointed out in the other forum, it's the Sonic filters that mess around with telecine/pulldown flags. The VC-1 decoder itself will output 24fps progressive.

Have you tried AssumeFPS() ?

chros
17th January 2007, 21:06
...it's the Sonic filters that mess around with telecine/pulldown flags. The VC-1 decoder itself will output 24fps progressive.

Have you tried AssumeFPS() ?
AssumeFPS is totally wrong here with the Sonic filters. It gives 1 min 20 sec video besides the 1 min 04 sec video.
AssumeFPS("ntsc_film") as with v2.5.7
From the doc:
The AssumeFPS filter changes the frame rate without changing the frame count (causing the video to play faster or slower).

bond
18th January 2007, 00:52
Do you know if some samples have been sent to the MP4Box guys?


Cheersi didnt

tomos
18th January 2007, 02:41
I know it's demultiplexer thread, but can anyone managed to do a perfect graph and avisynth script to produce 23.976 fps without TIVTC?
I only achieved this with TIVTC...

Graph: MAININTRO.grf
--------
mainintro.evo -> Sonic HD Demuxer -> Sonic Cinemaster VideoDecoder 4.1

Avs script: 720p.avs
-------------
DirectShowSource("MAININTRO.grf",audio=false,convertfps=true)
# TIVTC - Bottom field first
tfm(order=0).tdecimate()
ConvertToYV12()
LanczosResize(1280,720)

The strange thing is, that if I don't use the convertfps=true option (and use the fps=29.97 option), avisynth can't connet to the graph or can just no picture ...

Thanks

hmm, i'm using a similar script.

mine is EVO -> sonic HD demuxer -> sonic video decoder -> VMR renderer 9.

this plays the video fine in the preview but when trying to open the avs file i get this err


Avisynth open failure:
DirectShowSource: GRF file does not have a compatible open video pin.
Graph must have 1 output pin that will bid RGB24, RGB32, ARGB, YUY2 or YV12
(H:\clip.avs, line 1)


this is the same whether i have ConvertToYV12 - in there or not, the same for convertfps

oddly, the demuxed video stream (VC-1) opens fine

Isochroma
18th January 2007, 03:29
@tomos: AVISynth connects to one output pin in the graph, so if you have all the pins already connected, how can it connect?

Like a little pig, you must save a teat on mother for it to suckle.

Remove the video renderer, then AVISynth will be able to connect to the video output pin of Sonic Video Decoder.

drmpeg
18th January 2007, 10:41
Here's a stand-alone command line EVOB demuxer for folks to try:

http://www.w6rz.net/evob_demux.zip

Usage is:

demux <-p> <infile> <video outfile> <audio outfile> <audio track>

typically:

demux movie.evo bits.mpv bits.mpa 0

The -p option dumps the PES header PTS values.

Unfortunately, I have only one .evo sample file that bond pointed me to. So it's not very well tested. However, if folks could PM me with samples (of all flavors, VC-1, H.264, DD, DD+, etc.), it should be fairly easy to add stream types.

Ron

SeeMoreDigital
18th January 2007, 10:46
Unfortunately, I have only one .evo sample file that bond pointed me to. So it's not very well tested. However, if folks could PM me with samples (of all flavors, VC-1, H.264, DD, DD+, etc.), it should be fairly easy to add stream types.Indeed.... I would not mind some samples too!

tomos
18th January 2007, 13:27
@tomos: AVISynth connects to one output pin in the graph, so if you have all the pins already connected, how can it connect?

Like a little pig, you must save a teat on mother for it to suckle.

Remove the video renderer, then AVISynth will be able to connect to the video output pin of Sonic Video Decoder.

thanking you - works :)

chros
18th January 2007, 13:34
Is it right that movies on HD-DVD are 24 fps and not 23.976 ???

regarding to the avs script:
I have done some test and calculation.
I have opened the 2 feature file in PowerDVD, and the durations:
f1: 01:09:13 , f2: 00:49:47 , so overall: 01:59:00

I have tried 3 version of the avs script:
1. no ivtc (none) , 2. TIVTC (as posted) , 3. TIVTC and AssumeFPS(24)
The results (by avisynth):
None: TIVTC: TIVTC+24
-------------------------------------------------
frames: 214035 171228 171228
time: 01:59:01:620 01:59:01:620 01:58:54:500
fps: 29.9701 23.9761 24.0000
fps: 5000000/166833 4000000/166833 24/1


As the time displayed by PowerDVD (of course it's just a rough value, but defenetly not 01:58:54:500 :) ), the TIVTC+24 method is totally wrong. The TIVTC method is the closest one, but the question is whether HD-DVDs store the movies with this fps (23.976). If not then the Sonic Video filter is wrong in the chain ...

juhu
18th January 2007, 15:00
Unfortunately, I have only one .evo sample file that bond pointed me to. So it's not very well tested. However, if folks could PM me with samples (of all flavors, VC-1, H.264, DD, DD+, etc.), it should be fairly easy to add stream types.

Ron

I saw that on the mule :
[link removed]

VC1 encoded, high bitrate (around 20mb/sec !). Sound is DDplus 5.1 according to Powerdvd
Just tried your lovely exe on it. Seems to work for video, but not for audio (0k file, tried with audio track 0 & 1)

asasadad_1
18th January 2007, 15:33
@drmpeg
wvc1.dd plus.evo(15.0 MB) (http://www.rogepost.com/n/7492649086) is a small sample.

lordx
18th January 2007, 15:41
I've tried demux.exe on a decrypted backup of my HD-DVD .
Seems to demux video but audio is 0 Ko ... tried 0 or 1, same result.

holzi
18th January 2007, 16:05
Yes Video demuxx seems to work.
Well at least it wirtes some data :)
What graph to use to playback the demux video?
Kind of stuck atm

Edit: Ok forgot the Sonic HD Demuxer now it works so video is demuxed

MrDVD
18th January 2007, 16:33
The demuxed video plays also in Powerdvd without Sonic HD Demuxer.

moshmothma
18th January 2007, 16:46
I managed to get playback of evo files in zoom player and theatetek. It's really a bit of kludge but both audio and video works. The big problem. I cannot seek. Also, both files must begin at the same time so you cannot resume. Please take special note of the filter chain and ensure all are installed.

For zoom player use the following:

1. Create a file called evo.mediagraph
2. paste the following into the file:

LoadFilter({9DC15360-914C-46B8-B9DF-BFE67FD36C6A},ReClock_Audio_Renderer)
LoadFilter({51B4ABF3-748F-4E3B-A276-C828330E926A},Video_Mixing_Renderer_9)
LoadFilter({7E2E0DC1-31FD-11D2-9C21-00104B3801F6},InterVideo Audio Decoder)
LoadFilter({317DDB73-870E-11D3-9C32-00104B3801F7},InterVideo_Demultiplexer)
LoadFilter({D7D50E8D-DD72-43C2-8587-A0C197D837D2},Sonic_Cinemaster®_VideoDecoder_4.1)
LoadFilter({250D7B7D-4344-41FD-A284-7299B7765F18},Sonic_HD_Demuxer_0001)
LoadFilter({E436EBB5-524F-11CE-9F53-0020AF0BA770},Source File_0)
LoadFilter({E436EBB5-524F-11CE-9F53-0020AF0BA770},Source File_1)


SetFilterFileName(Source File_0,<FileName>)
SetFilterFileName(Source File_1,<FileName>)
ConnectPin(Source File_0,Output,Sonic_HD_Demuxer_0001,Input)
ConnectPin(Source File_1,Output,InterVideo_Demultiplexer,Input)
ConnectPin(InterVideo_Demultiplexer,Audio,InterVideo Audio Decoder,In)
ConnectPin(Sonic_HD_Demuxer_0001,Video Out,Sonic_Cinemaster®_VideoDecoder_4.1,Video in)
ConnectPin(InterVideo Audio Decoder,Out,ReClock_Audio_Renderer,In)
ConnectPin(Sonic_Cinemaster®_VideoDecoder_4.1,Video Out,Video Mixing Renderer 9,VMR Input0)

3. Save file in zoomplayer\mediagraph folder
4. In Zoom player (latest version) - go to system - filter management - manual fitlers and choose 'auto by extension'
5. Play file

You can also use graphedit to export an xml file to use in theatertek. The problem I encountered with theatertek was that it would not except two blank source pins. Using the graph I created in Graphedit I could export it and use it solely in theatertek. Maybe someone can figure out a tweak.

Have fun.

holzi
18th January 2007, 17:11
The demuxed video plays also in Powerdvd without Sonic HD Demuxer.

Ok nice I don't have it installed so can't check.

I thought I could play it with fddshow but that just crashed graph edit :)

Isochroma
18th January 2007, 19:18
Thanks drmpeg! Using the departed trailer EVO, I can successfully demux the H264 video track; it muxes just fine in the latest MKVToolnix 2.0.0 (with first update installed too).

However, the audio track does not work (it's regular AC3), the output file is created but it is 0 bytes.

Warren
18th January 2007, 19:39
Guys please do not use the Departed trailer to validate anything. It is a homemmade EVOB and has next to nothing in common with HD DVD EVOBs.

honai
18th January 2007, 19:43
@moshmothma

tried your graph on three movies:

- Pitch Black: no sound at all
- Serenity: no sound at all
- Chronicles of Riddick: the Intervideo Audio Decoder downmixes to stereo, no sound if I switch to S/PDIF output

It seems that Intervideo doesn't decode DD+ at all, but in case of Riddick simply downmixes the DTS track in there. Tried putting in the Cyberlink Audio Decoder, but won't work either.

honai
18th January 2007, 20:01
The commercial HD-DVD rips I have here use 0xc0 .. 0xc2.

However, two unsolved problems remain:

* we can't mux VC-1 elementary streams because the tech spec is payware
* we can't mux/decode DD+ (other than proprietary playback/downmixing inside PowerDVD) because there's no DirectShow decoder for it