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.

 

Go Back   Doom9's Forum > (HD) DVD, Blu-ray & (S)VCD > (HD) DVD & Blu-ray authoring

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th January 2007, 18:30   #121  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,219
I'm struggling....

By any chance, could somebody de-mux the audio stream from drevil_xxl's DELSCENE1.EVO sample and post a link to it please?


Many thanks
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is online now   Reply With Quote
Old 19th January 2007, 20:44   #122  |  Link
Isochroma
Registered User
 
Join Date: Mar 2005
Posts: 468
After demuxing a VC-1 track, I can only get it to play using Sonic's filter - even though I have the wvc1dmo installed.

This occurs using both the Elecard MPEG Demultiplexer and the Sonic HD Demux.

The Sonic gives me this error in MPC:
Media Type 0:
--------------------------
Video: WVC1 1920x1080 29.97fps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31435657-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 0
cbFormat: 146
And the Elecard gives me almost the same:
Media Type 0:
--------------------------
Video: WVC1 1920x1080 29.97fps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31435657-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 65535
cbFormat: 146
The only differences are bFixedSizeSamples and lSampleSize.

And finally, the most annoying thing is that the MS WVC1 DMO is fully registered and handles the exact Major and MinorTypes that MPC/Graphedit says it can't connect:





MajorType: 73646976-0000-0010-8000-00AA00389B71 [Video]
MinorType: 31435657-0000-0010-8000-00AA00389B71 [WVC1]

Last edited by Isochroma; 19th January 2007 at 20:55.
Isochroma is offline   Reply With Quote
Old 19th January 2007, 21:07   #123  |  Link
kurt
sidekick
 
kurt's Avatar
 
Join Date: Apr 2004
Location: old Europe
Posts: 610
Quote:
Originally Posted by SeeMoreDigital View Post
I'm struggling....

By any chance, could somebody de-mux the audio stream from drevil_xxl's DELSCENE1.EVO sample and post a link to it please?


Many thanks
here you are: http://home.arcor.de/kurdt/divers/delscene.mpa

with this commandline: demux delscene1.evo delscene.mpv delscene.mpa 1 0
__________________
greets, kurt.
Pioneer PDP-427 XA | Popcorn Hour NMT C-200 | Sony STR-DB 840 QS | Canton Ergo 91 DC
kurt is offline   Reply With Quote
Old 19th January 2007, 21:19   #124  |  Link
Isochroma
Registered User
 
Join Date: Mar 2005
Posts: 468
Ok, I just figured it out!

Here is the Sonic Cinemaster decoder filter's MediaTypes:



Note that the WVC1's Minor Mediatype is not present in either two of the "Video" Designation types! Indeed, in order to accept VC1 streams, the Designation is listed as WVC1.

So the MS VC1 filter will work, but the VC1 must be inside a container whose splitter reports its Designation as Video.

Playing a raw VC1 stream directly, it is reported as type "WVC1", rather than type "Video", fourcc "WVC1"!

By muxing the VC1 stream into an MKV using Haali's muxer, the stream now 'plays' in MPC, using the MS VC1 decoder. However, it doesn't actually play properly because the framerate hasn't been set (it shows as 0), and sadly mkvmergegui won't let us set framerate on this type of stream.


Last edited by Isochroma; 19th January 2007 at 21:27.
Isochroma is offline   Reply With Quote
Old 19th January 2007, 21:20   #125  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,219
Quote:
Originally Posted by kurt View Post
here you are: http://home.arcor.de/kurdt/divers/delscene.mpa

with this commandline: demux delscene1.evo delscene.mpv delscene.mpa 1 0
Many thanks...

I'm curious though. How come the file carries a .MPA when it's an AC3 stream?


Cheers
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is online now   Reply With Quote
Old 19th January 2007, 21:27   #126  |  Link
honai
Guest
 
Posts: n/a
Uhm .. because you told the demuxer to write that extension?
  Reply With Quote
Old 19th January 2007, 22:06   #127  |  Link
holzi
Registered User
 
Join Date: Jun 2006
Posts: 47
well lets wait for a update for mkvmerge.
Because the headers according to:
http://forum.doom9.org/showpost.php?...&postcount=112

are pressent.

