PDA

View Full Version : multiplex .vc1 + audio into new container


Okraml
29th January 2007, 21:09
Although there are already some posts about this topic in the thread EVOB De/Multiplexers (http://forum.doom9.org/showthread.php?t=120652), i thought it would be a good idea, to open up a new thread, thats all about muxing .vc1-files with audio (maybe dolby digital) to a new container.

I think matroska would be a good container, but i cant get this way of muxing (http://forum.doom9.org/showthread.php?p=939698#post939698) to work for me (i read others have problems too).

I tried many filters with graphedit and found something out, that i want to share:

When i tried to mux a .vc1 file directly to .mkv with graphedit as follows
File Source (Async) -> Elecard MPEG Demultiplexer -> Haali Matroska Muxer
i hit play, wait some seconds and hit stop (else it would never stop), i get a file that has a size of 17.1 KB. (I tried 2 different files).

Now the weird part:
File Source (Async) -> Elecard MPEG Demultiplexer -> Smart Tee -> Haali Matroska Muxer
i hit play, wait some more seconds (this time the harddrive works longer) and hit stop, i get a file that has a size of 63.2 MB (from both .vc1-test-files, doesn't matter if i use the capture or preview pin).

Wenn i then remux those files with the method Isochroma has shown (adding timecode) i can play those files directly in Media Player Classic using Sonics VideoDecoder (in graphedit the filters look like:)
Haali Media Splitter -> Sonic Cinemaster VideoDecoder 4.1 -> Video Renderer
It plays even with sound (.ac3).

Problems for me: its only 33 seconds long and the video contains many errors.

Did someone find out a testet working way to create a new playable file containing .vc1 video (without transcoding)?

:-) Okraml

bond
30th January 2007, 15:22
i doubt the Elecard MPEG Demultiplexer handles .vc1

try remuxing from the .evo directly to .mkv without demuxing first

honai
30th January 2007, 15:46
Actually, it does handle VC-1. It will even show "VC1" on the output pin in GraphEdit. I think the only thing that is missing is proper timestamps.

Okraml
30th January 2007, 21:45
i doubt the Elecard MPEG Demultiplexer handles .vc1

try remuxing from the .evo directly to .mkv without demuxing first

Like honai said, Elecard can handle vc1.

I also tried to remux directly with the following filters:
File Source (Async) -> Sonic HD Demuxer -> Haali Matroska Muxer
and get only a 1.6MB file which is not playable.

I think there needs to be some work done with Haali Matroska Muxer or mkvtoolnix (to allow .vc1 files too).

:-) Okraml

plonk420
1st February 2007, 08:03
seconded. is there a special version of haali that's allowing SOME people to mux .VC1 into .MKV files?

tomos
10th February 2007, 19:22
i've tried to mux vc-1 in also via graphedit and once thought i had it (18gig mkv) but wont play and mkvmerge cant read it

plonk420
12th February 2007, 09:40
did you follow the rest of the instructions, to insert that textfile that sets framerate, then extract video to WMV (or whatever format) in that multipage thread...?

tomos
12th February 2007, 12:29
yep. no joy. reencoding it now anyway

tomos
13th February 2007, 04:10
messing around a little more and found why it didnt work. well, kinda

when using the test file linked to in Isochroma's post, this works fine.

basically, demux evo, then load vc1 in graphedit and connect :

vc1 > elecard demux > haali muxer

this works. right click/properties yadda - fine. add text file etc - fine. end result playable.

now remove the elecard demux from the chain and you still get a file of the same size but that is garbage.

the problem is, using any vc1 from a full movie results in graphedit running endlessly and if you stop it, the mkv at the end is 15ish KB.

removing elecard from the filter chain results in an mkv of the right size but is garbage.

i dont know if its the elecard demux that cand handle this or if its the haali muxer but something is breaking down somewhere.

--

deffo the size - copied the first 50meg of supes returns and that works fine in mkv, but cant get the whole movie.

Okraml
2nd March 2007, 21:02
Finally the new Version of Haali Media Splitter (http://haali.cs.msu.ru/mkv/) works.

You can use
Haali Media Splitter (with the .evo) -> Haali Matroska Muxer
to create a .mkv file containing the .vc1 video.
Then you can open the file in mkvtoolnix insert the timecode file for video and mux some audiofiles (for example an ac3 file from the dvd) to get a working .mkv file containing vc1 video and ac3 audio.

I even testet a timecode of 25 fps for some american movies with the original pal dvd ac3 (german) soundtrack and it works!!! No need for transcoding and smooth playback.

THX to Haali for making this possible.

:-) Okraml

tomos
25th March 2007, 23:01
it works with the evo, but haalis splitter wont recognise the vc1 file by itself.

is that not possible then?

Taxidermista
27th March 2007, 23:40
Finally the new Version of Haali Media Splitter (http://haali.cs.msu.ru/mkv/) works.

You can use
Haali Media Splitter (with the .evo) -> Haali Matroska Muxer
to create a .mkv file containing the .vc1 video.
Then you can open the file in mkvtoolnix insert the timecode file for video and mux some audiofiles (for example an ac3 file from the dvd) to get a working .mkv file containing vc1 video and ac3 audio.

I even testet a timecode of 25 fps for some american movies with the original pal dvd ac3 (german) soundtrack and it works!!! No need for transcoding and smooth playback.

THX to Haali for making this possible.

:-) Okraml

Is it necessary to add the timecode? I've created a mkv from the evo (V for Vendetta) and the file plays smoothly at 25 fps without further manipulation.

woah!
28th March 2007, 06:35
i am having probs with the muxing after i have dumped the mkv file from graphedit?

so in short i used the splitter/muxer as above, ended up with a 10.6gb mkv which plays well in mpc. i already have a 6ch ac3 from the ddp audio.

i add these to into mkvmerge and once its writing the new mkv file i get this:


mkvmerge v2.0.2 ('You're My Flame') built on Feb 21 2007 23:40:43
'N:\1.mkv': Using the Matroska demultiplexer.
'N:\1\1.ac3': Using the AC3 demultiplexer.
'N:\1.mkv' track 1: Using the video output module.
'N:\1\1.ac3' track 0: Using the AC3 output module.
The file 'O:\1.mkv' has been opened for writing.
progress: 0%progress: 0%progress: 0%progress: 0%progress: 0%progress: 1%progress: 1%progress: 1%progress: 1%Warning: pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (00:01:31.041 < 00:01:31.108) for 1 of 'N:\1.mkv'. This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you.
progress: 1%progress: 1%progress: 2%progress: 2%progress: 2%progress: 2%progress: 2%progress: 3%progress: 3%progress: 3%progress: 3%progress: 3%progress: 4%progress: 4%progress: 4%progress: 4%progress: 4%Warning: pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (00:04:25.248 < 00:04:25.315) for 1 of 'N:\1.mkv'. This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you.
progress: 5%Warning: pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (00:04:35.175 < 00:04:35.242) for 1 of 'N:\1.mkv'. This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you.
progress: 5%progress: 5%progress: 5%progress: 5%progress: 6%progress: 6%progress: 6%progress: 6%Warning: pr_generic.cpp/generic_packetizer_c::add_packet(): timecode < last_timecode (00:06:05.098 < 00:06:05.165) for 1 of 'N:\1.mkv'. This should not have happened. Please contact the author Moritz Bunkus <moritz@bunkus.org> with this error/warning message, a description of what you were trying to do, the command line used and which operating system you are using. Thank you.



anyone else? or am i just not seeing something..

ok sorry found this post: http://forum.doom9.org/showthread.php?p=964902#post964902

so not something to worry about... i think

edo1080
9th April 2007, 10:30
It muxes perfectly into mkv, but it won't play. With mplayer classis or wmplayer 11 screen is black

SpAwN_gUy
10th April 2007, 15:01
so,. i'm having exactly the same problems...
and it keeps NOT Working over here... not gdsmux nor graphedit..
first .evo suits to gdsmux but the second - does not..

i have all demuxed streams, and i can decode them through cinemasterVideDec 4.2 ... but that's all..

and i need that .mkv,.. i really need seeking. and .mkv-files i'm getting are just 17K and 65Mb.. not like 11Gb...

help..

madshi
10th April 2007, 15:29
I'm doing it this way:

(1) I use EvoDemux to remux the two seperate EVO files into one.
(2) I use h264tsto to convert the EVO file to MKV.

This has worked perfectly fine for me with my Serenity HD-DVD. That's the only VC-1 HD-DVD I have so far. More should be coming soon... :)

h264tsto is identical to using "Haali Simple Media Splitter -> Haali Matroska Muxer" in GraphEdit.

kornesque
10th April 2007, 15:36
file source x.evo>haali splitter>haali muxer works fine for myself.

@madshi: i'm assuming h264tsto works for h264 evo as well?

madshi
10th April 2007, 15:47
@madshi: i'm assuming h264tsto works for h264 evo as well?
Basically yes, but h264tsto does nothing but automate DirectShow filters. For evo muxing the Haali filters are being used. So if the Haali filters don't like a specific h264 evo file or any h264 evo files in general, h264tsto will not work, either.

Practically spoken, muxing the "The Departed" h264 trailer evo currently doesn't work for me, and muxing the Equilibrium h264 movie evo doesn't work for me, either. But I have already reported these problems to Haali and I've good hope that he'll fix them sooner or later.

SpAwN_gUy
10th April 2007, 15:55
So,.. basically we just
a) demux only Audio and Subpics with EVOdemux (for transcoding with eac3to)
b) rebuild EVOs to One EVO.. with EVOdemux
c) OneEVO to MKV with h264to or gdsmux..
d) ReMUX MKV with timestamps and FPS.. with mkvtoolnix(latest)
e) do whatever we want :) .... (transcoding seeking and..)

