VideoNow PVDTools Page

What is PVDTools?

PVDTools is a set of handy tools to convert files to and from the VideoNow PVD-Audio format(called VNCD by the VideoThen tool's documentation).  This page is a blog and a set of documentation on the format. PVDTools is written completely in ANSI C(so it runs on everything with a C compiler) and is under the GNU GPL.

Download Here

12-20-03, 11:44 AM

Sorry for lack of updates, I've been pretty busy with school and haven't had a lot of time to work on PVDTools.  Right now I'm rewriting my AVI documentation so that it is a little more clear.  I'm also working on a program called "aviparse" to parse AVI files, and it will eventually extract frames.  I should have a working encoder by Wednesday.  BTW, Avery did respond, and I got a lot of tips, though they were mostly on writing AVI files for playback or reading them for playback(neither of which I'm doing, I'm reading to extract).

12-14-03, 12:39 PM

Too sick to code, please leave a message after the tone.

12-13-03, 2:35 PM

I've finnaly finished by AVI File documentation, I've sent an email to Avery Lee(VDub author) asking him to look over it and be sure that everything seems right.  I'm not expecting a resonce but if he does respond it'll be great.  I'm going to start programming the AVI parser tomorrow weather or not I get a responce(I'd start today but I've done enough reading and I had to get up at 6:00 AM after staying up till past 11 last night downloading AVI documentation).  If you'd like a copy you can find it here.  Now to take a break and watch some TV...

12-12-03, 10:55 PM

Yes!  I found a site that has a pretty complete archive of official Microsoft AVI documentation(most of it is 5+ years old, some of it is in Word for Windows 2.0 which I will have to see if I can open with Word XP) and some from other sources.  I'm still writing my own documentation, mostly for my own understanding, so I probably won't be doing any actual programming until Sunday(12-14-03).  Since the site(linked above) is so slow, I'll put all of it here later.

12-12-03, 3:35 PM

Wow, the AVI format is much harder to work with than I though(much harder than the WAVE format) and the worst part is that there is very little documentation for writing file I/O routines(or something).  Right now I'm trying to pull together all the information I've found into one comprehensive file.  I've also e-mailed Avery Lee(VirtualDub Author) asking if he knows where I can find good AVI documentation.  I'll post the document when I'm done figureing out the AVI file format.

12-12-03, 6:11 PM

I got DevC++ installed, I don't like it as much as RHIDE, but it sure is much more stable and it's easier to use.  I've been reading up on implimenting command line argument parsing, it looks pretty hard, but then again so does programming in general.  I'm trying to disect the timing data right now.  After I'm finished with the encoder(alpha2), I'm going to add command line parsing to all the tools(alpha3 for decode, alpha4 for encode), and then put them all together into two programs(pvd-decode and pvd-encode, beta1 and beta2).

12-12-03, 3:30 PM

I figured out how to use SourceForge yesterday and moved the site over.  Right now I'm starting work on a set of tools to encode video, well as soon as I install DevC++ to replace the very buggy RHIDE I was using before.

12-11-03, 7:31 PM

Back to school(totally sucks all my time).  Anyways, I got my SF project approved.  Right now I'm trying to figure out how to upload them to the server.  Go here for all current and future releases.

12-10-03, 7:10 PM

Sorry it took so long to release, I had to go to work before I finished sorting through everything.  You can get Windows binaries here and the source code here.  Enjoy!

12-10-03, 3:38 AM

Woo hoo!  I finally got a working frame extractor!  Now I just need to clean up my code, recompile everything, and upload it(to my temp server)!  I've tried to run this page through a spellchecker but there are too many technical words that it doesn't  know so I guess it will stay sloppily spelled(and havening(joke) bad grammer).  Todo:  start a SourceForge project.

12-10-03, 2:28 AM

Finally figured out where the source to VideoThen was(hint to non-java people:  .JAR files can be opened and browsed(like .tar or .zip)).  I'm also almost complete with the frame extraction program(woo hoo!  offset problem solved!)

12-10-03, 1:23 AM

Posted blog to net.  Todo:  fix xtract/xtract4 offset problem, add support to extract multiple frames.

12-10-03, 11:09 AM

Video FrameSuccess!  IrfanView(my favorite image viewer for Windows) didn't like my binary(P5 mode) 16 gray PGM file so I switched over to the ascii mode (P2) and it's well, different(as you can see at your right.).  I never expected it to be this jagged, but it certainly is slightly clearer(?) than the 40x80 one below.  Perhaps the jaggies are just a side-effect caused by the VideoThen program(after all, I have no clue how it does it's 24 to 4 bit conversion).  I really gotta get a real PVD.

12-10-03, 9:45 AM

Hmm... I might just try experimenting with bit-wise operations to split the 8-bit bytes into two 4-bit bytes(stored in 8-bit bytes).  I don't think that anyone has tried to extract the true 4-bit pixels yet.  This should double the horizontal resolution and make the picture look better!  First I gotta do my e-mail.

12-10-03, 9 AM

Yay!  I got imagemagick convert to work!  Now to study the output... It only seems to resize the image.  Very interesting.

12-10-03, 8 AM

Started blog.  So far I've written 4 programs(strip-removes RIFF header, split16-splits 16-bit raw audio files into 2 mono raw audio files, split 8-same as split16 but for 8-bit files, addh44-8-adds RIFF header for 44100Hz 8-bit mono file to raw audio data) and I've started work on a 5th(xtract) to extract a frame of video.  I'm mostly basing that program on a shell script I found at  As soon as I've finished that program I'm going to get a SourceForge account and setup a project called PVDTools to host this stuff.


Video FrameWell, xtract works, kinda, and I can't figure out what the convert -geometry 80x80 does... and the frames are viewable, but there are grey bars at the tops or bottoms and they look offestted, I think that I have my seek offsets wrong.  PNG at right, PGM(grayscale PPM) here.  Oh yeah, and I extraced the audio yesterday.  Heres an FLAC.  I suppose you should know that I'm testing a file written by VideoThen becuase I'm too cheap to buy a real VideoNow disc.  I converted the VH1 Classic All Request Hour 7-second animation and now I'm trying to extract it(so I can write my own program to convert files over, VideoThen, IMHO, is pretty bad about it's input-sensetivity and I would like to provide an alternative that would be more forgiving otherwise it has very few other faults(such as non-functional about box)).


See this for pretty good documentation of the format.