Skip to content

Video Surveillance and H.264 DVR boxes

September 27, 2013

Our product Vindex is being enhanced significantly for version 2. It is getting video enhancement as well as a new frame reader and both are set up to use NVIDIA graphics cards as a GPU co-processor, which will greatly speed up processing.

While Vindex is a great tool for all sorts of digital video, with this release there is a special focus on surveillance video. And in order for that to work we needed to learn quite a bit about the state of things with video surveillance, especially the cheaper DVR boxes that are marketed through retail channels. What Vindex will offer is a huge benefit for getting the important stuff out of a bunch of video files and doing it very quickly.

So, I thought it would be worthwhile offering some insights into the current state of things with these boxes. I have seen a number of posts in various forums from people asking about what format the files stored on these boxes are in and what can be done with them. Most of the time there have been no responses, or no informed responses. Too bad, actually, but that is the way of things.

What Are These .264 Files, Anyway?

Most of the DVR boxes seem to record files and back them up to external media in the form a complicated file name with date and timestamps and then a .264 extension.  Often people are led to believe that only software provided by the company that made the DVR can play these files and that they are in some proprietary format.  While there may be some exceptions out there, for the most part these .264 files follow a very simple structure:

  1. There is a header on the file which contains the recording start date and time.  There is a 2nd time stamp present which may, in some cases, be the ending time.  The channel number is also present in the header.  There is also an identifier MDVR96NT_2_R present in this header as well which is useful for identifying the files.  There can be a lot of other information in the header as well, but this does not appear to be standard in any way.
  2. There is a simple, naked H.264 video stream.  This contains NALs as described by the H.264 documents and nothing else.

That’s it.  Nothing else there at all.

A problem for some players is the fact that the information that describes the structure of the video (dimensions, color format, etc.) is present in the stream periodically and not at the beginning in many cases.  The thinking seems to be that the frames occurring before the format information would simply be skipped over by the proper sort of player.

The key takeaway here for people is that a .264 file is not MPEG4 video, it isn’t Quicktime video either.  Virtually none of the common video tools will convert or play these sorts of files.  So what can be used?  From what I have seen your choices are limited to those tools which are specifically for DVR .264 files.  VLC or VideoLAN will not work.  It does appear that the tool “mplayer” will play these files as long as the frames per second (fps) is specified.  It is important to note that virtually all of the DVR player tools work with all of the various files created by different machines.

My belief, based on little more than examining the files from a few of these DVR boxes, is that there is a common chip being used to do the H.264 compression and that chip comes with an application note and/or sample software.  Hence the extreme commonality of the output files used with nearly all of these devices.  There does not appear to be any sort of published standard for this.

Our exploration of the world of surveillance video and the output files created by common DVR systems will continue and further information will be posted here.  If you have information or questions about this, please email me directly at paul (dot) crowley (at) infinadyne.com.

Version 2 of Vindex will read, analyze and display video from these “naked” H.264 video files.  With the proper CODEC installed, it will process any digital video file.  When an NVIDIA graphics card is present, it will be used to parallelize the processes of video enhancement and analysis.  Vindex version 2 is expected to be released Q4 of 2013.

Advertisements
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: