View Full Version : Alternative Matroska Splitter (Haali)
Pages :
1
2
3
4
5
6
7
8
9
10
11
[
12]
13
14
15
16
17
18
19
20
madshi
27th February 2007, 23:13
I use the codecs that come with WMF11 SDK (they also come with wmp10/11 afaik, but I don't want to install them).
But how can you activate them in e.g. MPC? The MS VC-1 decoder is not a DirectShow filter, so you can't directly use it in MPC, or am I wrong? Sorry if this is a dumb question... :o
Haali
27th February 2007, 23:15
It is used automatically via standard DMO Wrapper filter, like this: http://haali.cs.msu.ru/dmo.png
madshi
28th February 2007, 00:30
It is used automatically via standard DMO Wrapper filter, like this: http://haali.cs.msu.ru/dmo.png
Thanks very much, Haali. It actually works just as you say. I installed WMP11 today and I guess that made DMO work for me now. I'm sure that it didn't work before. So I'm happy now... :)
ron.v.f
28th February 2007, 00:43
http://forum.doom9.org/showthread.php?p=952842#post952842
Autoload VSFilter works fine with new version. Good work.:)
Haali
28th February 2007, 01:03
http://forum.doom9.org/showthread.php?p=952842#post952842
Autoload VSFilter works fine with new version. Good work.:)
It is/was a problem with your setup I think. I didn't change anything in that part of code. And autoloading is not needed at all on a properly configured system.
ron.v.f
28th February 2007, 01:32
It is/was a problem with your setup I think. I didn't change anything in that part of code. And autoloading is not needed at all on a properly configured system.
That's weird. I did nothing else than installing the new version. Graphedit shows me directvobsub in the graph, what it did not before. I only could add it manualy.
Because of your post I tried without autoload and it works too. Doesn't matter why it works fine for me now.:)
asasadad_1
28th February 2007, 02:15
That's some random mediatype that I use for DD+. I don't know what commercial splitters&decoders use.
Sonic HD demuxer + Sonic Cinemaster Audio Decoder + Sonic Cinemaster Video Decoder works with DD+&wvc1 in .EVO, check your pm please.
Great work haali!
DonGato
28th February 2007, 06:13
And autoloading is not needed at all on a properly configured system.
Mmm, really?
I can't see internal OGM subs without this feature. I mean I have to load them by hand.
Solo_Senshi
28th February 2007, 09:14
Hi, I like that you have MPEG PS support in your splitter now. It works great on VOB's and videos I've remuxed into MPG containers with AC3, MP2, or DTS audio tracks. But it doesn't seem to be sending LPCM audio to any filter.
I usually use ffdshow for LPCM, but just to test I disabled it there to see if it would work with either MPC's built in LPCM filter or Nvidia's audio decoder, but still nothing.
Anyone else experiencing this?
Edit:
I just went back through and saw your description of this release and noticed this: "Added MPEG PS support (incomplete)."
So I guess the LPCM thing is part of what's incomplete, sorry to have bothered you about that.
chros
28th February 2007, 23:08
bug: the splitter doesn't recognise ac3 audio (not eac3) in evo (h264+ac3).
feature request: can you add an option to the filter properties where we can set that the splitter put out the raw fps?
The reason is that now we must demux the vc1 stream to get the original fps (23.976). So we can rid of this demuxing process ...
Or maybe is it a stupid request ?
Thanks
Haali
28th February 2007, 23:19
Yeah, some explanation would be nice, because dshow does not use the fps field for playback, it's purely informational.
chros
1st March 2007, 00:24
Yeah, some explanation would be nice, because dshow does not use the fps field for playback, it's purely informational.
Hhmmm ... So I was wrong: I thought that the splitter is responsible for this, but it seems the decoder is, isn't ?
When you create this graph, we get 29.97 fps:
your splitter (*.evo) -> Sonic Video decoder
But with the demuxed file, we get 23.976 fps:
your splitter (*.vc1) -> Sonic Video decoder
moshmothma
1st March 2007, 19:00
Great work Haali!!
A couple of things about the new version:
1. Seeking is improved. However, it only seems to work with dscaler for me with mpeg2. Nvidia, gabest encoders are terribly out of synch. Not too sure why.
2. I know pcm support is in early stages so this is just an fyi. I tried to play terminator m2ts file and it does not see the pcm track at all.
Thanks
3. What is the recommended audio filter to connect to for dd+ using Haali? Lookign through this thread it seems pretty ambiguous. I cannot use anything in graphedit.
Thanks again!!
chros
1st March 2007, 19:26
3. What is the recommended audio filter to connect to for dd+ using Haali? Lookign through this thread it seems pretty ambiguous. I cannot use anything in graphedit.
Sonic Cinemaster Audio Decoder 4.2 is the only directshow filter which is working right now, but you have to demux the eac3 audio for it (and use the patched gabest ac3 filter), because the current splitter doesn't agree the connection. Maybe the next build will ! :)
madshi
3rd March 2007, 11:45
@Haali,
with the "mkx.I.2.exe" build the Haali Media Splitter works perfectly fine for me with all VC-1 EVO files I throw at it. :) Here's a list of things that could still be improved:
bug or not complete:
-----------------
H.264 EVOs (e.g. Equilibrium) end up with no video being played.
not really a bug, but could be improved:
------------------
All audio tracks are reported as EAC3, but some are actually only AC3. The EVO flags them as EAC3, but in reality they are AC3. This is the case with most additional feature EVOs like deleted scenes etc. They're usually SD format with MPEG2/AC3. The EvoDemuxer detects that the audio format is AC3, although the EVO flags it as EAC3, so does the latest mkvtoolnix (released yesterday).
crazy suggestion:
----------------
If an EVO is played, could the splitter look for "..\ADV_OBJ\VPLST000.XPL" and parse that file? That would allow the splitter to:
(1) give the audio tracks correct names/descriptions
(2) play the full movie seamlessly, even if it's splitted over 2 EVO files
(3) mux the full movie to MKV without having to join the EVO files manually before.
This is just a thought and not really necessary. I don't know if it's even possible technically. But it would be quite "nice".
DeepBeepMeep
4th March 2007, 12:37
Thanks Haali for you muxer / demuxer. It opens lots of new possibilities for backups.
Here are some bugs:
- Splitter
* HDDVD / VC1: the frame rate sent to the decoder is incorrectly 29.97 instead of 23.976, the audio and video gets out of sync during playback of an EVO
* Blu-Ray / AVC: Xmen3 , a couple of glitches can be visible in the video with scenes with high bit rates (> 35 Mbs) like the 20th century logo at the beginning. It seems lots of other demuxer (gabest, xport, etc...) have the same problems except Nero filter.
- Matroska muxer:
* HDDVD / VC1 : muxing VC1 wont set the frame rate . The file needs to be remuxed again with Mkvtoolnix using time codes
Haali
4th March 2007, 12:52
I still can't understand what's so important about that frame rate field. It's NOT USED FOR PLAYBACK because each frame has its own timestamp. Apparently a lot of people think fps value is very important, so maybe someone can step up and explain why?
DeepBeepMeep
4th March 2007, 13:24
I don't know if this has to do with the frame rate field, but obviously something is missing because the Direct Show chain is screwed up
- the video plays too fast (29.97 fps) instead of 23.976, CPU is higher that it should be
- Reclock reports a frame rate of 29.97
- Audio and video gets out of sync quickly
If if I remix the file using timecodes with mkvtoolnix the video plays fine. I don't what mkvtoolnix does but ideally Haali Mastroska muxer should do it as well.
It could be a Reclock that likes the frame rate field, I haven't tried without it.
madshi
4th March 2007, 15:12
I originally thought the FPS field was important, but the movies I muxed into MKV seem to play just fine for me without. However, playing EVOs directly through the Haali Splitter is not fluid for me. I don't know the reason for that, though.
P.S: Just checked, ReClock is definitely not able to read out the FPS when playing the MKV.
DeepBeepMeep
5th March 2007, 01:45
Beside the issues I mentioned above what would be really nice since I use more and more the Haali splitter in Graphedit would be to be able to choose the Audio track that is going to be the output of the filter. I know there are options to specify the language code but they won't work with evo files or ts files because the language information is not stored in the file.
Haali
5th March 2007, 01:49
Use a Simple Media Splitter, it's more graphedit-friendly.
DeepBeepMeep
5th March 2007, 11:16
Use a Simple Media Splitter, it's more graphedit-friendly.
Thanks it's quite helpful.
On a side note, the audio sync problem I have mentioned above might be due to another reason: the issue concerned audio tracks that are DTS-HD in an EVO file. Obviously the Haali filter extracts the DTS core and ignores the HD part, but it seems to drop useful info as well such as audio timestamps and loses audio sync Maybe it should not discard the HD part and let the DTS decoder decides to ignore it if it doesn't support it.
Haali
5th March 2007, 14:31
To extract the "DTS core" and ignore the "HD" part you'd need a DTS parser which I didn't implement. Fortunaltely DTS frames have a size field in the header, so it's not needed. The timestamps might be wrong though, but I'd need a sample to verify that.
Rectal Prolapse
5th March 2007, 17:58
Hi - thanks Haali for this new version!
Any tips on what audio decoder can be used with EVO files and Haali Media Splitter? I cannot get it to connect with the Sonic Cinemaster Audio Decoder 4.2 (four point two). Nor will it connect with FFDShow. I must be missing something.
ilpippo80
6th March 2007, 12:13
Haali, I've got some problems with your splitter in mpc with mp4 files I've muxed with mp4box (using yamb) with embedded subtitles.
When I use vmr7 renderless, vmr9 renderless or your renderer I've got no problem displaying subtitles with mpc's internal filter.
When I use ffdshow with the above mentioned renderers I get this:
http://img72.imageshack.us/img72/6029/38515481sx6.th.jpg (http://img72.imageshack.us/my.php?image=38515481sx6.jpg)
When I use vsfilter with the above mentioned renderers I get this:
http://img72.imageshack.us/img72/2373/11680738df6.th.jpg (http://img72.imageshack.us/my.php?image=11680738df6.jpg)
No problems with the other renderers.
Btw I've got the latest version of your splitter installed but I already noticed this problem some time ago...
Where do you think the problem is?
Thanks
Maybe the problem is ffdshow's subtitle renderer and its incomplete ass/ssa support? (why do people trust their favourite pieces of software so much and never question them ?)
ilpippo80
6th March 2007, 12:57
The internal subtitle format in mp4 files should be 3GPP Timed Text, I guess it should not be the same as ass or ssa, but I don't know the difference between them...
Anyway the original subtitle file (which I gave to yamb as an input) was a srt file.
foxyshadis
6th March 2007, 14:30
You might check your version of vsfilter, if you get different results between it and MPC, because they're based on the exact same code. Vsfilter new versions (http://ffdshow.faireal.net/mirror/Media%20Player%20Classic/external%20filters/unicode/)
If that's actually ttxt internally, it's been converted to ass (probably by the splitter), which ffdshow has its issues with. ffdshow has no support for native ttxt at all afaik.
ilpippo80
6th March 2007, 15:22
Thanks, Foxy, but I just tried the 12-May-2006 version, no change, same issue than the 20051125 version I had before...
Btw, I'm using mpc rev611-3 by celticdruid.
Do you think it's a mpc issue?
DeepBeepMeep
6th March 2007, 16:30
To extract the "DTS core" and ignore the "HD" part you'd need a DTS parser which I didn't implement. Fortunaltely DTS frames have a size field in the header, so it's not needed. The timestamps might be wrong though, but I'd need a sample to verify that.
Haali, please check your PM for the sample.
Anyway, I have tried another EVO file which this time contained VC1 with DD+ and I still had the video (29.97 instead of 23.976 fps) running faster than the audio, causing consequently an audio / video sync which is growing over time. If I mux the same file using Haali Matroska muxer, the Mkv file has 25 fps. If then using mkvtoolnix with a "timecode" file it is forced to 23.976 and muxed with the original DD+ track, it works very nice.
I don't know if this an issue with Reclock, but if you could do whatever mkvtoolnix does with the timecodes option, it should work properly in any case.
Rectal Prolapse
6th March 2007, 17:35
DeepBeepMeep, what filter are you using to connect the audio pin from Haali's audio output pin? WinDVD Audio Decoder? Thanks!
DeepBeepMeep
6th March 2007, 17:51
I use Sonic Cinemaster 4.2 Audio Decoder and the VC1 Video decoder that comes with WMP11.
Haali filter can be used in either of these two scenarios to decode an EVO file:
- EVO file unchanged: I can see the picture and hear the sound, but the video runs too fast and there are audio/sync problems
- EVO file remuxed to MKV by setting timecodes to 23.976 fps: perfect playback
Haali
7th March 2007, 20:54
I've uploaded a new release with improved HD support.
DeepBeepMeep: the desync that you describe does not happen on any EVO files that I have.
hdboy
7th March 2007, 23:22
I use Sonic Cinemaster 4.2 Audio Decoder and the VC1 Video decoder that comes with WMP11.
the above decoder is commercial right? can I buy it standalone or only as part of some package? you know what the lowest cost package (and version#) that has that?
madshi
7th March 2007, 23:33
I've uploaded a new release with improved HD support.
Thanks very much! :)
EVO H.264 support seems to work very nicely, even playing the EVO file directly (instead of muxing to MKV first) is smooth on my PC. Automatic linking of VOBs seems to work great, too. So far, so great! These additions are very much welcome!!
I've two problems:
(1) Seeking in H.264 EVO (MPC + CoreAVC) doesn't seem to work at all for me. The sound plays, but the image doesn't. Most of the time one frame is shown, but no more. Sometimes not even one frame is shown. Stopping and playing from the start works. Pausing and resuming works fine, too.
(2) When doing Haali Media Splitter + Haali Matroska Muxer on DELSCENE7.EVO from here:
ftp://mplayerhq.hu/MPlayer/samples/evob/
The resulting MKV is not smooth (MPC with internal MPEG2 decoder). Playing the EVO directly is smooth. Throwing the EVO into mkvtoolnix creates a smooth MKV. The only non-smooth result is created by the Haali Matroska Muxer. Remuxing the non-smooth MKV through mkvtoolnix doesn't make it smooth. Adding forced 29.97 timecodes through mkvtoolnix makes the MKV smooth!! So maybe here we have a situation where a MKV doesn't play correctly without proper FPS header information.
:thanks:
Haali
8th March 2007, 00:05
Please, forget about that fps thing. I know the code that I've written, and I don't use the value anywhere in the splitter or muxer. I can return 1000fps or 0fps there, and it'd make no difference. If there are playback problems, they are caused by other things.
DeepBeepMeep
8th March 2007, 01:12
I confirm madshi observations:
- Playback of EVO / AVC is fine with proper audio / sync. Seeking is very slow, it could be related to long GOP
In addition even with the latest version:
- Playback of EVO / VC1 is wrong no matter what I tried (Reclock or not, Haali Renderer or VMR9, Zoomplayer or Mplayer Classic): the video seems to be accelerated and the audio gets out of sync very quickly.
- The file created with Haali Matroska muxer has an incorrect FPS (25) and needs to be remuxed with mkvtoolnix using timecodes for a proper playback.
Maybe you should have a look at a file muxed with mkvtoolnix and see what's added; Whatever is behind the "timecodes" option seems to solve the Matroska muxing problem.
Thanks again for your help
foxyshadis
8th March 2007, 01:31
You're just going to piss off Haali with the insistence on treating FPS as anything more than a pretty value. To find out what the actual fps is, run mkv2vfr or mkvextract with timecode output. (If mkv2vfr works with these native-mode files, but there are other ways to get a v1 timecode file.) Even if it's muxing with different timecodes than the display engine recieves, that has nothing to do with the stream's nominal fps value. The timecode file just forces mkvmerge to rewrite every frame's duration.
(Although it IS possible that it's setting default duration to come out to 25fps by default, and not picking up the difference between the default and actual durations, and thus not bothering to write per-frame durations. But I wouldn't know.)
orbitlee
8th March 2007, 04:04
Here is an 100M sample, VC-1 video, DD 640K and DD+ 640K, in TS container. Haali splitter(only internal mkx.I.2.exe version tested) works great. Just in case you have interest to test :-)
Haali :thanks:
http://www.sendspace.com/file/12p4py
http://www.rogepost.com/n/5026526193
asasadad_1
8th March 2007, 04:51
here(AVC1+mp2(3?) 38.84MB ) (ftp://mplayerhq.hu/MPlayer/samples/V-codecs/h264/hdtv-interlaced/sky_720p_test_why-cant-i-overwrite.ts)
is a .ts sample Haali Media Splitter(ts) 1.7.100.18 worked with problem, didn't recognise video, audio pin output able to connected with audio decoder(mpg123 and MAD DirectShow Filter 1, 0, 4, 5),but there is no audio.
gabest mpeg splitter (1, 0, 0, 4) and MainConcept MPEG Demultiplexer (1.0.8408) work ok with that .ts sample.
madshi
8th March 2007, 08:57
Please, forget about that fps thing. I know the code that I've written, and I don't use the value anywhere in the splitter or muxer. I can return 1000fps or 0fps there, and it'd make no difference. If there are playback problems, they are caused by other things.
Ok. Until today all Haali muxed MKVs worked fine for me, so I'm sure you're right. Just please check out why muxing DELSCENE7.EVO is not smooth.
I've one more problem to report: Muxing H.264 EVOs via Haali Media Splitter + Haali Matroska Muxer doesn't work. Tested on the Departed Trailer and Equilibrium movie. The muxing just hangs with a 0 byte MKV file. I'm not sure whether this is supposed to work yet. So maybe it's not a bug, but just not complete. Anyway, just wanted to report it.
Thanks for your continued work on your great filters!! :)
DeepBeepMeep
8th March 2007, 09:37
Alright, here is another theory:
I have read in some other threads that a VC1 stream uses like some MPEG2 streams also Soft Telecine flags such as "repeat top" flag, this flag increases the duration of every other frames by 50% in order to turn a 23.97 Hz stream into a 29.97 Hz stream. It could be that this flag is lost on the way to the decoder and this would explain the acceleration.
Anyway this is just a theory, I am trying to help. I don't mean to piss off anyone.
DeepBeepMeep
8th March 2007, 21:31
I have the explanation for the audio / video sync problems:
It occurs if I add Ffdshow in the chain that is:
- if I use Ffdshow as VC1 decoder with either choice of codec
- if WMVVideo is the VC1 decoder and is followed by Ffdshow in the DirectShow chain
If WMVVideo is used alone there isn't any audio / video sync problem.
It could be a compatibiltiy issue of Haali filter with Ffdshow tryouts or simply a bug of Ffdshow tryouts. My apologies for wrongly assuming Haali Filter could have been the cause :-)
Haali
8th March 2007, 22:48
here(AVC1+mp2(3?) 38.84MB ) (ftp://mplayerhq.hu/MPlayer/samples/V-codecs/h264/hdtv-interlaced/sky_720p_test_why-cant-i-overwrite.ts)
is a .ts sample Haali Media Splitter(ts) 1.7.100.18 worked with problem, didn't recognise video, audio pin output able to connected with audio decoder(mpg123 and MAD DirectShow Filter 1, 0, 4, 5),but there is no audio.
gabest mpeg splitter (1, 0, 0, 4) and MainConcept MPEG Demultiplexer (1.0.8408) work ok with that .ts sample.
The stream seems to be missing access unit delimiters that are mandatory for H.264 in transport streams. My splitter requires AUDs to recognize H.264 video. As for audio, I'll check what's wrong with it.
madshi
9th March 2007, 00:01
(1) Seeking in H.264 EVO (MPC + CoreAVC) doesn't seem to work at all for me. The sound plays, but the image doesn't. Most of the time one frame is shown, but no more. Sometimes not even one frame is shown.
I have to take this one back. Seeking does work fine, I just didn't wait long enough. My fault, sorry...
Haali
9th March 2007, 00:11
I wouldn't call it fine, but at least it's not completely broken. I'll try to improve that in future releases.
ilpippo80
10th March 2007, 12:50
I just installed the latest version of Haali's splitter, I don't have the previous problem anymore with vsfilter and with ffdshow...
I don't know if Haali fixed it or if there was something broken with my install (I think it shouldn't be the second, I updated regularly Haali's splitter and noticed this problem a few weeks ago)...
Henrikx
10th March 2007, 18:25
@Haali
Haali interprets xml incorrectly ?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Tags SYSTEM "matroskatags.dtd">
<Tags>
<Tag>
<Simple>
<Name>TITLE</Name>
<String>WHAT DREAMS MAY COME - HINTER DEM HORIZONT</String>
<TagLanguage>und</TagLanguage>
<DefaultLanguage>1</DefaultLanguage>
</Simple>
<Simple>
<Name>ARTIST</Name>
<String>ROBIN WILLIAMS - CUBA GOODING JR - ANNABELLA SCIORRA</String>
<TagLanguage>und</TagLanguage>
<DefaultLanguage>1</DefaultLanguage>
</Simple>
<Simple>
<Name>DESCRIPTION</Name>
<String>MKV x264 Vorbis</String>
<TagLanguage>und</TagLanguage>
<DefaultLanguage>1</DefaultLanguage>
</Simple>
<Targets>
<TargetTypeValue>50</TargetTypeValue>
</Targets>
</Tag>
</Tags>
http://www.onlinestuffs.com/pictureupload/thumbnail16/qyf9s349p3u5kuzrp6t7.jpg (http://www.onlinestuffs.com/pictureupload/picview16.php?pic=qyf9s349p3u5kuzrp6t7.jpg)
Henrikx
10th March 2007, 18:35
....that the wrong thread,here I am correct.
http://forum.doom9.org/showthread.php?p=968514#post968514
orbitlee
11th March 2007, 12:02
A sample m2ts from blu-ray which contains h.264 video and LPCM5.1 audio(5 audio tracks total)
http://www.sendspace.com/file/d29kxj
When I use sonic hd demux(in sonic decoder pack 4.2), both audio and video are OK.
For audio part, Haali Media Splitter(ts) can't find the LPCM5.1 audio track, others are found.(I understand that LPCM support is still incomplete, just want to provide a sample)
For video part, when video pin connects to coreavc 1.2, it will only show green screen. when video pin connects to cyberlink h.264/avc decoder, screens looks good, but will lost some frames for every 10-20 seconds. I checked the h.264 es, looks like there are short NAL start code(00 00 01 instead of 00 00 00 01). Is it possible reason?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.