BTW how did you muxx the VC-1 with graph-edit and hali muxxer?
I have never done that
holzi is offline   Reply With Quote
Old 19th January 2007, 22:25   #128  |  Link
honai
Guest
 
Posts: n/a
Doesn't DVBportal HDTV Reference Dump add timestamps?
  Reply With Quote
Old 19th January 2007, 22:45   #129  |  Link
frogman
I swallow bugs!
 
frogman's Avatar
 
Join Date: Jan 2007
Location: Whitehouse corner Office
Posts: 49
Hi .. First post here.
I backup my KingKong movie. And following along I tried my hand in demux just a small sample file. Delogo.evo.
M:\movies\kingkong]demux delogo.evo bits.mpv bits.mpa 1 0

The demuxing went fine, byte count is good.
The bits.mpv play back in powerdvd hddvd but I can't find any apps out there that support playback of "bits.mpa".

Question is what multimedia applications playback ".mpa" !
frogman is offline   Reply With Quote
Old 19th January 2007, 22:48   #130  |  Link
holzi
Registered User
 
Join Date: Jun 2006
Posts: 47
it dosn't matter how you call that file.
It's important whats in it. And it is DD+ for witch there is no filter yet.
holzi is offline   Reply With Quote
Old 19th January 2007, 22:48   #131  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,219
Quote:
Originally Posted by frogman View Post
The demuxing went fine, byte count is good.
The bits.mpv play back in powerdvd hddvd but I can't find any apps out there that support playback of "bits.mpa".

Question is what multimedia applications playback ".mpa" !
Hi and welcome to the forum...

Did you see my previous post?
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is online now   Reply With Quote
Old 19th January 2007, 23:15   #132  |  Link
honai
Guest
 
Posts: n/a
@Isochroma

Great work! Which files did you test this on? Commercial HD-DVD? I have a couple of them here as backups, containing VC-1 video streams, so I'll try your method later.
  Reply With Quote
Old 19th January 2007, 23:40   #133  |  Link
holzi
Registered User
 
Join Date: Jun 2006
Posts: 47
take a look @ http://forum.doom9.org/showpost.php?...&postcount=104
for more samples the mainintro.evo is VC-1 too.

I'm still not able to muxx the VC-1 raw stream with hali muxxer
Pls give me a short how to

Last edited by holzi; 19th January 2007 at 23:48.
holzi is offline   Reply With Quote
Old 20th January 2007, 00:27   #134  |  Link
Isochroma
Registered User
 
Join Date: Mar 2005
Posts: 468
Tutorial: Perfect VC-1 EVOB to .AVS Conversion

Note: If you have an H264 (AVC) EVOB, see my Tutorial: Perfect AVC EVOB to MKV Remuxing
for how to transmux to MKV. Decode is a snap after that.
To recap from my previous posts, here is the path for processing VC-1 video from an EVOB:
0. Obtain an EVOB (.EVO file) containing a VC-1 encoded video stream.
Samples for testing: UNILOGO.EVO (78 MB), wvc1.dd plus.evo (15 MB)

1. Demux the VC-1 track using the latest demux.exe posted by drmpeg, name it with a .vc1 extension.

2. Using GraphEdit, mux the VC-1 stream into an MKV using the Haali Matroska Muxer (contained in the
Haali Media Splitter). You must also have the Elecard MPEG Demultiplexer (part of the
Elecard MPEG-2 Decoder and Streaming Pack).

Special Note on the Elecard Demuxer: The version included in the older 3.0 release will crash when connected
to a VC-1 EVO. The bad version is 1.0.19, the working version is 1.0.47 build 60321 (or later). See this post
for more details; contact me by Private Message if you have this problem.

Here is the graph:



Note that the Elecard Demuxer's Ouput Pin is labelled 'VC-1'. This means the demuxer understands the format;
right now it is the only one, besides the Sonic, that does. It also 'understands' H264. Thus it can correctly deliver
elementary streams in either of these two formats, as well as good old fashioned MPEG-1/2, which covers all video
formats available in the HD-DVD and Blu-Ray specifications.

3. The resulting MKV file will not be properly valid;
checking its properties (install the Matroska Pack to get this shell extension) we see:



Note the framerate of 0.000000 fps.