.... some how gdsmux opened second evo.. and now i'm making 2 MKVs and probably will append them in MKVToolnix with proper timestamps..

madshi
10th April 2007, 16:15
So,.. basically we just
a) demux only Audio and Subpics with EVOdemux (for transcoding with eac3to)
b) rebuild EVOs to One EVO.. with EVOdemux
c) OneEVO to MKV with h264to or gdsmux..
d) ReMUX MKV with timestamps and FPS.. with mkvtoolnix(latest)
e) do whatever we want :) .... (transcoding seeking and..)
Correct. Although I don't think that d) is necessary. The MKV works just fine for me without. However, Reclock doesn't see the FPS without step d), so I'm doing this step nevertheless.

.... some how gdsmux opened second evo.. and now i'm making 2 MKVs and probably will append them in MKVToolnix with proper timestamps..
This may work. But I could imagine that the resulting MKV may have a noticable pause/judder at the split time point. I'd recommend using your steps a) to e) from above to get a perfect MKV.

Okraml
10th April 2007, 17:39
And all this only works with .evo, not with the already demuxed .vc1 file.
Unfortunately i got one .vc1 file without the .evo file.

Anybody know how to mux a raw .vc1 file into mkv (or another container)?

:-) Okraml

madshi
10th April 2007, 18:12
And all this only works with .evo, not with the already demuxed .vc1 file.
Unfortunately i got one .vc1 file without the .evo file.

