TiVo-VideoReDo-AutoProcessor Program

dlflannery

Moderator
TVAP Ver. 0.57

24 February 2008 Ver. 0.57
- Handles process priority setting of new Ver. 0.9.2 Handbrake CLI executable name ("HandBrakeCLI.exe") in user TVAPpostProcess.cmd batch file. Continues to handle old executable name ("hbcli.exe").

Reminder: You can download a TVAPpostProcess.cmd file that uses HandBrake to create xvid/avi encodings of your VRD-processed mpeg2 files at this mediafire.com link. On an initial test, it appears to work as-is with the new HandBrake CLI version, if you edit in the right .exe name.
 

dlflannery

Moderator
TVAP Ver. 0.58

- Files waiting for manual editing/cuts now remain on the file list, even if the TiVo file
has been deleted. The Status for these is "AWAITING CUTS". This allows you to change the
Do Postprocess and Delete QSF settings for the file.
If the Tivo file is gone and you click the Reset button, you get a dialog offering to
let you remove the file from the list -- which will also mean it is no longer waiting for
manual editing/cuts.

- Two delete QSF buttons: Default Settings and per-file. If your process includes QSF followed
by AdScan (with or without autocuts), the intermediate QSF file will be deleted after all
processing on the file is done -- including manual cuts and post-process batch file.

Since this change added new elements to the XML data file, you will get the initial startup message about can't find a valid file. You can avoid this with some editing work on the file:

1. Add this line:

<DeleteQsfFiles>true</DeleteQsfFiles>

Anywhere in the <ConfigurationItems> section.

2. Add this line:

<DeleteQSF>true</DeleteQSF>

anywhere in each <TivoFileData> section.

Of course you can change "true" to "false" per your preferences.


I've done a fair amount of testing but with all the possible combinations of file types, sequences and settings it's not practical to do exhaustive testing. So I won't be surprised if you find a bug or two. Please try to furnish a detailed description if you find one.
 

goodtrips

New member
Do you have VRD TVSuite?

With VRD Plus there was no way to control the QSF filter size via the COM interface (which is what TVAP uses). However I searched the forum for "filter" in response to your post and found these posts which say this control has been added to VRD TVSuite, and indeed it does show up in the help for it..

If you're interested I could give you modified .vbs script files (which are used by TVAP) with this filter hard coded to 544x480. You would sub these for the ones distributed with TVAP (temporarily, saving the originals of course).

You have to have TVSuite for this although you could free-trial it long enough for these tests.
Sorry to bump this topic again, but I never saw any resolution come from the earlier post. I'm having the same issue with TV Suite choking on SD recordings with commercials that have a 352x480 resolution (From a TiVoHD unit).

Adding the command to the VBS file seems simple enough, but because valid recordings can be in multiple dimensions (480i, 720p, 1080i) I am hesitant to hardcode 1 resolution into the command -- it's possible I am just misreading the documentation, however.

Is it possible to add the line so that it the filter only excludes video only with a dimension of 352x480 and allows the rest?
 

dlflannery

Moderator
QSF Filter

Sorry to bump this topic again, but I never saw any resolution come from the earlier post. I'm having the same issue with TV Suite choking on SD recordings with commercials that have a 352x480 resolution (From a TiVoHD unit).

Adding the command to the VBS file seems simple enough, but because valid recordings can be in multiple dimensions (480i, 720p, 1080i) I am hesitant to hardcode 1 resolution into the command -- it's possible I am just misreading the documentation, however.

Is it possible to add the line so that it the filter only excludes video only with a dimension of 352x480 and allows the rest?
I dropped the subject after the only user who showed interest decided not to pursue it.

For a given QSF run VRD can only use one filter size -- there is no capability to include all sizes except a specified one.

It would be possible to add a command-line option (e.g. -f544x480) to TVAP that would cause the filter to be set to the specified size. I suspect this is of little value to you.

There is no automated solution when you have to be able to handle different resolutions for different video files. You have to know or determine the desired filter resolution before starting the VRD QSF process.

I'm limited somewhat on this topic because I don't have a source of multi-resolution files. The thought occurs that there might be a clever VBScript algorithm that would scan a file and determine the "dominant" resolution. If anyone has any info along those lines, let me know. (And I have to get a multi-resolution clip to test on.)
 

goodtrips

New member
As always, dlfl, thanks for your attention. I know this is really a shortcoming of VRD, especially since the marketing material speaks to compatibility specifically with TiVoHD content. I have submitted this as a feature request in the past.

If you have an example VBScript that you have time to post, even if it was to set the filter at a fixed size, I'd be happy to play around with it, although I have my doubts I'm clever enough to pull it off.