4. Create a file named time.txt (name doesn't matter but it should end in .txt), and into the file put these lines:
# timecode format v1
assume 24.000
5. Now run the latest MKVMerge GUI
(be sure to update it by copying the new files from the latest update package)
Drop the .mkv file produced by Haali's muxer in MKVMergeGUI, then click on the video track.
In the Timecodes field, click the Browse button and select the .txt file made in step 4.
Finally, give the output filename some new name and click Start Muxing:



6. Checking the Properties on this new MKV file shows us, to great delight and surely also
wonderment, that it has a real framerate with normal timecodes:



7. Now we can use MKVExtract GUI to extract the VC-1 track to AVI:



8. We can see that this AVI, though not openable with VCM-based software
(no VC-1 VCM codec exists right now), looks normal in Avicodec:



9. For some unknown reason, the file won't play using the Microsoft VC-1 DirectShow filter,
but works just fine using the Sonic Cinemaster VideoDecoder 4.1.

Gabest's splitter won't work at all on this AVI, BUT both the Haali Media Splitter and System AVI splitter do!
So if you disable Gabest's internal in MPC, you can get playback just fine.

In my case, GraphEdit uses the System AVI splitter, but you should also be able to use the Haali Media Splitter:



10. Now for the final, and might I say most delicious step: make an .avs file in the same folder as the AVI,
and into it put these lines:
directshowsource("wvc1.ddp.avi",fps=24)
trim(0,200)
You might ask, why the trim? And why fps=24? To answer these questions in reverse order:
1. It turns out this file's correct framerate is 24fps, determined by playing the .evo directly in MPC
and observing its playback length. And it also turns out that due to some oddness, the fps value
of the .avi, though it appears to be 24.0, will actually be 29.970 when opened via .avs.

2. For some reason the number of frames in the AVI exceeds the true number of frames by (29.970 / n),
where n is the real framerate. The original in this example has a framerate of 24fps, and there are
243 frames in the avi, so only the range 0-200 is valid (good idea to step thru to make sure,
theoretically it should be 195). The extra frames are (thankfully) all at the end in a contiguous
chunk, so it is easy to trim() them off.
Opening the AVI with VirtualDub (I use 1.5.10), we are pleased to observe:
The end result of this process is two files: an AVI and an AVS. The AVS file, when opened in VirtualDub, has these properties:
1. If the source is film, the served stream is always progressive, not requiring any IVTC, deinterlace, or decimation (duplicate removal)
2. Frame Size: Original Frame Size
3. Framerate: user calculated rate, should be accurate
4. Number of Frames: user calculated and trimmed()
5. Is seekable (all timestamps present), and decodes every frame within the valid range without error.

Last edited by Isochroma; 20th January 2007 at 21:10.
Isochroma is offline   Reply With Quote
Old 20th January 2007, 00:48   #135  |  Link
honai
Guest
 
Posts: n/a
Hmm. But isn't much of the process superfluous? If your goal is to play the file via DirectShowSource() why don't you just feed the EVO into the Sonic HD Demuxer (as you have the Sonic Video Decoder you also have the Demuxer) and then to the Video Decoder?

I think the target should be playback from an MKV/AVI container using Microsoft's VC-1 DMO. That way you also won't need the IVTC because telecine is only introduced by Sonic's Decoder. The source itself contains pure 24fps progressive, and Microsoft's decoder can output it as such.

EDIT:

According to another forum InterVideo's VC-1 Decoder also doesn't telecide the video but outputs pure 24fps.

Last edited by honai; 20th January 2007 at 01:12. Reason: added info on intervideo
  Reply With Quote
Old 20th January 2007, 01:40   #136  |  Link
Isochroma
Registered User
 
Join Date: Mar 2005
Posts: 468
@honai: after analyzing the frames, I've found that each one is unique, which means Sonic's filter is outputting pure progressive too! So the right thing to do is to create that timecode file (step 4) and set it to 23.976 or 24.

There are several problems with doing directshowsource() on the .evo:

1. Using directshowsource("filename.evo") fails:
We next build a test graph to find out why it is failing:
Aha! The System MPEG Demux is putting itself in there because it has higher merit, and not providing an output pin.
So let's make the graph manually, using the Sonic HD Demuxer this time:
Plays just fine in graphedit, but let's save the graph and try directshowsource("graph.GRF"):
Ah! We must remember that AviSynth needs one (and only one!) video or audio pin in the graph open, so that it can connect.

Looking back at the graph, we see a number of open pins, and the video we want is blocked by the greedy Video Renderer. Let's enumerate the pins, and what we have to do to them to make this work:
1. Audio Out: must be closed
2. ~SPU Out: must be closed
3. ~CC Out: must be closed
4. Video Out: must be opened
We'll connect all those unconnected pins to the magic Null Renderer, which is very promiscuous (it connects to anything), and sends any samples straightaway to Hell, and then we'll delete the Video Renderer and then we'll have it working, right?
Oh darn! Seems that nasty ~SPU pin won't connect to anything... and believe me, I've tried everything. Game over or restart?

Last edited by Isochroma; 20th January 2007 at 01:46.
Isochroma is offline   Reply With Quote
Old 20th January 2007, 02:04   #137  |  Link
Xplode
Registered User
 
Join Date: Nov 2005
Location: Norway
Posts: 13
Quote:
Originally Posted by Isochroma View Post
@honai: after analyzing the frames, I've found that each one is unique, which means Sonic's filter is outputting pure progressive too! So the right thing to do is to create that timecode file (step 4) and set it to 23.976 or 24.

There are several problems with doing directshowsource() on the .evo:

1. Using directshowsource("filename.evo") fails:
We next build a test graph to find out why it is failing:
Aha! The System MPEG Demux is putting itself in there because it has higher merit, and not providing an output pin.
So let's make the graph manually, using the Sonic HD Demuxer this time:
Plays just fine in graphedit, but let's save the graph and try directshowsource("graph.GRF"):
Ah! We must remember that AviSynth needs one (and only one!) video or audio pin in the graph open, so that it can connect.

Looking back at the graph, we see a number of open pins, and the video we want is blocked by the greedy Video Renderer. Let's enumerate the pins, and what we have to do to them to make this work:
1. Audio Out: must be closed
2. ~SPU Out: must be closed
3. ~CC Out: must be closed
4. Video Out: must be opened
We'll connect all those unconnected pins to the magic Null Renderer, which is very promiscuous (it connects to anything), and sends any samples straightaway to Hell, and then we'll delete the Video Renderer and then we'll have it working, right?
Oh darn! Seems that nasty ~SPU pin won't connect to anything... and believe me, I've tried everything. Game over or restart?
You don't need to use the null renderer on open pins to make it work in avisynth
Xplode is offline   Reply With Quote
Old 20th January 2007, 02:08   #138  |  Link
honai
Guest
 
Posts: n/a
Well, my bet is on trying a different video renderer than Sonic's. That wasn't meant for standalone playback, anyway, but rather for internal use in their mastering solution.

The most promising path so far seems to be waiting for one of the devs to write a VC1->WMV/AVI muxer. crypto or Dmitry (SolveigMM) are working on this already.
  Reply With Quote
Old 20th January 2007, 02:48   #139  |  Link
Isochroma
Registered User
 
Join Date: Mar 2005
Posts: 468
@Xplode: AviSynth requires one and only one open pin to connect to a filter graph. I chose the null renderers because they're the most efficient way to dispose of pins.

If there was more than one open pin in the graph, how is AviSynth supposed to know where to connect? Read the error message carefully: "Only 1 stream supported for .GRF files..."

@honai: First, Sonic doesn't make a video renderer, they make a demuxer and two decoders.

Second, waiting for someone to write a VC-1 muxer could test your patience. I for one, will not wait - it could take months or years, maybe never... the method outlined above will get you an .avs that works, right now.

Until the much-anticipated bridge software arrives, let's try the proposed method, and maybe even think up some new ones and test them as well. That way we can continue to make progress, while others work on programming splitters/demuxers/muxers.

I will be testing further .evo files to verify that it works on all of them (encouraging others to do the same), and will report back shortly.

Last edited by Isochroma; 20th January 2007 at 06:27.
Isochroma is offline   Reply With Quote
Old 20th January 2007, 02:56   #140  |  Link
honai
Guest
 
Posts: n/a
Yep, I did mean video decoder and have used that term before.

Quote:
I for one, will not wait - it could take months or years, maybe never...
Dmitry said it would take him a week, so ...
  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 16:37.


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