Anybody know how to mux a raw .vc1 file into mkv (or another container)?
Well, you are legally allowed to do all this only if you own the HD-DVD disc. And if you own the disc, there's no problem getting the evo files. If you don't own the disc, asking for help here is probably against the forum rules... ;)

Okraml
10th April 2007, 18:17
Who said, that there was any .evo file to begin with? (All i said is that i have a vc1 file without an evo file, so i can't use haali splitter/muxer method)
There are ways to transcode a file into a .vc1 file, but i can not find a way to mux a .vc1 file (.vc1 files are not only for hd-dvd or bluray).

:-) Okraml

madshi
10th April 2007, 18:24
Who said, that there was any .evo file to begin with? (All i said is that i have a vc1 file without an evo file, so i can't use haali splitter/muxer method)
There are ways to transcode a file into a .vc1 file, but i can not find a way to mux a .vc1 file (.vc1 files are not only for hd-dvd or bluray).
Ok, that's true!! :)

Unfortunately you're right. I'm not aware of any way to mux a vc1 raw file to anything useful. When Haali's Media Splitter didn't support EVO files yet, some people claimed to have success by using "vc1 raw file -> Elecard Demuxer -> Haali Matroska Muxer" but I was never able to make it work.

I think Scenarist can make use of raw vc1 files, but I don't know if you can use this. Maybe you can ask Scenarist to create an EVO from the vc1 file for you? Of course you'd need to have Scenarist for this to work. And I don't know if it can really do that.

Okraml
10th April 2007, 18:34
Theoreticly Scenarist can create .evo files, but i heard that it sometimes bitches about too high bitrates even with vc1 files demuxed from hd-dvds :confused: (and i would like a little free software tool much more).

:-) Okraml

madshi
10th April 2007, 19:25
Well, you could try to make the filter combination "vc1 raw file -> some splitter -> Haali Matroska Muxer" work. The Haali Matroska Muxer can handle vc1. You just need a splitter which can feed the vc1 stream in a way the Haali Matroska Muxer wants it. You could try the Elecard splitter or the Sonic splitter. IIRC I wasn't able to make it work, but that was quite a while a go, so maybe with the latest version of all filters you can make it work.

DreckSoft
17th April 2007, 22:09
any news on muxing vc1? I'm currently stuck with Basic Instinct and 16 Blocks :-(