Keep up the great work on TVAP! The app is absolutely solid, and I can't begin to tell you how much easier it has made what was a daily, manual task.
 

dlflannery

Moderator
.................If you have an example VBScript that you have time to post, even if it was to set the filter at a fixed size, I'd be happy to play around with it, although I have my doubts I'm clever enough to pull it off....................
First see this thread, especially starting at post #3. If VRD provides this COM function, automatic handling of filter dimensions will be possible. I was encouraged by DanR's response.

What I would do is provide you with a "special" replacement version of one of the VBScript files that TVAP uses (doQSF.vbs). The only difference would be adding one line to set the filter dimensions. What dimensions would you like to start with? (You can easily change them with a text editor.) Then you just set up a QSF operation in TVAP.

I want to test this myself first so it might be a day or two. For example I want to find out what happens if you specify a filter size and there is zero content in the video that matches it, i.e., does it throw an error and/or create a zero-length file, or what?

Note this will only work with VRD TVSuite. I also need to find out what happens if you try to set the filter size with VRD plus.
 
Last edited:

goodtrips

New member
Great! So from an hour long recording from MSNBC, I manually doing a filter scan with 128 samples, I found that one recording had all 3 dimensions of:

352x480
528x480
704x480

I'm almost beginning to wonder if I drop the recording quality to Good or Medium (currently on Best) if that would have a more generic analog re-encoding effect where everything would share the same dimensions.

Happy to do some tests on my end as well with the modified VBScript. Thanks again for your help!
 

dlflannery

Moderator
I'm not having much luck with the SetFilterDimensions COM function so far -- see this post for details.

Edit: Working OK now after DanR gave me the secret decoder ring -- see THIS post.

So, I've attached the modified QSF.vbs file. Note the SetFilterDimensions statement on line 17. I set the size to 528x480 but obviously you can change it to whatever you want.

This replaces the QSF.vbs file in your TVAP installation folder -- but first be sure to rename the original or save it to a different folder -- just in case. You can disable the filter statement by just inserting "rem " at the beginning of the line.

If you have both VRD Plus and TVSuite on your system, be sure to start up TVSuite briefly just before you run TVAP for these tests. TVAP uses whichever version of VRD you most recently opened manually -- I don't know how to get around this.
 
Last edited:

goodtrips

New member
I've monkeyed around with this before, but I think I was having the same issue you were having with the syntax:

Code:
VideoReDo.SetFilterDimensions 352, 480
In the TVAP QSF.vbs script, would this then go at the bottom between

Code:
end if
and
Code:
videoReDo.close()
?

EDIT: Somehow missed the file you attached in your earlier post (doh). I'll run some tests on my end and let you know how it turns out.
 
Last edited:

dlflannery

Moderator
I've monkeyed around with this before, but I think I was having the same issue you were having with the syntax:

Code:
VideoReDo.SetFilterDimensions 352, 480
In the TVAP QSF.vbs script, would this then go at the bottom between

Code:
end if
and
Code:
videoReDo.close()
?
No, I think you missed my last edit to my previous post -- I attached the modified script file. I'll be curious to see how this works on truly multi-dimensional files such as you have.
 

goodtrips

New member
So far, have tried the filter with the following dimensions:
352x480
528x480

And it's chugging away currently on:
704x480

So the good news -- the filter command works, and my output after adscan with autocuts are only sequences of commercials in those dimensions. I'm assuming the 704x480 will be the same, but with the show content included this time.

Tonight I will try and run these filters on files that don't contain any of these dimensions (HD) to see what the output is.
 

goodtrips

New member
So far, the filter has successfully worked with these tested dimensions:

352x480
528x480

and predictably, the output file was only the commercials aired during the broadcast that were in these dimensions. it's currently chugging away with 704x480, but i'm pretty confident that will be the main show content.

i had a thought about how to integrate this logic (albeit ungracefully) directly into the QSF vbs file. The user could set up manual if/else statements based upon values in the tivo file name. So it would look something like:

if showname contains "msnbc" set VideoReDo.SetFilterDimensions 704, 480
if showname contains "daily show" VideoReDo.SetFilterDimensions 528, 480
else, no filter

The onus would be on the user to manually determine the dominant dimension of each file and modify the QSF script, but for season pass/auto transfers it would be a set it and forget solution.

...just a thought.

EDIT: Sorry for the double post... original reply was not showing up originally.
 
Last edited:

dlflannery

Moderator
So far, the filter has successfully worked with these tested dimensions:

352x480
528x480

and predictably, the output file was only the commercials aired during the broadcast that were in these dimensions. it's currently chugging away with 704x480, but i'm pretty confident that will be the main show content.

