Software Video Generator

Hi,

I’m looking for a piece of software that could generate video files on a PC. No, not convert, record or edit. Generate. I need some video files with specific properties and I don’t really have the time to write a generator right now. I have a rather broad set of things I need to be able to accomplish and it’s not realistic to expect one piece of software to be able to accomplish this, but I have editing tools at my disposal and I’m hoping to at least find SOMETHING. So far the closest thing I could find was a hardware MPEG-2 signal generator. Maybe I’m using incorrect terms here?

Here are the things I am trying to accomplish quickly in order of priority:

  1. Generate a 3-4 hour long AVI file with a DivX/XviD MPEG-4 video stream and an MPEG-1 Layer II (or PCM, really) audio stream that has audible beeps corresponding to flashes in an off-beat pattern that can be used to analyze playback sync.

  2. Generate an MPEG-4 video according to given spec (GOP size, max number of B-frames, bitrate, etc.) with each frame visually labeled as it’s resulting encoding type, frame number and optionally timestamp (i.e. black frames with white text that says things like “I - 124 - 00:00:04:0133” and “P - 125 - 00:00:04:0166”)

  3. Generate a long stream of audio and video noise that is hard to compress.

  4. (Very optional) Overlay something like #2 over an existing MPEG-4 video without changing the frame numbers/order (obviously it would have to be recompressed and quality degraded to maintain bitrate).
    Thank you very much,

Groman

Look at AviSynth, a tool for generating/manipulating video on the fly. You write a script (which can reference plugins, still graphics, video files, audio files, etc.), then open it in any program that can work with AVI files (e.g. VirtualDub), and AviSynth works behind the scenes to make that program think it’s opening a real AVI file.

You can probably find plugins for generating beeps and aural/visual noise. Labeling frames with their timestamps is easy; labeling them with their frame types isn’t so easy, because those are determined by the encoder, and AviSynth doesn’t do any encoding itself. But if you can use fixed GOP lengths to determine in advance exactly how the encoder will encode each frame (possibly using VirtualDub to verify the frame types after they’re encoded), you could put the labels in there with AviSynth anyway and trust that the encoder will handle each frame the same way as you’ve labeled it.