SpAwN_gUy
18th April 2007, 09:45
@DreckSoft
i guess not for now... now new Scenaris, Elecard - Filters, and not so much Haali Media splitters,.. so, i guess no RAW vc1 muxing for now..
(but mine Scenarist could import raw vc1 and eac3) but my project was 25fps and not 23,...

so now EVO->EVO->h264to->mkvtoolnix->graphedit*->avisynth*
* - not needed when ReMuxing Only.

Okraml
5th May 2007, 22:51
I finally found a working way, to get a .vc1 file into a .mkv container.

First use graphedit with the following filters:

File Source Async (file.vc1) -> Sonic HD Demuxer -> MainConcept Multiplexer -> Dump (file.ts)

The resulting .ts file can then be remuxed with haali media splitter -> Haali Matroska Muxer to a .mkv file!

Have fun.

:-) Okraml

DreckSoft
7th May 2007, 18:23
Thanks! Finally I could remux BI.

Roscoe62
8th May 2007, 11:58
But how does that solution handle multiple EVOB files - i.e. where there are more than 1 main feature EVOBs?

Also, is the Mainconcept Multiplexer the only one capable of this?

madshi
8th May 2007, 12:04
But how does that solution handle multiple EVOB files - i.e. where there are more than 1 main feature EVOBs?
If you have EVO files, muxing into MKV is even easier. Remux the separate EVO files into one by using EvoDemux. Afterwards use Haali Media Splitter -> Haali Matroska Muxer. Usually you'll get a perfect MKV this way.

Roscoe62
9th May 2007, 00:49
Thanks for your reply Madshi,

I have had some problems with Evodemux rebuilding multiple evo files. Sometimes it ends up with a file that the Haali Media Splitter cannot open. When this happens I use Evodemux again, but without reading the xpl file and this has resulted in a readable file. However, when I do this, the resulting file suffers from frame drops in numerous places and I don't know why. CPU peaks at around 52% so I don't think that's where the problem is.

I usually just rebuild into a single EVO file, rename it mkv and build a graph with graphedit for Theatertek to play as follows:
Haali Media Splitter>WM Video Decoder DMO>Video Mixing Renderer 9

and for Audio:
Haali Media Splitter>Sonic Audio 4.2>AC3 Filter>Default Audio Renderer

This arrangement has worked fine except for those movies I've had to rebuild without reading the xpl file.

Have you ever had EVOdemux rebuild an EVO file that Haali wasn't able to open?

In the meantime I will try your method, but is that all there is to it? I don't have to worry about timecodes or anything like that?

EDIT: Actually, a better question to ask would be : When you say "Usually you'll get a perfect MKV this way." what do you mean by "perfect"?

madshi
9th May 2007, 08:52
I have had some problems with Evodemux rebuilding multiple evo files. Sometimes it ends up with a file that the Haali Media Splitter cannot open.
Can you name a few movies where that happened? To be honest, I don't have so many HD DVD discs yet. So maybe I've had luck...

When this happens I use Evodemux again, but without reading the xpl file and this has resulted in a readable file. However, when I do this, the resulting file suffers from frame drops in numerous places and I don't know why.
Didn't have such a problem yet.

In the meantime I will try your method, but is that all there is to it? I don't have to worry about timecodes or anything like that?
Well, I usually run the MKV file through mkvtoolnix to force writing of new timecodes (23.976). If I don't do that, Reclock doesn't see the FPS, also MPC has problems to sync external audio tracks correctly. After the mkvtoolnix step these problems are gone.

EDIT: Actually, a better question to ask would be : When you say "Usually you'll get a perfect MKV this way." what do you mean by "perfect"?
Well. With "perfect" I mean perfect. As in: Perfect behaviour, not a single problem whatsoever.

Roscoe62
9th May 2007, 22:46
Can you name a few movies where that happened? To be honest, I don't have so many HD DVD discs yet. So maybe I've had luck...

Yep - happened with King Kong & Happy Feet. When I did them again without reading the xpl file it worked OK.

Well, I usually run the MKV file through mkvtoolnix to force writing of new timecodes (23.976). If I don't do that, Reclock doesn't see the FPS, also MPC has problems to sync external audio tracks correctly. After the mkvtoolnix step these problems are gone.

I tried this method yesterday. The first thing I noticed is that, in the past when I just changed the rebuilt EVO file to a mkv extension and opened the file in Graphedit, it would take the Haali Splitter a good 10-15 seconds to open the file. After remuxing to a "true" matroska file, Haali opens it almost instantly. I took that to be a good sign. I noticed the same behaviour when opening the file in Theatertek. A good 10-15 seconds to open it. The "true" matroska opens in < 3 seconds.

