DivX Connected: Another hack

As I already said here there is no way of getting the Haali Splitter to split MPEG-I files. So what we would need is another splitter.

The only two splitters freely available for splitting MPEG-I I could find are MPEG-I Stream Splitter, which is included in quartz.dll, the central library of the Microsoft DirectShow installation and Gabest’s MPEG Splitter.

Unfortunately both of them confront us with a new problem. The original Microsoft filter additionally needs a file source filter which it then can connect to. This would mean we’d need to insert two filters to the demuxer section for one media type, which we can’t.

Gabest’s MPEG Splitter comes in two variations, as MPEG Splitter (same problem as with the MS filter, it additionally needs a file source filter to work) or as a combined MPEG Source / Splitter filter which is actually the same way as Haali works.

Unfortunately the filter from Gabest will always create an output pin for subtitles, even if the media file doesn’t contain any subtitle streams. It seems that the Connected Server software doesn’t like that fact, and doesn’t know how to deal with this pin and thus will fail.

In other words, it seems that we’re in general pretty much limited to media that can be dealt with by the Haali splitter, as it is one of the few filters that comes as a source- and demuxer-filter combination.

This leaves us two possibilities: Either re-encode unsupported media to DivX or wrap your footage into the one container that Haali splitter originally was made for. And that is: MATROSKA!

The advantage of this solution is, that it is fast (a matter of two or three minutes for a 90 minute movie) and that video and audio will stay as they were, untouched. We only move them from one container format into another one. (It’s similar to unpacking a present from the manufacturer’s box and putting it into a gift box! The present will still be the same, but it’ll look nicer!)

So how’d you do that? Normally you’d use MKVMerge from MKVToolnix. Download it here!

For MPEG-I this unfortunately won’t work, as MKVMerge, prior to muxing your media into Matroska container, needs to split the files into it’s elementary video and audio streams. For doing this it relies on the Haali splitter. And as we already found out, Haali can’t split MPEG-I files.

Fortunately there’s gdsmux.exe! It comes with the Haali Splitter. You should find it under C:\Program Files\Haali\MatroskaSplitter .

Start it through double-clicking,  right click on its work area, "Add Source", set the file filter to "All files" and pick your MPEG file. Select your output destination by clicking on the “...” – button and enter a file name, ending with “.mkv”. Then click the “Start” -  button. A few minutes (or seconds, depends on your file size) you got a Matroska file that will play on your box like a cham.

@ae from www.connunity.com: This method should actually solve your VOB problems as well! It seems that your problems don’t come from the de-/encoding process, but from seeking in the VOB container. Haali’s support for Matroska is much better than for VOB. (You even have the choice! You can use MKVMerge or gdsmux.)

Allow me a personal comment: I know that for you guys this most likely will only seem to be a dirty hack. For me and and some others from the DivX forum, it means a wish came true:

DivX is finally going MATROSKA! Hooray!

Merry Christmas to you all!
 

Subscribe to Comments for "DivX Connected: Another hack"