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.
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 sf.net 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
Success!
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 http://www.wsu.edu/~zocher/.
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.
Supplement
Well,
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)).
FILE FORMAT
See this
for pretty good documentation of the format.