Well. With "perfect" I mean perfect. As in: Perfect behaviour, not a single problem whatsoever.

This has been the biggest buzz. All the action scenes where previously I'd had problems with dropped frames, they now play back flawlessly! I'm now a convert and am going through re-doing my other files using this method. Thanks again for
sharing it! :thanks:

KoD
10th May 2007, 12:44
There are no "true" matroska files. They're matroska files or not.

A little note: simply changing the extension from .evo to .mkv has a meaning only in your mind. Haali's splitter does not care. It sees it as an evo file no matter that you change the extension to mkv or leave it as evo.

Roscoe62
11th May 2007, 05:44
Hi KoD,

Theatertek does not play the file if it bears the .evo extension. However, if I change it to .mkv the graph works.

...or maybe that only happens in my mind....:rolleyes:

KoD
11th May 2007, 17:28
Do I really have to give an answer ?

Roscoe62
12th May 2007, 13:32
Whatever rows your boat :)

foxyshadis
15th May 2007, 13:57
He means that your directshow setup is screwed up, in this case your Haali's install. You should reinstall it and be sure that you check MPEG-PS during installation, and then if necessary lower the merits of any conflicting filters taking over the decoding.

JeffAlso
16th May 2007, 06:43
Just out of curiosity, has anyone else had a problem with the Sonic Cinemaster Video 4.2 filter not being able to play mkv files containing vc-1 video??

I had this problem awhile back and forgot about it. After recently reinstalling the Sonic Cineplayer Decoder Pack, the problem came back again. The WMVideo Decoder DMO filter works fine, but the sonic filter doesn't work at all.

Unregistering the Sonic filter solves the problem, but I'm curious why it works with evo files and not mkv files??

Zagolski
22nd May 2007, 16:35
How correctly demux VC-1 from .AVI to .vc1?

markrb
18th September 2007, 02:41
Sorry to sound so dumb, but I don't understand this line from a previous post.

d) ReMUX MKV with timestamps and FPS.. with mkvtoolnix(latest)

I understand most of it, but where do I get or how do I get timestamps and fps information and where do I put it in mkvtoolnix?


So far I have demuxed using evo demux. So I have a EVO with just video and an ec3 track that I have created into AC3 using ec3to. I can mux fine into mkv, but audio is out of sync.
Will adding timestamp and FPS cure this or do I still need to add a delay?

Thanks,
Mark

tomos
18th September 2007, 07:39
not a 100% on this but doesnt muxing direct to mkv leave the video @ 29.970 fps? needs to be 23.976fps i believe

oops.

timestamps i beleive is info in a text file (right)?

there's a timecode option at the bottom, point to a text file containing something like

# timecode format v1
assume 23.976

hollydoc
21st September 2007, 20:46
Someone seems to have got a VC1 encode working with AVCHD.

http://www.gametrailers.com/player/usermovies/106856.html

Hollydoc

soundino
17th January 2008, 02:27
How correctly demux VC-1 from .AVI to .vc1?

I join this question, and I develop it:
How correctly demux VC-1 from .avi in .ts? :confused:
Thanks for the answer.:)

soundino
19th January 2008, 14:43
I join this question, and I develop it:
How correctly demux VC-1 from .avi in .ts? :confused:
Thanks for the answer.:)

Nobody can help me?:confused::confused::confused:

madshi
21st January 2008, 07:45
Just to let you guys know: The latest eac3to version (v2.15) can now directly mux raw VC-1 elementary streams to Matroska (MKV). It works like this:

eac3to video.vc1 video.mkv
For this to work the Haali Matroska Muxer (part of Haali Media Splitter) needs to be installed.

Ytterbium
22nd April 2008, 23:29
Just to let any know: If you want to go from MKV to WMV, you can do this.

1. Use graphedit with Haali Media Spliter and SolveigMM ASF, this will give you and ASF.
2. Use Windows Media Stream Editor to remux to WMV.

I used mkvextract to get the audio. However if I used this for the video it put the VC1 into an AVI which was useless to process further.

Dmitry Vergheles
27th April 2008, 19:01
Just to let any know: If you want to go from MKV to WMV, you can do this.

1. Use graphedit with Haali Media Spliter and SolveigMM ASF, this will give you and ASF.
2. Use Windows Media Stream Editor to remux to WMV.

I used mkvextract to get the audio. However if I used this for the video it put the VC1 into an AVI which was useless to process further.

There is no need to remux ASF to WMV :) both WMV and ASF are Advanced Streaming Format files. All the difference is in extension:)