i had a thought about how to integrate this logic (albeit ungracefully) directly into the QSF vbs file. The user could set up manual if/else statements based upon values in the tivo file name. So it would look something like:

if showname contains "msnbc" set VideoReDo.SetFilterDimensions 704, 480
if showname contains "daily show" VideoReDo.SetFilterDimensions 528, 480
else, no filter

The onus would be on the user to manually determine the dominant dimension of each file and modify the QSF script, but for season pass/auto transfers it would be a set it and forget solution.

...just a thought.

EDIT: Sorry for the double post... original reply was not showing up originally.
Interesting idea. If you want to pursue it on your own and are not fluent in VBscript, here is a good tutorial site.. Look in the reference area and at the string functions. InStr performs the "contains" function. I don't have much VBscript experience myself but am able to muddle through with help from sites like this and the examples in the VRD help, plus experimentation.

I'm hoping VRD will come up with the function to determine the dominant size before long. I would think they need to do something along these lines in VRD just to properly serve customers like you. It would also be possible to integrate your idea into TVAP based on an optional user-supplied list, with default behavior if the list isn't present.
 

goodtrips

New member
It took a lot of VBScript fumbling and bumbling, but I think I got it:

Code:
if instr(Args(0), "the foobar show") > 0 then
   VideoReDo.SetFilterDimensions 704, 480
elseif instr(Args(0), "foobar with the stars") > 0 then
   VideoReDo.SetFilterDimensions 352, 480
elseif instr(Args(0), "foobar tonight") > 0 then
   VideoReDo.SetFilterDimensions 704, 480
end if
Knock on wood, but least so far, seems to be working great for me. It will let HD content passthrough the filter statements unscathed, and the show title keywords seem to be working successfully. If anyone sees anything ridiculous with my hacked together code, though, please let me know (or at least keep the laughing to a minimum).

Thanks again for your help, dlflannery!
 

dlflannery

Moderator
It took a lot of VBScript fumbling and bumbling, but I think I got it:

Code:
if instr(Args(0), "the foobar show") > 0 then
   VideoReDo.SetFilterDimensions 704, 480
elseif instr(Args(0), "foobar with the stars") > 0 then
   VideoReDo.SetFilterDimensions 352, 480
elseif instr(Args(0), "foobar tonight") > 0 then
   VideoReDo.SetFilterDimensions 704, 480
end if
Knock on wood, but least so far, seems to be working great for me. It will let HD content passthrough the filter statements unscathed, and the show title keywords seem to be working successfully. If anyone sees anything ridiculous with my hacked together code, though, please let me know (or at least keep the laughing to a minimum).

Thanks again for your help, dlflannery!
Good deal! I've got to look into this "foobar" show that you seem to like so much! :D
 

dlflannery

Moderator
TVAP Ver. 0.59

16 April 2008 Ver. 0.59
- Added command line option "-hotstart". If present, TVAP starts processing on startup without
clicking the Start Processing button, and minimizes itself (after the usual 18 second delay
to check for new TiVo files).

Add the option (and/or the -p# process priority option) as follows in the Target section of the TVAP shortcut properties:

"<Path>\Tivo-VideoReDo-AutoProcessor.exe" -hotstart

Also remember with this option you will not have a chance to review process settings for new tivo files prior to starting processing.
 

dlflannery

Moderator
TVAP Ver. 0.59a (Installer change only)

20 April 2008 Ver. 0.59a
- No changes to program.
- Installer changes:
1. TivoCom.dll (TivoDecode COM file for reading metadata from Tivo files) is now installed
in C:\Program Files\Common Files\TivoDecode folder.
2. The shared DLL counting feature of Windows registry is used to count number of programs
currently using this DLL. Uninstall will not unregister or delete until count is zero.
These changes were needed because two programs that I know of (TVAP and pyTivoMetaGen) both
use the same DLL and uninstalling one could cause the other to stop reading metadata. Also
to get the DLL out of the system32 folder which is not recommended. It is hoped but not tested
that the installer will provide a functioning TivoCom.dll install on Vista x64 systems now.

Note: If you use both TVAP and pyTivoMetaGen you should uninstall both and reinstall them with the latest versions. This will keep the registry tracking of programs using the TivoCom.dll from getting confused. The new version of pyTivoMetaGen (0.35a) is also an installer-only change to implement TivoCom.dll sharing and counting.
 

dlflannery

Moderator
TVAP Ver. 0.59b

No functional program changes.

This installer and program build will install and run TVAP correctly on either a 32bit (x86) or 64bit (Vista x64) system.
 
Top Bottom