Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My condo complex was burglarized last week and I've been tasked with retrieving the video from our security system to provide to law enforcement. The system is an older DVR (DiViS DVR - warning: PDF link to user manual. In the past there have been issues with police being able to read the DVDs we provided them. I'm beginning to see why.

The DVR runs on a Windows XP machine with camera recording software. The videos themselves are stored in a proprietary binary format, so I need to use the software that comes with it in order to export video.

The software has 3 options for exporting video: AVI, MP4, and MP4+EXE. None are particularly great.

AVI generates an enormous AVI (Uncompressed RGB) that isn't usable. The video becomes choppy, and numerous players and codec tools have issues with the file. The videos are essentially useless.

MP4+EXE generates an EXE that is an embedded player. The video looks fine, but the player controls are awful (you can't skip around, and if you begin to fast forward you're stuck at that speed until you quit the app). It's nearly unusable.

MP4 produces a highly compressed MP4 file (very quickly - this must be the native storage format). When I try to play it at home, the colour streaks badly and occasionally VLC will error and have to close the file. Looking in the user guide linked above, they say this about the file:

DiViS AVI file (.mp4) format which only can be viewed by DiViS AVI Viewer.

On the manufacturer's site they say this about the codec:

Using proprietary MPEG-4 Codec, a technology developed by our company, you can compress real-time image quickly without the noise and screen distortion.

So their codec is largely MP4, but clearly modified from the standard. It explains why I can sort of play the videos on my PC (using a standard MP4 codec).

So I'm left thinking my best option here is to transcode the MP4. By installing viewer software from the manufacturer (it's identical to the one built into the MP4+EXE), I can play the MP4 files on my PC. It's not registering the codec for Windows, however - the videos still don't play correctly in VLC.

In the viewer's install directory is an MP4CODEC.DLL. This seems to be what I need to properly decode the file. It's not, however, a documented DLL and appears to be obfuscated (W32Dasm looked like gibberish when I loaded the DLL). Unless there's a way I can try to register this DLL as my MP4 codec in Windows, I don't think I can do anything with the DLL.

I'm left with a video playing clearly on my PC provided I use their proprietary player. Are there any tools I can use to capture the video from the program and dump it into a more usable h264 AVI? I'd like to avoid screen capture software.

If that can't be done, can anyone suggest another strategy?

share|improve this question
That sounds like an interesting issue. Don't know a lot about Windows, so I probably can't help you there, but what exactly went wrong with "numerous players and codec tools have issues with the file"? Which codec tools did you try? – slhck Jan 15 '12 at 10:39
Have you tried contacting the manufacturer why their software sucks so bad? – Baarn Jan 15 '12 at 10:54
@slhck: "issues" generally manifested either in a refusal to open some of the files (though all were exported in the same manner), an inability to start playing, frames freezing for the remainder of playback, complete inversion of colours (fluorescent green everything! woo!), and frequently an inability to skip through the file. A file consistently behaves the same way, but it's different for each one. It leads me to believe that this codec is just slightly out of sync with the mpeg-4 standard. I'm happy to work in OS X or Linux, but this custom codec is a Win32 DLL, so I assume I'm stuck. – Stefan Mohr Jan 15 '12 at 19:27
@Walter Maier-Murdnelch: From the state of the software, I expect it to be completely unsupported now, as the software is at least 5 years old and had never been updated. Regardless of my assumption, however, the police are coming for the footage on Monday, so I don't have the time needed to talk to them during business hours. :( – Stefan Mohr Jan 15 '12 at 19:30

Having enough Space, I would choose the Uncompressed, to get it out of the propritary format. then Re-encode the uncompressed into a format that is widely used.

Here is why. When De-Re-encoding a codecs compression scheme, the software, is decoding the whole thing first anyway (UNcompressed). Then that uncompressed video is recompressed into the other format. (that process is done in memory where it is faster) When you get a video that is already compressed, and you have to transcode it Again, there is a lot more loss and artifacts involved. Basically you have 2 De-Re-encodes going on instead of just the one.

You probably can install the dll properly as a codec for decoding the video, it probably IS the code for decompression. Avisynth might be the thing to try for a dll, I just dont know. I would not want to figure out totally how to get the codec working IF it was possible to get and work with uncompressed, for a one time thing.

On rare occurances such as these "super" can often decode some really odd stuff. But IF getting a fully uncompressed video is possible, then you have the De-code done, and then all you have to do is Re-encode it. So I would prefer the uncompressed to the propriatary.

That just leaves one more possible problem, the "uncompressed" itself is of a propriatary format for the audio or video. Because you can play it, you probably can now Encode it into a compressed format. Use something like virtualDub. If it is a nasty security cam footage, there are some great filters for virtual-dub that could clean it up (also Avisynth could too, but V-dub has better visuals).

When it comes to DVD, that is also another De-Re that might be totally unnessisary , there are many DVD authoring programs that can handle the Uncompressed, and put it into the proper Compatable MPEG type formats for a "book" DVD. The DVD that is handed out, should be the fully compatable dvd format that is used on standard DVD players, not some files tossed onto it with some player. (if possible)

Adding making a In-spec DVD for consumers to the whole scenario. I would want to go straight from the uncompressed, to the DVD. or If I was going to edit or process the video , I would want to process and edit uncompressed (slow and painful), then when it came to the DVD encode, that is the last place it gets compressed.

In short, dont de-re-compress into lossy formats, whenever possible, you can still finalise with something that is transportable and compatable.

Mp4 propriatary ---> UNcompressed --> Mpeg4 popular re-compress ---> uncompress again ----> de-re to mpeg for dvd.

Mp4 propriatary ----> Uncompressed ---> Compress to Mpeg for dvd

share|improve this answer
I did try the uncompressed route and found the resulting video unreliable. I am guessing that the software is converting 10fps mp4 into 30fps uncompressed, and as a result it's producing a lot of timing issues (the same export with mp4 vs AVI are different durations by several minutes, ecch). Indeed, VirtualDubMod gives an error when I try to play the uncompressed AVI (and won't even load the MP4). I think my starting point may be to re-export the video using a wider time range to see if the AVI was truncated due to a consistent bug and not an issue with a specific group of frames. Thank you! – Stefan Mohr Jan 15 '12 at 19:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .