View Full Version : VirtualDub.video.SetCompData() ?? how do i set this for XviD 2-pass?
BITS
10th July 2004, 01:14
im trying to take my captures from the television and do from a batch file...
1. encode my video from capture.avs to XviD 2-Pass
2. save a .wav and encode to ogg or mp3
i see the SaveWAV function in the help file.
how do i set the VirtualDub.video.SetCompData() for XviD 2-pass? i know it should be different for each pass right??
that and i see GetRange()..i assume i have to use that to get the total frames to use VirtualDub.subset.AddRange() ? This needed?
again, all im trying to do is do a 2-paxs xvid on captures and encode the audio. it doesnt even have to be muxed for all i care. but i have to use .avs
gircobain
10th July 2004, 02:16
Why don't you use VirtualDub's builtin job control to process those files?
BITS
10th July 2004, 17:13
what are you talking about? i dont see that in the cli switch's or the scripting help. (im using the help.chm with vdubmod).
pls explain what you mean?
gircobain
10th July 2004, 17:37
VirtualDub GUI has a job control facility, which allows you to queue your encodes and setup each one as you wish
I don't get why you are trying to do it from the command line
If I'm missing something please enlighten me :confused:
BITS
10th July 2004, 22:36
Why are you telling me about the GUi? Do i have to explain why i want to use it from a script? i hope not.
i record my cartoons in huffyuv, i need to encode them to XviD. remember most of us are not at the computer 24/7, and we dont want multiple gigs just sitting there for 1 cartoon.
i want to encode them while im working or just away...but i cant do this properly if i can write my own script to suit my needs.
if anybody can help at all its much appreciated.
gircobain
10th July 2004, 23:03
Originally posted by BITS
Why are you telling me about the GUi? Do i have to explain why i want to use it from a script? i hope not.
Well, in the end you did explain, and after that all become much clearer
If you have the settings for both passes beforehand, you could just set them up in the GUI and save processing settings, then you'd be able to pick the SetCompData line off the resulting vcf file
Although I think you might be wanting to compute the SetCompData value off the registry settings
I've been searching for that information as well, so far didn't find any documentation on it other than "CompData is a base-64 encoded string (MIME BASE64)"
Leak
11th July 2004, 11:42
Originally posted by gircobain
I've been searching for that information as well, so far didn't find any documentation on it other than "CompData is a base-64 encoded string (MIME BASE64)"
It's just the VfW configuration data structure that the codec returns to the application that's using it encoded as BASE64, i.e. taking 8 bit data bytes and making a string of printable characters out of them so you can store it in a text file.
This data structure can change with every release of the XviD codec, so writing an application to generate those is more or less futile - do what I do: I set up my first and second pass settings in VirtualDub, save the processing settings for each pass in different files and just copy out the SetCompData line for the job files I create.
You could probably also use something like
avs2avi version.avs -e -s pass1.bin
uuencode -m foo < pass1.bin | tail +2 | grep -E -v "^====" > pass1.txt
and build your SetCompData line from there...
Then again, you might want to use AVS2AVI (http://www.avs2avi.org/) for encoding the video anyway, it's more or less a stripped-down mostly command-line version of VirtualDub...
np: Future Sound Of London - The Far Out Son Of Lung And The Ramblings Of A Madman (ISDN)
gircobain
12th July 2004, 06:43
Originally posted by Leak
It's just the VfW configuration data structure that the codec returns to the application that's using it encoded as BASE64, i.e. taking 8 bit data bytes and making a string of printable characters out of them so you can store it in a text file.
Then I assume that an api call to xvidvfw.dll must take place in order for it to return such data structure
Would anyone know what such a call looks like offhand?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.