PDA

View Full Version : TiVo-VideoReDo-AutoProcessor Program


Pages : [1] 2

dlfl
07-19-2007, 11:13 PM
Download or see complete readme description and instructions ***here*** (ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/).

Note: With ver. 0.80 now supports TV Suite 4 with MPEG4 outputs and profiles. See **this** (http://www.tivocommunity.com/tivo-vb/showthread.php?p=7736544#post7736544).

WHAT IS IT?

A free utility program for TiVo-to-Go (e.g., TiVo Desktop or TiVoPlaylist) users who use VideoReDo (Plus or TV Suite) for editing transferred TiVo files. It runs on a Windows computer with VideoReDo (VRD) and TiVo Desktop installed (for registry settings only). TVAP detects TiVo files being transferred and, when transfer completes, it automatically and silently runs VideoReDo processes on the files as configured by the operator in the program GUI. QuickStream Fix (QSF) and/or Ad Detective scans ("Ad Scans")may be run. Optionally, all three file types (.TiVo, QSF outputs and Ad Scan outputs) are moved automatically to specified folders after processing is completed, or the original .TiVo file is deleted. Output file types of MPEG2 (.mpg), DVD-VOB (.mpg), DVR-MS (.dvr-ms), TS (*.ts) and TiVo (.tivo) are supported. ALL configuration is via the GUI - NO MANUALLY PREPARED
CONFIGURATION FILES ARE REQUIRED!

You can also select a .TiVo file and click a button to launch the "normal" (interactive GUI) version of VideoReDo (Plus or TV Suite) with the file loaded. This allows you to set Ad Detective parameters or just to preview the video (or anything else VRD can do).

Several metadata items are read from the TiVo files (e.g., Description, Genre, Subtitle/Episode, Episode #, Movie Year, Recording Date/Time). These are displayed by right-clicking on the file in the GUI file list and some of them are inserted in DVR-MS output files. pyTivo metaData files are automatically generated and paired with output MPEG2 files.

TVAP will run a batch file of your creation after processing each .mpg, .dvr-ms or .ts file -- this is typically used to run HandBrake to create a .mp4 version.

You can configure to produce a project (.vprj) file with automatic (Ad Detective or ComSkip) cuts as your output file. TVAP remembers this and displays a status of "AWAITING CUTS" for this video. Then if you later review this project and save it with your modified cuts, TVAP will automatically call VRD to produce the final edited output video with YOUR cuts. For videos that are awaiting cuts the "Run VideoReDo" button will load the project file, ready for you to review and modify the cuts.

You have the option of using ComSkip for commercial detection instead of the VideoReDo Ad Detective.

Read the "Things to Know" section and the Change Log at the end of the TVAP-readme.txt file for more details.

THE BOILERPLATE:

VideoReDo is a trademark of DRD Systems, Inc.
TiVo is a trademark of TiVo, Inc.

TVAP is free and is not an official product of either VRD or TiVo, neither of which are providing
support for it, nor do they officially endorse it.

FEATURES:

- GUI Selection of VRD operations: Default and individual settings for each TiVo file. Specific files may also be "blocked", so no processing occurs.

- GUI selection of whether DVD-VOB, MPEG2, DRV-MS or TiVo output file format is produced.

- GUI selection of whether Ad Scan produces only the project (.vprj) file or
automatically applies the cuts to produce a final edited output file.

- On first startup, reads the Desktop TiVo transfer folder from the Windows Registry. If not detected, prompts the operator to select the folder to be monitored.

- Can launch independent GUI version of VideoReDo with TVAP-selected .TiVo file loaded.

- Totally automatic operation with real-time configuration allowed.

- Status of all .TiVo files in the transfer folder and all configuration settings,
are maintained in an XML data file between program runs, automatically updated on startup.

- Maintains and displays a log file of processing actions.

- Shows file name, current processing action, and progress bar for VRD processes and file moves.

- Many tooltip hints.

- Does not modify Windows Registry.

- TVAP is lightweight: Uses less than 20MB of memory exclusive of VRD requirements. Uses less than 1% of processor time when just monitoring for .TiVo transfers.

- Minimizes to system tray.

- File Folder in .vprj file created by Ad Scan is automatically modified if the scanned file was moved by TVAP (otherwise the .vprj file cannot be opened by VRD).

- For mpeg2 outputs, automatically generates a text metadata file that will automatically be used by pyTivo transcoding server (http://pyTivo.armooo.net) to attach metadata to files served back from pc to TiVo.

- For mpeg2, TS or dvr-ms outputs, if you place a batch file named TVAPpostProcess.bat or TVAPpostProcess.cmd in the final destination directory TVAP will run the batch file upon completion of VRD processing. The filename WITHOUT the extension and without the path is passed as the argument to this batch file. No configuration is necessary -- if the batch file is there it will be run.

- Integrated option to use ComSkip for commercial detection.

HOW TO GET IT:

VideoReDo has graciously allowed me to host the program on their FTP site. Point your browser to ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/

Click on the TVAP-readme.txt file to learn more, then click on the latest Windows installer file (setupTVAP###.exe) to download it -- the readme file will be installed in the installation folder.

Post here or PM me for questions or problems -- BUT please read the complete readme file first, particularly the "THINGS TO KNOW" section.!

I hope TVAP is of some use to you!

windracer
07-20-2007, 10:48 AM
Sounds cool ... I'll have to try this out.

windracer
07-20-2007, 09:09 PM
Seems to work as advertised ... if only I could make Ad-Detective more reliable!

dlfl
07-21-2007, 04:46 PM
Two noticeable improvements (plus minor cleanup):

1. Minimizes to system tray icon. Click icon to minimize/restore program window.

2. Progress bar now active for file moves.

Readme file updated and added Change Log section at end.

dlfl
07-21-2007, 05:11 PM
Seems to work as advertised ... if only I could make Ad-Detective more reliable!
Dan203 gave TVAP a quick trial and posted on the VideoReDo forum.

One of his comments was:

3) You should offer a way to actually launch VRD from the program so that people can adjust the Ad-Scan variables.
I've had almost no experience trying to tune Ad Detective. I usually let it run and do the cuts interactively. This can be done using the .vprj files automatically generated by TVAP Ad Scans.

Questions I have:
1. Do you agree with Dan203's suggestion?

2. If you adjust Ad Detective in VideoReDo separately (outside TVAP) can/will those settings carry over to when TVAP runs Ad Detective? (It must be either this or else default settings are used for silent operation, I think.)

3. What TVAP functionality for Ad Scan setting is most desirable? Does launching the complete VideoReDo interactive version from TVAP offer significant advantages compared to just running VRD the normal way?

windracer
07-21-2007, 08:05 PM
Those are all good questions ... I don't know the answers. :rolleyes:

Traditionally I have stayed away from Ad-Detective because of its unreliability. It's usually faster for me to scan through a recording and remove the commercials manually instead of fixing Ad-Detective's marks.

I have not put a lot of effort into "tuning" it however. Plus, this is my first experience running it via command-line, so I have no idea if my settings through the GUI are used when your application invokes it.

dlfl
07-21-2007, 08:13 PM
Those are all good questions ... I don't know the answers. :rolleyes:

Traditionally I have stayed away from Ad-Detective because of its unreliability. It's usually faster for me to scan through a recording and remove the commercials manually instead of fixing Ad-Detective's marks.

I have not put a lot of effort into "tuning" it however. Plus, this is my first experience running it via command-line, so I have no idea if my settings through the GUI are used when your application invokes it.
Poked around and found the Ad Detective settings are persistent across different files and different runs of VRD -- which makes sense because I was able to find them all in the Registry! So the settings are global and will be used when TVAP runs ad scans.

Thus it might make sense to be able to launch VRD in GUI mode from TVAP on whatever file is selected, tune or adjust the parameters, then return to automated TVAP operation. I'm guessing this is what Dan203 had in mind.

Of course then you have one-stop shopping via TVAP -- you could use this feature to preview the video and ????

dlfl
07-22-2007, 06:12 PM
Added ability to launch full-GUI VRD from TVAP with selected .TiVo file loaded.
This allows user to do anything normally possible in VRD, but in particular the
Ad Detective settings can be tuned and adjusted and they then will be used in TVAP Ad Scan processing. (You can also preview the .TiVo file, load another file etc.) TVAP's state doesn't change and it waits for you to shut down VRD before
it will do any auto-processing. See the readme for more info.

WARNING: When I clicked on the ftp link in the first post (repeated here: ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/ ) I was startled to find it showing the wrong version of TVAP. I had to refresh my browser to get the correct version to show. Don't know what would happen if I tried to download the wrong version, since it actually wasn't there -- I had deleted it when I uploaded the newer version.

dlfl
07-23-2007, 04:06 PM
No enhancements this time -- fixed a bug that occured if you configured moving .TiVo files to a destination folder.

Download: ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/

Dan203
07-24-2007, 01:38 PM
Another suggestion.... Allow selection of output file type. One thing this program might be useful for, other then simply converting files to MPEG, is converting them to DVR-MS. You see in Windows MCE you can play .tivo files without decrypting them, but the FF and RW features are disabled. However if you use VRD to convert the .tivo files to DVR-MS first then they play with full trickplay capabilities. Heck if you wanted to get really fancy you could even use tivodecode to grab the metadata from the TiVo file and then apply it to the newly created DVR-MS, so it would be a seamless transfer from TiVo to MCE Now Playing. I actually considered writing something like this myself, but I just haven't had the time yet and it would actually fit into your program quite well.

Dan

NJ_HB
07-24-2007, 03:27 PM
I am sure I speak on behalf of the other users who benefit from this when I say THANKS.
Well done. I hope your hard work does not go unnoticed.

dlfl
07-24-2007, 09:59 PM
Now automatically corrects the folder location in a .vprj file created by Ad Scan without auto-cut. Explanation: If you have TVAP move the Ad Scan input file to another directory when completed, then the .vprj file is not correct and you can't open it in VRD -- UNLESS you change the folder location in the .vprj file (third line) to point to where you moved the input file -- which is what TVAP now does!


Download: ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/

dlfl
07-24-2007, 10:02 PM
I am sure I speak on behalf of the other users who benefit from this when I say THANKS.
Well done. I hope your hard work does not go unnoticed.
Well, you noticed it! Thanks!

I did this for my own use and decided to share it. However it ended up being a lot more than I originally planned. Just kept thinking of one feature or another that would be desirable.

dlfl
07-24-2007, 10:24 PM
Another suggestion.... Allow selection of output file type. One thing this program might be useful for, other then simply converting files to MPEG, is converting them to DVR-MS. You see in Windows MCE you can play .tivo files without decrypting them, but the FF and RW features are disabled. However if you use VRD to convert the .tivo files to DVR-MS first then they play with full trickplay capabilities. Heck if you wanted to get really fancy you could even use tivodecode to grab the metadata from the TiVo file and then apply it to the newly created DVR-MS, so it would be a seamless transfer from TiVo to MCE Now Playing. I actually considered writing something like this myself, but I just haven't had the time yet and it would actually fit into your program quite well.

Dan
I'm using the COM interface functions as documented in the VRD help. The FileSaveAsEx function documentation describes only three file types BUT I notice they align exactly with the first three output types in the VRD help:

Program Stream (MPG) - A standard MPEG1 or MPEG2 program stream.

Elementary Stream (MPV) - A demultiplexed version of the output program. Separate audio and video files will be written.

DVD Stream (VOB) - These files are VOB formatted files suitable for input to the DVDAuthor utility. They cannot be used directly on a DVD. They will need to be processed by a DVD authoring utility.

Transport Stream (ts) - Industry compliant Transport Streams

DVR-MS (dvr-ms) - Microsoft Media Center files. Also known as MCE files.

Topfield REC (rec) - Topfield REC format. A transport stream file with a Topfield header

Tivo (tivo)- MPEG

Does this mean I can use 5 and get DVR-MS ? This would be a simple mod I think. Probably would add another "Destination" folder to which DVR-MS could be moved.

I wonder how complicated the tivodecode thing would be? I've heard of it but haven't done anything with it. Need to search forums I guess. What form is meta-data coming out of tivodecode and going into VRD (for DVR-MS)? Text? XML? Helpful hints are welcome!

Dan203
07-25-2007, 12:30 PM
I'm using the COM interface functions as documented in the VRD help. The FileSaveAsEx function documentation describes only three file types BUT I notice they align exactly with the first three output types in the VRD help:

It is support, but it's not 5. Here is the list...

1 = MPEG Program Stream
2 = MPEG Elelmentry Streams
3 = MPEG Program Stream w/NAV Packets
4 = MPEG Transport Stream
5 = Topfield .rec file
6 = DVR-MS file
7 = .tivo file
8 = DVD Folder
9 = DVD ISO

The last 2 wont actually be supported until the DVD portion of TVSuite is released, but I added them anyway just for future reference.

I wonder how complicated the tivodecode thing would be? I've heard of it but haven't done anything with it. Need to search forums I guess. What form is meta-data coming out of tivodecode and going into VRD (for DVR-MS)? Text? XML? Helpful hints are welcome!

I've played around with tivodecode a bit. It's not the easiest code to work with, as it's all in standard C, but I managed to get it to output the TiVo metadata, which is XML, to an MFC CString object. From that point you could feed it into the MSXML parser and pull whatever data you wanted from it. To add the metadata to the DVR-MS file you would use a COM object called IWMMetadataEditor and it's IWMHeaderInfo interface. There is a great article about this out there called "Fun with DVR-MS" if you're really interested.

Dan

dlfl
07-25-2007, 11:12 PM
Thanks Dan,

I plan to add the dvr-ms output option and will look into the metadata thing.

Dan203
07-26-2007, 01:58 AM
What language are you using for this? If it's MFC C++ then I can help you out. If it's something else I might still be able to help you out, but it might have to wait until I have some free time.

Dan

dlfl
07-26-2007, 01:59 PM
What language are you using for this? If it's MFC C++ then I can help you out. If it's something else I might still be able to help you out, but it might have to wait until I have some free time.

Dan
I'm using M$ VS2005 C# (.NET). I found some Toub (the "Fun with ... " guy) stuff on editing dvr-ms metadata and it already appears to be written in that. Haven't looked at the TivoDecode stuff yet.

I don't know if there's a way to link a MFC-based module into C# .NET code. Will check the help.

Dan203
07-26-2007, 04:27 PM
I might be able to port my code over to an ActiveX control. If I get some free time I'll give that a shot.

Dan

dlfl
07-26-2007, 11:40 PM
I might be able to port my code over to an ActiveX control. If I get some free time I'll give that a shot.

Dan
That sounds promising!

dlfl
07-29-2007, 01:37 AM
Dan,

I've modified TVAP to output dvr-ms files but I'm seeing a strange problem:

If I do:

TiVo -> QSF -> dvr-ms
(or)
TiVo->AdScan w/ autocuts->dvr-ms

the output files seem OK.

However if I do

TiVo->QSF->dvr-ms->AdScan w/autocuts->dvr-ms

The output file is bad -- over twice the size it should be, won't open in WMP11, and won't play when opened in VRD.

Is this known behavior? I can work around it by just forcing the intermediate file (the QSF'ed one) to be mpeg instead of dvr-ms when doing both QSF and AdScan. The output file seems OK then.

I've only tested with one 40 MB tivo for which AdScan doesn't define any cuts. That untypical file could be triggering odd behavior I suppose.

Dan203
07-29-2007, 02:40 AM
Try the same steps with VRD manually. If they still happen then report them over on the VRD forum. (these things are DanR's area not mine)

Dan

dlfl
07-29-2007, 11:42 PM
TVAP will now output DVR-MS files. MetaData transfer is still on the TO DO list.

The problem with QSF+AdScan w/ AutoCut for DVR-MS output was resolved.

dlfl
07-31-2007, 12:29 AM
I got the Toub dvr-ms class library connected to TVAP and displayed the 32 metadata items it found in a .dvr-ms created from a .tivo with VRD -- see the attached image.

Titlle and description aren't there -- I assume this is what we want to get from TivoDecode and add in with the Toub library (?). What else?

I wonder if adding metadata requires a re-write of the whole file? In other words does the added metadata make the file longer or does it already have space allocated for metadata growth?

Dan203
07-31-2007, 03:59 AM
Editing metadata in a DVR-MS file is simple. There is a COM interface you use to open the file, then you just set the various values. Getting the values from a .tivo file is a little trickier, but the latest version of tivodecode has this functionality. The cLI version of tivodecode has it implemented in such a way that it simply dumps the XML data from the .tivo file to disk. I rewrote the code in an MFC app and pulled the XML into a simple CString. When I get time I'll try to port that over to, at the very least, a simple ActiveX control that allows you to call a a function with the .tivo file path and get a BSTR with the XML in return. From there you can feed the XML into MSXML, parse the data you want, and copy it into the DVR-MS file.

If I have enough time I'll try to do all the heavy lifting and write a function that allows you to feed it the path of the .tivo file and the DVR-MS and the ActiveX will do all the work of copying over the data. I'm a little busy this week, and I'm going out of town this weekend, so it'll probably be next week before I have time to actually do any of this. Stay tuned.

Dan

dlfl
07-31-2007, 10:19 PM
Editing metadata in a DVR-MS file is simple. There is a COM interface you use to open the file, then you just set the various values. Getting the values from a .tivo file is a little trickier, but the latest version of tivodecode has this functionality. The cLI version of tivodecode has it implemented in such a way that it simply dumps the XML data from the .tivo file to disk. I rewrote the code in an MFC app and pulled the XML into a simple CString. When I get time I'll try to port that over to, at the very least, a simple ActiveX control that allows you to call a a function with the .tivo file path and get a BSTR with the XML in return. From there you can feed the XML into MSXML, parse the data you want, and copy it into the DVR-MS file.

If I have enough time I'll try to do all the heavy lifting and write a function that allows you to feed it the path of the .tivo file and the DVR-MS and the ActiveX will do all the work of copying over the data. I'm a little busy this week, and I'm going out of town this weekend, so it'll probably be next week before I have time to actually do any of this. Stay tuned.

Dan
Thanks, Dan

Yes, the Toub DVR-MS class library (managed .NET dll assembly) provides a wrapper for the COM interface. I've got the processes of reading metadata, adding more metadata and writing it back to the file going fine using this library. Happy to see it doesn't change file size and is very fast because it doesn't have to re-write the entire file (tested on 1 GB+ file).

All I'm missing now is getting the metadata from the .TiVo file.

Dan203
08-07-2007, 01:07 PM
Here is the ActiveX control I promised....

http://www.3wdesigns.net/TiVoMetaDecode.zip

I didn't have a lot of time to add all the fancy XML parsing, so you'll have to do that yourself. This ActiveX control has two functions GetMetaData and GetMetaData2, both of which take a single parameter which is the path to the TiVo file. The reason there are two is because each TiVo file has two chunks of meta data. The second, accessed via the 2 function, has a little more data in it but I'm not sure if it's necessary for what you're doing or not.

Anyway let me know if you have any trouble with it.

Dan

dlfl
08-07-2007, 08:18 PM
Here is the ActiveX control I promised....

http://www.3wdesigns.net/TiVoMetaDecode.zip

I didn't have a lot of time to add all the fancy XML parsing, so you'll have to do that yourself. This ActiveX control has two functions GetMetaData and GetMetaData2, both of which take a single parameter which is the path to the TiVo file. The reason there are two is because each TiVo file has two chunks of meta data. The second, accessed via the 2 function, has a little more data in it but I'm not sure if it's necessary for what you're doing or not.

Anyway let me know if you have any trouble with it.

Dan
Thanks Dan!

I got it hooked into my C# program and it seems to work. However the string returned doesn't make sense, at least put into the standard C# string type which is 16-bit unicode. I tried to assign the function return to a byte array but it won't compile because the functions definitely return type "string". I suspect I need to convert to UTF-8 or something like that. What can you tell me about the structure of the returned strings, i.e., one byte per character or ?

When interpreted as 16bit unicode it looks like hieroglyphics! I think if I know the actual encoding type it will be easy to re-encode it. Then I can get on with the XML parsing.

Dan203
08-07-2007, 08:50 PM
It's a multi-byte string, not unicode. Try using the multiByteToWideChar function if you need to convert it to unicode.

Dan

dlfl
08-08-2007, 12:29 AM
It's a multi-byte string, not unicode. Try using the multiByteToWideChar function if you need to convert it to unicode.

Dan
Well, I've spent several hours trying to "crack" this string (i.e., get something that looks like xml).
The multiByteToWideChar function exists only in C++ land but I've tried all kinds of combinations of UTF encoders and decoders. No matter what I do I see almost all byte values are either greater than 127 or 0, i.e., outside the normal ASCII range.

The string object returned is only 336 unicode chars long while the xml chunk for the same .tivo file produced by TivoDecode is about 7kb. I don't see how that much info could be in such a small string (??).

The prototype for the ocx functions as imported by C# says they return "string" type objects which are unicode by definition.

Dan203
08-08-2007, 03:24 AM
I don't know how C# works, but in C++ you have the option of compiling the entire project as either multi-byte or unicode. Do you have such an option? If so try turning it over to multi-byte mode and see what happens.

Other then that I'm stumped. I tested it in the MS ActiveX test container and it properly grabs the XML string, so something is happening when you're pulling it into your C# project.

Dan

dlfl
08-08-2007, 12:26 PM
Dan,

Any chance you could do a version of your .ocx that returns UniCode strings? I've searched a lot and can't find anything to help here.

Dan203
08-08-2007, 05:33 PM
Crap I know what's wrong! It has nothing to do with unicode/multi-byte. I have my MAK hard coded into the ocx. Your MAK obviously doesn't match, so you're getting a trashed response. I'm fixing it now and will post a new version in a few minutes.

Dan

Dan203
08-08-2007, 06:15 PM
OK I uploaded a new version. This one now takes two arguments for each function. The file path and the MAK.

Dan

dlfl
08-08-2007, 07:55 PM
Hmmm... I wiped the first .ocx from my system (unregistered it) and removed it from my C# project, then put in the new version making sure it was the only .ocx of that name. Registered it and hooked to my program -- all went as before.

Only problem is the functions still only take one argument (??). This shows in the prototypes that automatically show up as "hints" and they will only compile if I just pass one string argument.

I downloaded from the same link you gave before. Also did a binary file comparison of the two .ocx versions and they are different.

Dan203
08-09-2007, 02:46 AM
There may be something in your C# project. In C++ when you import an ActiveX control it creates a header file with prototype functions for what's in the control. From then on if you make any changes to the ActiveX control you have to remove all references to it and delete the header file before it will recreate it with the new prototype functions.

Alternative you can simply find the prototype functions and update them manually. The structure of the functions are exactly the same except they now take one more string argument.

Dan

dlfl
08-09-2007, 12:51 PM
There may be something in your C# project. In C++ when you import an ActiveX control it creates a header file with prototype functions for what's in the control. From then on if you make any changes to the ActiveX control you have to remove all references to it and delete the header file before it will recreate it with the new prototype functions.

Alternative you can simply find the prototype functions and update them manually. The structure of the functions are exactly the same except they now take one more string argument.

Dan
You are correct -- I created a new test C# project on another computer and hooked in your control -- and the prototypes are correct now. So there is something from the old .ocx still stuck in my project even though I hunted down everything I could think of and removed it.

I removed the control from the new test project and I notice there are still two .dll files with "TivoMetaDecode" as part of their names and a file named "<project name>.csproj.ResolveComReference.cache" in the bin\debug directory. I assume C# created these automatically because I know they didn't come from your download and I know I didn't create them. I suspect these must be deleted before hooking in the new .ocx version. No suspicious header files are to be found but I think C# just stores the info a different way.

It will be a few hours before I can apply this knowledge to the TVAP project since I'm at a different location at the moment.

dlfl
08-09-2007, 10:28 PM
Dan, your TivoMetaData component works great! I have all the pieces demonstrated now to get metadata from TiVo files and put it in DVR-MS files.

I'm planning on the items discussed in the VRD help for the panel on "MCE/DVR-MS Output". If you or anyone else has any suggestions on what other items should be included, just let me know.

I'll also need to have the program ask for the MAK upon initial startup then save it in its XML configuration file. (I don't see the MAK in the registry anywhere -- if anyone knows where to get it let me know.)

Thanks!

Dan203
08-10-2007, 12:55 AM
The MAK in the registry is encrypted, so you'll need to collect it yourself.

I'm glad it's working out. I look forward to trying it out once you get it working. :)

Dan

dlfl
08-15-2007, 12:24 AM
Two major enhancements:

1. Reads metadata from TiVo files. (Title, Subtitle, Description, Genre and Recording Time/Date for now.) You can see it by right-clicking on a file name and it is automatically inserted into DVR-MS output files.

2. Comes in a Windows installer package now.

Thanks to Dan203 for the ActiveX component (TivoMetaDecode.ocx) that reads the metadata from the TiVo files.

Note: The metadata is read when the tivo file is initially detected by TVAP and is stored in its XML file. This means the XML format changed and your previous XML files will be invalid so TVAP will force a cold startup where you have to set your default options and destination directories. It will also ask you to enter your MAK since that is needed to read the TiVo metadata. (See readme for more details.)
The MAK is also stored in the XML file which is another reason your current XML file is invalid and a cold start is needed (sorry!)

ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/

Dan203
08-15-2007, 01:55 AM
FYI if you will be using this on Windows Vista and you have UAC enabled then you will need to run TVAP as an administrator or output as DVR-MS will fail.

Dan

FrooBrar
08-15-2007, 03:04 AM
I just committed a new module to tivodecode CVS called tivocom, which so far just provides access to file metadata, and also to get and set the MAK in the registry that Tivo Desktop uses. It is not based on Dan203's code at all, it is written in ATL instead of MFC, and has what I hope is a powerful, fairly well thought out interface which does not hide any available data from the consumer of the interfaces.

Please let me know what you think of it. You will need to check out both tivodecode and tivocom, and open the .sln in Visual Studio 2005 (express will not work for ATL, but then it would not have worked for MFC either).

CVS instructions are available at the following URL in case you are not familiar with it:
http://sourceforge.net/cvs/?group_id=183716

I could also put a binary up somewhere if you would prefer.

dlfl
08-15-2007, 12:51 PM
FYI if you will be using this on Windows Vista and you have UAC enabled then you will need to run TVAP as an administrator or output as DVR-MS will fail.

Dan
So Dan, do I correctly infer from this that it does run on Vista, at least for you?

(That would be good news to me. As I state in the readme, I don't run Vista, so can't test on that OS.)

dlfl
08-15-2007, 01:42 PM
I just committed a new module to tivodecode CVS called tivocom, which so far just provides access to file metadata, and also to get and set the MAK in the registry that Tivo Desktop uses. It is not based on Dan203's code at all, it is written in ATL instead of MFC, and has what I hope is a powerful, fairly well thought out interface which does not hide any available data from the consumer of the interfaces.

Please let me know what you think of it. You will need to check out both tivodecode and tivocom, and open the .sln in Visual Studio 2005 (express will not work for ATL, but then it would not have worked for MFC either).

CVS instructions are available at the following URL in case you are not familiar with it:
http://sourceforge.net/cvs/?group_id=183716

I could also put a binary up somewhere if you would prefer.
First, thanks for your TiVoDecode efforts!

This is very interesting -- I will look at it. I have built the TiVoDecode 0.2Pre3 .sln in VS2005 and actually fixed a small bug that was preventing it from reading the MAK file (a '\' vs. '/' problem in the file path).

It would be nice to improve 3 aspects in TVAP over what is involved in using the Dan203 ActiveX control:

1. I have to parse the xml string (not really a big deal).
2. I have to deploy and install 2.6MB of VS2005 C++ CRT as part of my installation package.
3. User has to enter MAK.

I'm wondering about the deployment dependencies of your module. From the VS2005 help it appears there are options that vary from no dependency on the CRT runtime to complete dependency.

You might want to update the link to the CRT redistributable in your TivoDecode web page to point to the VS2005 SP1 version (http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en). The .ocx from Dan203 will not register with the older version you link to (which has exactly the same file name just to keep things confusing). This kind of hassle is another reason for wanting to eliminate that dependency.

It would be interesting to see if a binary of your module can be linked into my C# program in the normal (very easy) way that COM objects are handled.

Dan203
08-15-2007, 04:11 PM
So Dan, do I correctly infer from this that it does run on Vista, at least for you?

(That would be good news to me. As I state in the readme, I don't run Vista, so can't test on that OS.)

Yeah it seems to work fine on Vista, except that VRD has to be run in admin mode for DVR-MS output to work. And since you're using COM, that means VRD inherits the permissions of your program, which means you have to run TVAP in admin mode for the DVR-MS output mode to work through that.

One small complaint... The minimize button in the dialog doesn't work. You shoulw reenable it, catch the event it produces and use that to invoke your minimize to tray function. That is common design for an app that minimizes to the tray.

Dan

Dan203
08-15-2007, 04:16 PM
I just committed a new module to tivodecode CVS called tivocom, which so far just provides access to file metadata, and also to get and set the MAK in the registry that Tivo Desktop uses. It is not based on Dan203's code at all, it is written in ATL instead of MFC, and has what I hope is a powerful, fairly well thought out interface which does not hide any available data from the consumer of the interfaces.

Please let me know what you think of it. You will need to check out both tivodecode and tivocom, and open the .sln in Visual Studio 2005 (express will not work for ATL, but then it would not have worked for MFC either).

CVS instructions are available at the following URL in case you are not familiar with it:
http://sourceforge.net/cvs/?group_id=183716

I could also put a binary up somewhere if you would prefer.

Very cool! My control was very quickly hacked together based on some MFC source I used to test the XML output capabilities of tivodecode a few months back. I didn't have a lot of time to put into it, so I just threw something together. This will be a nice addition to the project as it will allow better expansion when future additions are made to tivodecode. (like the ability to save modified XML back to the file :))

Dan

dlfl
08-15-2007, 08:00 PM
Yeah it seems to work fine on Vista, except that VRD has to be run in admin mode for DVR-MS output to work. And since you're using COM, that means VRD inherits the permissions of your program, which means you have to run TVAP in admin mode for the DVR-MS output mode to work through that.

One small complaint... The minimize button in the dialog doesn't work. You shoulw reenable it, catch the event it produces and use that to invoke your minimize to tray function. That is common design for an app that minimizes to the tray.

Dan
Maybe I could have TVAP detect whether it's in admin mode and disable the DVR_MS output choice with a message to the user. (?)

Your "small complaint" refers to the MAK dialog staying up if the program is minimized, correct? (Never thought to test that.) BTW that "dialog" is actually a custom designed form -- I could find no ready-made dialog for text entry in C#, which amazes me since Borland Builder C++ had such things long ago!

Thanks,
Dave

Dan203
08-15-2007, 09:24 PM
No. I'm talking about the main dialog. At least in Vista the minimize button does not work at all. It doesn't even highlight. It's like it's disabled.

Dan

FrooBrar
08-16-2007, 01:44 AM
This is very interesting -- I will look at it. I have built the TiVoDecode 0.2Pre3 .sln in VS2005 and actually fixed a small bug that was preventing it from reading the MAK file (a '\' vs. '/' problem in the file path).

Please let me know what exactly you needed to change so I can fix it for the next version.


It would be nice to improve 3 aspects in TVAP over what is involved in using the Dan203 ActiveX control:

1. I have to parse the xml string (not really a big deal).

I have no plans to do anything about this. I consider it beyond the scope of the tivodecode project


2. I have to deploy and install 2.6MB of VS2005 C++ CRT as part of my installation package.

I have removed this requirement in current CVS.


3. User has to enter MAK.

The COM interface I have made allows both getting and setting the MAK that TiVo Desktop uses in the registry (it's in HKEY_CURRENT_USER, so per-user).

Use the mak property on the TivoDecode object to get and set this MAK.

You can call the OpenTivoFile method on the TivoDecode object to get an object which implements ITivoFile, which has a mak property you can set to override the TiVo Desktop mak if you want to use a different mak, or if one is not set in the registry. Make sure to set this BEFORE getting the chunks property from the ITivoFile interface.


I'm wondering about the deployment dependencies of your module. From the VS2005 help it appears there are options that vary from no dependency on the CRT runtime to complete dependency.

I have switched the projects in CVS to use static linking of CRT, so there should be no more dependency beyond standard Windows DLLs. The tivocom project is also statically linked both with CRT and ATL, so no additional dependencies there.


You might want to update the link to the CRT redistributable in your TivoDecode web page to point to the VS2005 SP1 version (http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en).

Done.


The .ocx from Dan203 will not register with the older version you link to (which has exactly the same file name just to keep things confusing). This kind of hassle is another reason for wanting to eliminate that dependency.

Got to love Microsoft...


It would be interesting to see if a binary of your module can be linked into my C# program in the normal (very easy) way that COM objects are handled.

I don't see why it would not.

I put a binary up temporarily at http://tivodecode.sourceforge.net/tivocom/tivocom.zip for you to try. I also included the .PDB file in case you have any crashes, you can get a helpful stack trace from the debugger for me at least ;)

dlfl
08-17-2007, 05:33 AM
I've been experimenting with your binary with mostly good results. No problem importing it into C# with an automatically produced Interop wrapper DLL. The first thing I did was create a TivoDecodeClass object and attempt to get the MAK. This threw an "Invalid Data" exception and the MAK was null. However I found I could set the MAK with that object and after that all was OK. After setting it once:

1. I could get it.
2. I could get the chunks.
3. I could unregister then reregister tivocom.dll and it was still OK. (I could get the MAK without setting it first.)
4. I could shut down the program and restart and it still could get the MAK.

I found exactly the same behavior on another computer that doesn't have the VS2005 on it. I haven't looked at your code yet but I wonder how it's getting the MAK after setting it once whereas it couldn't get it the first time? I've looked at everything with "tivocom" in it in the registry and find nothing resembling a MAK, either plain text or encoded.

Could it be that something in the encryption stuff gets properly initialized when I set the MAK so that it then works OK after that?


On the MAK file thing, the change I made was near the top of tivodecode.c:

static const char MAK_DOTFILE_NAME[] = "\\tivodecode_mak";
The two backslashes replace '/.' . I determined this by tracing.

Sure would love to have it get the MAK so the user wouldn't have to enter it in TVAP! Any ideas?

FrooBrar
08-17-2007, 11:58 AM
The first thing I did was create a TivoDecodeClass object and attempt to get the MAK. This threw an "Invalid Data" exception and the MAK was null. However I found I could set the MAK with that object and after that all was OK. I haven't looked at your code yet but I wonder how it's getting the MAK after setting it once whereas it couldn't get it the first time? I've looked at everything with "tivocom" in it in the registry and find nothing resembling a MAK, either plain text or encoded.
The MAK is stored in the same place/way as TiVo Desktop does it. The specific registry location is HKEY_CURRENT_USER\Software\TiVo\SharingKeys, and the value which it reads should be type REG_BINARY named "TiVoToGo Media". I have only tested this against TiVo Desktop version 2.2 (yes, I know, old), please check what this key looks like when you get the Invalid data exception and let me know. If I had to bet, TiVo changed how they stored the MAK in the registry, or at least the value type, as the ATL registry access wrappers will throw an invalid data error (or something like that) if the reg value does not match what I asked for.


On the MAK file thing, the change I made was near the top of tivodecode.c:

static const char MAK_DOTFILE_NAME[] = "\\tivodecode_mak";
The two backslashes replace '/.' . I determined this by tracing.

I will look into this. This will not work as-is as it will break *NIX.

dlfl
08-17-2007, 01:08 PM
The MAK is stored in the same place/way as TiVo Desktop does it. The specific registry location is HKEY_CURRENT_USER\Software\TiVo\SharingKeys, and the value which it reads should be type REG_BINARY named "TiVoToGo Media". I have only tested this against TiVo Desktop version 2.2 (yes, I know, old), please check what this key looks like when you get the Invalid data exception and let me know. If I had to bet, TiVo changed how they stored the MAK in the registry, or at least the value type, as the ATL registry access wrappers will throw an invalid data error (or something like that) if the reg value does not match what I asked for.
.............
I'll take a closer look at this (don't have access to the computers at the moment).
I've found the binary keys where you say they are -- can't swear to the exact registry key name. However I've done things like use your object to set the MAK to an invalid value and have seen the registry values change and WMP would then no longer play the .tivo files (until I used your object to set the MAK back correctly). I note there are TWO seemingly identical binary keys in that part of the registry (can't remember their exact names without looking but I think one has "media" in the name and the other has "tivoToGo"). I wonder if that is a difference from 2.2 ?

One possible hitch in further testing is that once I set the MAK correctly via your object, the problem cannot be duplicated on that computer (even if you unregister/reregister tivocom.dll and/or restart my program). It suggests that tivocom is storing this number some other non-volatile place, e.g., in the registry, that survives through unregistration (?).

Another thought is the MAK encryption has changed for the later versions of Desktop (I'm using 2.3 BTW) but they are still backwards compatible with the older encryptions (?). (Thus when the MAK is set via your object the binary value actually changes but can still be decoded by the TiVo software.) A way to test this would be to re-enter the MAK in desktop then see if the "get" problem reappears for tivocom.

All in all I'm encouraged that this seems to be the only hitch in using your binary!
I haven't tested it for dependency on the VS80CRT runtime but from what you say there shouldn't be any.

Dan203
08-17-2007, 06:36 PM
The MAK is still stored under HKEY_CURRENT_USER\Software\TiVo\SharingKeys. Perhaps just the key name has changed? In 2.5 they are labeled...

TiVoToGo Media
TiVoToGo Metadata

If that's not it then it's possible TiVo changed how the key is stored. I know somewhere around here someone mentioned that they were encrypted and required some sort of built in Windows encryption service to be running to properly store and retrieve the key. This change may have come about when TiVo moved away from the password system.

Dan

dlfl
08-17-2007, 07:51 PM
The MAK is still stored under HKEY_CURRENT_USER\Software\TiVo\SharingKeys. Perhaps just the key name has changed? In 2.5 they are labeled...

TiVoToGo Media
TiVoToGo Metadata

.........
Dan
The key names are the same in Ver. 2.3 . I pm'ed you guys with some interesting info about this behavior, including registry dumps of the keys, and my MAK. The binary keys are different depending on whether set in DeskTop or by the TiVoCom dll.

FrooBrar
08-18-2007, 01:08 AM
The MAK is still stored under HKEY_CURRENT_USER\Software\TiVo\SharingKeys. Perhaps just the key name has changed? In 2.5 they are labeled...

TiVoToGo Media
TiVoToGo Metadata

If that's not it then it's possible TiVo changed how the key is stored.

I bet they changed the entropy parameter to the CryptProtectData function

I know somewhere around here someone mentioned that they were encrypted and required some sort of built in Windows encryption service to be running to properly store and retrieve the key.
Yep, CryptProtectData and CryptUnprotectData. See MSDN for details on these functions.

This change may have come about when TiVo moved away from the password system.

Nope, the version of the TiVo Desktop I have doesn't have the password.

I guess it is time to download 2.5 and step through the setting of the MAK again...

FrooBrar
08-18-2007, 03:47 AM
I bet they changed the entropy parameter to the CryptProtectData function

I guess it is time to download 2.5 and step through the setting of the MAK again...

I downloaded 2.5 and set a breakpoint on CryptProtectData, and that's exactly what they did. They changed the entropy for the Media key to match the Metadata key. I am guessing that when they had a password, they used that as the entropy. When they first removed the password dialog, they just hacked it out and set the entropy to the empty string (ie, empty password). Then, they noticed that and decided that wasn't such a good idea, when they already had a seperate entropy value they were using for the Metadata key, so they started using that instead, falling back to the old format when reading in case someone upgraded from an older version of TiVo Desktop without resetting their MAK.

I just uploaded a new version of the DLL (same url as before) which tries to read the new format first, then falls back to the old format on the INVALID_DATA error. The setting of the MAK still uses the old format, as both old and new TiVo Desktop versions support this format, while only new versions would support the new format.

Please try it out and let me know how it works for you.

dlfl
08-18-2007, 11:50 AM
........
I just uploaded a new version of the DLL (same url as before) which tries to read the new format first, then falls back to the old format on the INVALID_DATA error. The setting of the MAK still uses the old format, as both old and new TiVo Desktop versions support this format, while only new versions would support the new format.

Please try it out and let me know how it works for you.
Thanks, this seems to work perfectly. Can get or set MAK as desired.

I discovered the encrypted MAK in the registry varies each time you set it via DeskTop. A (random) time value must be used as part of the encryption key (?).

dlfl
08-18-2007, 12:02 PM
Yeah it seems to work fine on Vista, except that VRD has to be run in admin mode for DVR-MS output to work. And since you're using COM, that means VRD inherits the permissions of your program, which means you have to run TVAP in admin mode for the DVR-MS output mode to work through that.

One small complaint... The minimize button in the dialog doesn't work. You shoulw reenable it, catch the event it produces and use that to invoke your minimize to tray function. That is common design for an app that minimizes to the tray.

Dan
The minimize button will be fixed in the next version.

Regarding Vista permissions, it looks like it's possible to detect the user access level and also to prompt the user to "elevate" TVAP and its child processes to Admin on Vista. (http://community.bartdesmet.net/blogs/bart/archive/2006/10/28/Windows-Vista-_2D00_-Demand-UAC-elevation-for-an-application-by-adding-a-manifest-using-mt.exe.aspx) (Apparently Vista by default doesn't assign admin privileges to the program even when launched by an admin user, correct?)

The "elevation prompt" feature requires embedding a manifest in the program but that doesn't look too difficult. In either case DVR-MS functions will have to be turned off if the admin privileges aren't present or obtained via elevation.

Comments? Suggestions?

dlfl
08-18-2007, 10:27 PM
Can someone running Vista with admin privileges and with UAC enabled (the default I believe) run the attached test program and let me know what happens?

What should happen is a Windows prompt should appear saying an unknown program wants to run and the choices are "allow" or "cancel". If you allow it to run a little window should say "Running with admin privileges". If you cancel I assume it just doesn't run the program.

If the program does run but doesn't acquire admin privileges the window will say "No admin privileges !"

Also, if someone has a PC running XP and can run this from an account that doesn't have admin privileges I would appreciate knowing what that does too.

Thanks!

FrooBrar
08-18-2007, 10:41 PM
Can someone running Vista with admin privileges and with UAC enabled (the default I believe) run the attached test program and let me know what happens?

The attached images... If you cancel the UAC prompt, then the program does not run.

dlfl
08-19-2007, 01:08 AM
The attached images... If you cancel the UAC prompt, then the program does not run.
Thanks FrooBrar -- results were exactly as expected.

Now I'm wondering about Vista deployment. Have you or anyone installed TVAP 0.36 (with the Inno Setup installer) on Vista? I would expect problems due to UAC, trust etc. unless you can get around all that by disabling UAC (?).

If the Inno installer is a problem for Vista, and there isn't an acceptable work-around (e.g., disabling UAC for the install?) then a Dev Studio deployment project may be the answer. Using an installer (instead of a zip file) has the advantages that the TiVo metadata COM object can be automatically registered and a shortcut created. But if the security issues are too difficult perhaps the zip approach could be used for Vista with a batch file the user would have to run to register the COM.

I welcome any suggestions or comments.

FrooBrar
08-19-2007, 01:20 AM
Thanks FrooBrar -- results were exactly as expected.

Now I'm wondering about Vista deployment. Have you or anyone installed TVAP 0.36 (with the Inno Setup installer) on Vista? I would expect problems due to UAC, trust etc. unless you can get around all that by disabling UAC (?).

I have not tried it. However, I do have some experience deploying installers for Vista (in my real life). As long as one or more of the following is true, you should be fine:
1. The installer executable is manifested with the require administrator property.
2. The installer is something that the Vista heuristics can identify as an installer. The easiest way to be sure of this is to put the word "installer" or "setup" in the name of the executable.

If this is true, Vista will require elevation to run the executable.

Also, since it seems your main app only needs admin rights for one aspect of its operation, you may want to look into the COM elevation moniker, to elevate only the interface which requires it and not the whole app. Google for COM elevation moniker, or at least look at http://msdn2.microsoft.com/en-us/library/ms679687.aspx which details it. However, I do not know how to do it from anything other than C/C++, so this may not be an option for you. Something to think about, though.

FrooBrar
08-19-2007, 01:42 AM
Also, note that the Tivo Desktop MAK is stored in HKEY_CURRENT_USER, so it's anybody's guess what will happen in an OTS elevation scenario.

dlfl
08-19-2007, 11:43 AM
Also, note that the Tivo Desktop MAK is stored in HKEY_CURRENT_USER, so it's anybody's guess what will happen in an OTS elevation scenario.
If I can impose on you a little further, please test the attached modified version of TestUAC. (The included Interop dll must be placed in the path also, and your latest tivocom.dll must be registered.)

If you "allow" it to run, it should display your MAK in a message box then bring up a file browser to select a .tivo file. If you select one a huge message box will display unformatted chunk data. Or you can just cancel the file browser. Then the form will be there with the same text display options as for the previous version.

If this works it would seem to indicate that access to the MAK is OK in the elevation scenario. Or is the potential problem going to exist only if the current user is different from the one who installed the MAK ?

Thanks

FrooBrar
08-19-2007, 05:14 PM
If this works it would seem to indicate that access to the MAK is OK in the elevation scenario. Or is the potential problem going to exist only if the current user is different from the one who installed the MAK ?

There will always be a "problem" if the current user is different from the one who installed the MAK, as the MAK is a per-user setting.

The problem I was thinking of, is in the case of "over-the-shoulder" (OTS) elevation, where the user who is logged in is not an administrator, and when they try to run an app which requires admin privileges, they are prompted for credentials of an admin user. I am not sure whose HKEY_CURRENT_USER is used for an app launched in this way: the user currently logged on, or the admin whose credentials were used to elevate.

FrooBrar
08-19-2007, 05:38 PM
If I can impose on you a little further, please test the attached modified version of TestUAC. (The included Interop dll must be placed in the path also, and your latest tivocom.dll must be registered.)

If you "allow" it to run, it should display your MAK in a message box then bring up a file browser to select a .tivo file.

It worked as advertised for an admin user, the elevation prompt, then the message box with the mak and the file browser. I canceled the file browser because I did not have a TiVo file handy...

However, I tested it with a limited user and an admin user using OTS elevation. The admin user was freshly created and did not have a MAK set. I set the MAK for the limited user using PowerShell, which you can see in the background in the attached image, and then tried to run the TestUAC2 app. It required elevation, made me enter the credentials of the admin user, and then gave me the error you see in the foreground. I return a not found error from getting the MAK if it is not set in the registry, which is apparently being translated into a System.IO.FileNotFoundException in C#. May be a good idea to catch those...

Anyway, this confirms that the HKEY_CURRENT_USER key used for OTS elevation is the admin whose credentials are used, not the user who tried to run the app. So the MAK would need to be set for the admin, and it would not matter what the limited user had set for their registry.

dlfl
08-19-2007, 11:03 PM
First, many thanks to FrooBrar and Dan203 for their Vista testing and coding the TiVo metadata retrieval stuff.

The Vista install/run security and user privilege stuff is pretty complicated as you can see from the two previous posts by FrooBrar -- I'm not guaranteeing when if ever TVAP will install and run seamlessly on Vista. However I've made some small steps in that direction to the extent that an admin user on Vista should be able to "elevate" TVAP to run with admin privileges, which hopefully will enable it to output DVR-MS.

19 August 2007 Ver. 0.37

- TiVo Metadata now obtained using FrooBrar's tivocom.dll COM object. Visual Studio C++
Runtime libraries (2.6MB) no longer included in installer. User no longer has to
enter MAK, which is obtained and decoded from the Windows Registry.

- Minimize button is active and minimizes to system tray icon. (Clicking tray icon still minimizes too.)

- Embedded manifest so when run on Vista user is prompted to elevate privileges to admin.

- Detects whether running with admin privileges and disables DVR-MS output if not.
User is given appropriate message.

I've left the ver. 0.36 installer on the VideoReDo host site just in case ... a lot of big changes were made in 0.37 !

ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/

dlfl
08-20-2007, 11:26 PM
Small bug fix: If you had enough files displayed to invoke the scroll bar the right click for metadata would select the wrong file.

tbuskey
08-26-2007, 08:56 PM
Is this the right place to ask?

1st: great program. I finally have a fairly automated way to transfer shows from my TiVo, strip commercials and store them on my file server. I use pyTivo (gets around the subfolder bug) to let the TiVo pull them back for viewing. My server is Solaris and pyTivo is on there too. I have TiVo Desktop & VideoReDo running in VMware on Linux. If I can get everything running on Solaris or even Linux w/o VMware. Oh well.

I like to keep my files as .Tivo with the metadata. Can TVAP save as .tivo instead of .mpg?

Can TVAP remove the original .TiVo file when it finishes?

Anything to save keystrokes!

dlfl
08-26-2007, 09:13 PM
.......
I like to keep my files as .Tivo with the metadata. Can TVAP save as .tivo instead of .mpg?

Can TVAP remove the original .TiVo file when it finishes?

Anything to save keystrokes!
TVAP doesn't delete the original .tivo. If you set a destination folder for .tivo files TVAP will move the .tivo files to that folder when done. (If you don't specify any VRD processing then TVAP will do nothing but move the .tivo's to that folder.) But this will be the original (unprocessed by VRD) tivo file.

Do you want to have VRD process the .tivo then save it as a .tivo?

Both deletion and .tivo saves could be considered for addition to TVAP. It would be much easier to program if the processed .tivo files would always be required to be put in a destination folder different from the tivo transfer folder. Would that serve your purposes?

tbuskey
08-31-2007, 09:19 AM
TVAP doesn't delete the original .tivo. If you set a destination folder for .tivo files TVAP will move the .tivo files to that folder when done. (If you don't specify any VRD processing then TVAP will do nothing but move the .tivo's to that folder.) But this will be the original (unprocessed by VRD) tivo file.

Do you want to have VRD process the .tivo then save it as a .tivo?

Both deletion and .tivo saves could be considered for addition to TVAP. It would be much easier to program if the processed .tivo files would always be required to be put in a destination folder different from the tivo transfer folder. Would that serve your purposes?

I want this workflow:

Tivodesktop transfers to local disk (because it can't transfer to a network disk)
TVAP:
1) runs ad-detective with VRD
2) saves the resulting file to a network drive folder as a .tivo file (not the original folder)
3) deletes the original from local disk

pyTivo makes the resulting .tivo available back to my TiVo for viewing.
I've found that pyTivo transfers .mpgs much slower then .tivo files

dlfl
08-31-2007, 02:42 PM
I want this workflow:

Tivodesktop transfers to local disk (because it can't transfer to a network disk)
TVAP:
1) runs ad-detective with VRD
2) saves the resulting file to a network drive folder as a .tivo file (not the original folder)
3) deletes the original from local disk

pyTivo makes the resulting .tivo available back to my TiVo for viewing.
I've found that pyTivo transfers .mpgs much slower then .tivo files
I've got a version of TVAP that I'm about to start testing. It will do what you want as long as VRD can output a file to a network drive path and the path URL can be specified in a form that VRD accepts as a path for output files.

I don't have a network drive to test with. If you process a file in VRD can you have it output the processed file directly to the network drive? I assume yes, but it would be nice to know for sure.

I use pyTivo but I've never had an MPEG video that didn't transfer faster than real time, even from my laptop using wireless.

FrooBrar
09-01-2007, 12:50 AM
I've got a version of TVAP that I'm about to start testing. It will do what you want as long as VRD can output a file to a network drive path and the path URL can be specified in a form that VRD accepts as a path for output files.


Maybe I'm missing something here, but how can you output a .TiVo file? I think this is what was being requested, but I know I haven't gotten around to figuring out how to write .TiVo files, since I have a feeling it will be a can of worms. Is there some support for this from VRD or TiVo Desktop that I don't know about?

dlfl
09-01-2007, 01:16 AM
Maybe I'm missing something here, but how can you output a .TiVo file? I think this is what was being requested, but I know I haven't gotten around to figuring out how to write .TiVo files, since I have a feeling it will be a can of worms. Is there some support for this from VRD or TiVo Desktop that I don't know about?
VRD supports the .TiVo output and it passes on the metadata in the process. I've done it with the VRD program but haven't actually done it with the COM interface yet -- but I expect it will work -- and will know real soon now.

Given a .TiVo as input, wouldn't it be essentially a matter of binary copying the metadata portions to the output file? Or is it the MPEG2 part (changed after processing by VRD) that poses the difficulty? Does TiVo encrypt the video encoding too?

FrooBrar
09-01-2007, 01:30 AM
Given a .TiVo as input, wouldn't it be essentially a matter of binary copying the metadata portions to the output file? Or is it the MPEG2 part (changed after processing by VRD) that poses the difficulty? Does TiVo encrypt the video encoding too?

Ahh, right. I think I see what they are doing then. Some of the video/audio data is encrypted in a normal .TiVo file that you would download from the TiVo box directly. The particular MPEG packets which are encrypted are flagged with a certain bit, and are decrypted by either the TiVo DirectShow filter or TiVoDecode. However, it has been determined quite some time ago that you can take a decrypted MPEG stream, stick an unmodified encrypted metadata header on the front, and the TiVo will like it just fine (presumably, it would try to decrypt any packets flagged as encrypted, but since there are none, it doesn't try).

dlfl
09-03-2007, 07:55 PM
I want this workflow:
Tivodesktop transfers to local disk (because it can't transfer to a network disk)
TVAP:
1) runs ad-detective with VRD
2) saves the resulting file to a network drive folder as a .tivo file (not the original folder)
3) deletes the original from local disk

This version should do it, although I could not test it on an actual network drive (because I don't have one -- yet). I tested using a 300 GB USB drive. As long as there is a path to the network drive that can be selected in the folder browser that TVAP uses to select destination folders, it should work, assuming VRD is ok with it too.

From the changelog:
3 September 2007 Ver. 0.39
- Added .TiVo output file type selection.
- Added option in default settings to delete original .TiVo file after processing it.
- Major change in file handling: Previously, all processing outputs were placed on the TiVo
transfer directory, then moved to destination folders if so configured. Now the VRD
process outputs the files directly to the specified output folders. The only file moves
made by TVAP are for the original .TiVo file to its destination folder after processing, if set.

I've left the previous version on the download site, just in case. There might be problems caused by slow file access. I had one VRD error during testing with DRV-MS files where the Ad Scan process said it couldn't find the QSF'ed input file -- but the file was actually there when I looked. I guessed this was probably related to slow drive access, e.g., the OS saying a file was there (TVAP checks the input file existence before it launches a VRD process) when it actually was still being written to by the previous process. Thus I sprinkled in 1 second time delays after each VRD process , and after the code that writes the metadata to the DVR_MS file. After that I could not duplicate the error. Keep me posted.

Download and readme info:
ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/

FrooBrar
09-05-2007, 12:43 AM
I am considering changing the interface for my COM component. I want to make the ITivoDecode.OpenTivoFile method take the MAK as a parameter, rather than setting it as a property on the ITivoFile object later. Currently, if you don't set the property on the file, it will default to the MAK from the registry. In my proposed change, you would have to pass in the TivoDecode.mak property to the function.

Does this seem reasonable?

dlfl
09-05-2007, 10:27 PM
I am considering changing the interface for my COM component. I want to make the ITivoDecode.OpenTivoFile method take the MAK as a parameter, rather than setting it as a property on the ITivoFile object later. Currently, if you don't set the property on the file, it will default to the MAK from the registry. In my proposed change, you would have to pass in the TivoDecode.mak property to the function.

Does this seem reasonable?
So....... Does this mean I can still avoid having the user enter the MAK, i.e., by using the ITivoDecode.MAK property in "get" mode then just passing the MAK thus obtained in to the revised OpenTivoFile method?

If so, that's fine for me. I would just prefer not to require the user to enter the MAK (even once).

Just curious, what is your motivation for this change? OTS ? Should TVAP have an option to enter a MAK different than what is found in the current user's registry section? (To get more settings in TVAP I may need to expand the real estate on the form, or add another dialog, etc. -- oh well!).

FrooBrar
09-07-2007, 02:27 AM
So....... Does this mean I can still avoid having the user enter the MAK, i.e., by using the ITivoDecode.MAK property in "get" mode then just passing the MAK thus obtained in to the revised OpenTivoFile method?

Yes. Also, I have figured out how to do default parameters in COM, so you may be able to not specify a value and have it just work. I know this works right from JScript/VBScript/VB, and does not work from C/C++, so I don't know how C# will take it...


If so, that's fine for me. I would just prefer not to require the user to enter the MAK (even once).

Just curious, what is your motivation for this change?

I want to be able to do more work up front on OpenTivoFile rather than waiting for later, so I can avoid holding the file open for the lifetime of the ITivoFile object. To do this, I need to know the MAK before I return the ITivoFile object to the caller, so you could not set the MAK property yet and would need to pass it into the function.

However, I am in the middle of adding features to the COM object (I only ever implemented a subset of what I ultimately intended to), and it turns out I need to hold the file open for the lifetime of the object anyway. But, I am still doing more metadata work up front now than before.

I am adding support to open a TivoFile object over an IStream (apparently UCOMIStream to you) as well as on a file name, so a client of the object could stream Tivo file data in from any source, not just a file. To do this in a way that best supports streaming, I need to avoid all seek operations and just go sequentially through the file.

I am also adding suppport to decrypt the MPEG stream to a file or an IStream as well.


Should TVAP have an option to enter a MAK different than what is found in the current user's registry section? (To get more settings in TVAP I may need to expand the real estate on the form, or add another dialog, etc. -- oh well!).

Well, that is a feature you can consider. You don't have to, though. In reality, OTS is not that likely in your target demographic. That feature is intended for enterprise users on a domain, who have centralized IT staff. The user needs to run something elevated so they call in the IT guy who enters the admin password "over the shoulder" of the user.

Dan203
09-07-2007, 03:06 AM
Yes. Also, I have figured out how to do default parameters in COM, so you may be able to not specify a value and have it just work. I know this works right from JScript/VBScript/VB, and does not work from C/C++, so I don't know how C# will take it...

You can set default values in C++ but it takes a little extra work. Once you add an ActiveX control to a C++ project, in MS VC++, it automatically generates a .h file with prototype functions for each corresponding ActiveX function. If you edit those prototypes to have default values then you are not required to supply values when actually calling the function from other parts of the C++ program. Alternatively you can simply pass the function a blank string and your ActiveX function should be smart enough to detect that and apply the default on it's own.

Dan

FrooBrar
09-07-2007, 03:33 AM
You can set default values in C++ but it takes a little extra work. Once you add an ActiveX control to a C++ project, in MS VC++, it automatically generates a .h file with prototype functions for each corresponding ActiveX function. If you edit those prototypes to have default values then you are not required to supply values when actually calling the function from other parts of the C++ program. Alternatively you can simply pass the function a blank string and your ActiveX function should be smart enough to detect that and apply the default on it's own.

Dan

Well, yes and no. I can add default parameters to the functions in my class, but I cannot add default parameters to the interface, which is in a .h file which is autogenerated by MIDL at compile time.

And I didn't use the empty string as the default value, but that would probably be easier.

I just did a little googling, and I found this:
http://blogs.msdn.com/eric_carter/archive/2004/04/15/114079.aspx

Looks like C# does not support the default parameters option of COM. Ugh.

I will change my implementation to accept the empty string to mean "use the mak in the registry and throw if it is not found"...

Dan203
09-07-2007, 03:50 AM
Well, yes and no. I can add default parameters to the functions in my class, but I cannot add default parameters to the interface, which is in a .h file which is autogenerated by MIDL at compile time.

Sorry what I meant was that the user could add defaults on their end by editing the .h file which is automatically generated by MSVS when adding a ActiveX control to a C++ project. If you wanted to simplify it you could provide a replacement .h file the user could just drop into the project overwriting the auto generated one.

Although allowing an empty string is the easier option

Dan

dlfl
09-07-2007, 07:38 PM
Well, yes and no. I can add default parameters to the functions in my class, but I cannot add default parameters to the interface, which is in a .h file which is autogenerated by MIDL at compile time.

And I didn't use the empty string as the default value, but that would probably be easier.

I just did a little googling, and I found this:
http://blogs.msdn.com/eric_carter/archive/2004/04/15/114079.aspx

Looks like C# does not support the default parameters option of COM. Ugh.
..........
Interesting link. I've done a fair amount of C++ programming (Borland Builder, mostly) and I find C# syntax refreshingly simpler. But not in this case!

FrooBrar
09-09-2007, 07:51 PM
I will change my implementation to accept the empty string to mean "use the mak in the registry and throw if it is not found"...

I have put a new release of tivocom at http://tivodecode.sourceforge.net/tivocom/tivocom-1.2.zip

This is what I said in my commit message (should describe the changes pretty well)

rework interfaces (bumped typelib version to 1.1). Add support for decoding
the MPEG stream. Added support to read and write from streams (implementing
IStream) and make the versions which take filenames use a stream
implementation that wraps file access. Make OpenTivoFile take the MAK as a
parameter. It has a default value of "" (empty string), which means try to
get the MAK from the registry, so either omit that param (for those
languages which permit that) or specify it as empty string to use the MAK
from the registry. Added progress reporting of MPEG stream decoding via a
connection point. Progress is updated every 100 frames, and percent
complete is provided if the tivo file stream supports Seek and Stat
functions


Also, something I didn't mention in the commit message is I changed the error when the MAK is not found so that it returns the same HRESULT (ERROR_FILE_NOT_FOUND), but also sets the error info so you may get a description of the error as "MAK not found". Hopefully a little better than the generic "file not found" message it was giving...

Please try it out and let me know what you think.

Dan203
09-10-2007, 02:30 PM
Added support to read and write from streams

Does this functionality give the user the ability to write MPEG Program Stream data to the file while maintaining the encrypted meta data?

Also a technical, but mostly unrelated, question... In the .tivo file's header there is some unencrypted XML data labeled "fingerprint" and "salt". Is it possible to generate these two values from scratch using nothing more then the MAK? Or do they need to come from the TiVo itself? I've noticed that they are different in each .tivo file, so they're not static values. I've also noticed that changing even a single digit of either one prevents TiVo Desktop from being able to decrypt the metadata in the file. It also effect the video, but only if the video is encrypted, and that is not a requirement. However TiVo Desktop does require the metadata to be encrypted so these values are needed for proper metadata storage.

The ultimate goal here would be to allow the building of a .tivo file from scratch. Taking unencrypted metadata and an unencrypted MPEG stream an melding them into a .tivo file which can then be read by TiVo Desktop and transfered onto a TiVo complete with metadata.

Dan

FrooBrar
09-11-2007, 01:15 AM
Does this functionality give the user the ability to write MPEG Program Stream data to the file while maintaining the encrypted meta data?
No, just to decrypt the MPEG part to a file or stream.

Also a technical, but mostly unrelated, question... In the .tivo file's header there is some unencrypted XML data labeled "fingerprint" and "salt". Is it possible to generate these two values from scratch using nothing more then the MAK? Or do they need to come from the TiVo itself? I've noticed that they are different in each .tivo file, so they're not static values. I've also noticed that changing even a single digit of either one prevents TiVo Desktop from being able to decrypt the metadata in the file. It also effect the video, but only if the video is encrypted, and that is not a requirement. However TiVo Desktop does require the metadata to be encrypted so these values are needed for proper metadata storage.

All right, here's a quick overview of how the keys are generated for encrypting/decrypting the data (metadata and video)

Video: Take the MAK, in ASCII, concatenate the plaintext XML chunk, take the SHA1 of this.

Metadata: Make a string "tivo:TiVo DVR:MAK", take the MD5 of this string, convert that to ASCII hex, concatenate the plaintext XML chunk, take the SHA1 of this.

So, technically, the format of the chunk you are referring to does not matter. It could say whatever you wanted. It is used verbatim to decrypt the data in the file.

I have written a perl script to test generating a TiVo header with metadata from the decrypted chunks, using tdcat and a little creative use of pack(). It is not really in a user-friendly or portable state, and I intend to get around to writing a C program to do this when I get some free time, and add this to tivodecode, but I will try to post the perl script I have right now.


The ultimate goal here would be to allow the building of a .tivo file from scratch. Taking unencrypted metadata and an unencrypted MPEG stream an melding them into a .tivo file which can then be read by TiVo Desktop and transfered onto a TiVo complete with metadata.

Dan

I have done this with the perl script, and it worked. So far I have noticed that TiVo Desktop uses chunk id 1, while the TiVo itself prefers to use chunk id 2. Also, if you change the metadata in chunk 2 and send it back to the TiVo, you may be surprised to see the TiVo still showing you the old metadata. This seems to be due to the unique show id in chunk 2 xml, and I guess the TiVo has a cache of metadata based on show id and does not update it. Just delete the show ID from the chunk 2 xml before sending it back to the tivo and it will work.

Also, the file generated is the part of the tivo file right up to the start of the MPEG data. I just ran:
cat decrypted_mpeg.mpg >> output.TiVo
and got a combined file.

dlfl
10-13-2007, 12:18 AM
- Fixed: When TivoToGo (at least Ver. 2.3 that I use) queues multiple tivo files for transfer, it creates zero-length files on the tivo transfer directory and TVAP decided the files had completed transferring because their length was not changing.

- Fixed: MetaData for files being transferred was not handled properly.

Download or view readme instructions/details at:
ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/

dlfl
10-16-2007, 10:49 PM
16 October 2007 Ver. 0.41
- TiVo files "queued" for transfer by Desktop (i.e., sitting on transfer folder with constant zero size)
are shown as TRANSFERRING in the file list, with "queued" displayed for file length. This allows
user to set custom processing options.

saberman
10-17-2007, 01:31 AM
Also, if someone has a PC running XP and can run this from an account that doesn't have admin privileges I would appreciate knowing what that does too.

Thanks!

I tried running it on Windows XP SP2 from an account that is a power user but not an administratior and it said:

---------------------------
TestUAC.exe - Application Error
---------------------------
The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.
---------------------------
OK
---------------------------

I go the same results when I tried "run as" using an adminstrator id.

dlfl
10-17-2007, 09:23 PM
I tried running it on Windows XP SP2 from an account that is a power user but not an administratior and it said:

---------------------------
TestUAC.exe - Application Error
---------------------------
The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.
---------------------------
OK
---------------------------

I go the same results when I tried "run as" using an adminstrator id.
Thanks for the info. I hope such issues are not causing TVAP users problems that they can't work around. I haven't sorted out the interaction between user privileges and MAK owner beyond what FrooBar said in post #66 of this thread.

dlfl
11-07-2007, 10:34 PM
If you have TVSuite installed, the Run VideoReDo button will launch it, even if you also have VRD-Plus installed.

Regarding the TVAP VRD COM interface, if you have both Plus and TVSuite installed, TVAP uses the COM interface from whichever program was last run with the normal GUI interface. I haven't figured out why but it doesn't seem to make a practical difference as the COM functionality used by TVAP seems to run identically in either case.

dakk
11-08-2007, 11:39 PM
I just installed Tivo series 3 hd ...I already had Tivo series 2dt ......when transferring 30 Rock to computer using TivoDesktop 2.52, the series 3 reads 31 min. 498 MB ......My old series 2dt reads 31min. 853 MB .....the series 3 unit when transferring to TivoDesktop is doing this to all recordings.
When I run the files thru VideoReDo..their are way to many audio synch errors, than when I load it into DVDStyler 1.5 I get :
Prepare
Cleaning temporary directory
Generating menus
Generating menu 1 of 1
Prepare
Converting jpg to mpeg
INFO: [jpeg2yuv] Parsing & checking input files.
INFO: [jpeg2yuv] YUV colorspace detected.
INFO: [jpeg2yuv] Starting decompression
INFO: [jpeg2yuv] Image dimensions are 720x480
INFO: [jpeg2yuv] Movie frame rate is: 29.970030 frames/second
INFO: [jpeg2yuv] Interlaced frames, top field first.
INFO: [jpeg2yuv] Frame size: 720 x 480
INFO: [jpeg2yuv] Number of Loops 1
INFO: [jpeg2yuv] Now generating YUV4MPEG stream.
INFO: [jpeg2yuv] Processing non-interlaced/interleaved C:\Documents and Settings\Kevin Faye\dvd\menu1-0.mpg_bg.jpg, size 155981
INFO: [jpeg2yuv] Rescaling color values.
++ WARN: [mpeg2enc] Unknown stream tag encountered: 'C420jpeg'
INFO: [mpeg2enc] Selecting DVD output profile
INFO: [mpeg2enc] Encoding MPEG-2 video to C:\Documents and Settings\Kevin Faye\dvd\menu1-0.mpg_bg.m2v
INFO: [mpeg2enc] Horizontal size: 720 pel
INFO: [mpeg2enc] Vertical size: 480 pel
INFO: [mpeg2enc] Aspect ratio code: 1 = 1:1 pixels
INFO: [mpeg2enc] Frame rate code: 4 = 30000.0/1001.0 (NTSC VIDEO)
INFO: [mpeg2enc] Bitrate: 9000 KBit/s
INFO: [mpeg2enc] Quality factor: 8 (1=best, 31=worst)
INFO: [mpeg2enc] Field order for input: top-field-first
INFO: [mpeg2enc] Sequence unlimited length
INFO: [mpeg2enc] Search radius: 16
INFO: [mpeg2enc] GOP SIZE RANGE 9 TO 18
INFO: [mpeg2enc] Setting colour/gamma parameters to "NTSC"
INFO: [mpeg2enc] Progressive format frames = 0
INFO: [mpeg2enc] Buffering 45 frames
INFO: [mpeg2enc] SETTING MMX and EXTENDED MMX for QUANTIZER!
INFO: [mpeg2enc] SETTING EXTENDED MMX for MOTION!
INFO: [mpeg2enc] SETTING MMX for TRANSFORM!
INFO: [mpeg2enc] SETTING EXTENDED MMX for PREDICTION!
INFO: [mpeg2enc] GOP LENGTH = 1
INFO: [mpeg2enc] Frame start 0 I 0 0
INFO: [mpeg2enc] Frame end 0 220.68 220.68 8.6 8.57
INFO: [mpeg2enc] GOP LENGTH = 0
Multiplexing audio and video
INFO: [???] mplex version 2.0.0 (2.2.3 $Date: 2004/01/13 20:45:26 $)
INFO: [???] File C:\Documents and Settings\Kevin Faye\dvd\menu1-0.mpg_bg.m2v looks like an MPEG Video stream.
INFO: [???] File C:\Program Files\DVDStyler\data\silence.mp2 looks like an MPEG Audio stream.
INFO: [???] Video stream 0: profile 8 selected - ignoring non-standard options!
INFO: [???] Found 1 audio streams and 1 video streams
INFO: [???] Selecting dvdauthor DVD output profile
INFO: [???] Multiplexing video program stream!
INFO: [???] Scanning for header info: Video stream e0 (C:\Documents and Settings\Kevin Faye\dvd\menu1-0.mpg_bg.m2v)
INFO: [???] VIDEO STREAM: e0
INFO: [???] Frame width : 720
INFO: [???] Frame height : 480
INFO: [???] Aspect ratio : 1:1 pixels
INFO: [???] Picture rate : 29.970 frames/sec
INFO: [???] Bit rate : 9000000 bits/sec
INFO: [???] Vbv buffer size : 229376 bytes
INFO: [???] CSPF : 0
INFO: [???] Scanning for header info: Audio stream c0 (C:\Program Files\DVDStyler\data\silence.mp2)
INFO: [???] MPEG AUDIO STREAM: c0
INFO: [???] Audio version : 1.0
INFO: [???] Layer : 2
INFO: [???] CRC checksums : no
INFO: [???] Bit rate : 16384 bytes/sec (128 kbit/sec)
INFO: [???] Frequency : 48000 Hz
INFO: [???] Mode : 0 stereo
INFO: [???] Mode extension : 0
INFO: [???] Copyright bit : 0 no copyright
INFO: [???] Original/Copy : 0 copy
INFO: [???] Emphasis : 0 none
INFO: [???] SYSTEMS/PROGRAM stream:
INFO: [???] rough-guess multiplexed stream data rate : 9319496
INFO: [???] target data-rate specified : 10080000
INFO: [???] Setting specified specified data rate: 10080000
INFO: [???] Scanned to end AU 0
INFO: [???] Run-in Sectors = 89 Video delay = 13019 Audio delay = 0
INFO: [???] New sequence commences...
INFO: [???] Video e0: buf= 237568 frame=000000 sector=00000000
INFO: [???] Audio c0: buf= 4096 frame=000000 sector=00000000
INFO: [???] STREAM e0 completed @ frame 0.
INFO: [???] STREAM c0 completed @ frame 249.
INFO: [???] Multiplex completion at SCR=536868.
INFO: [???] Video e0: buf= 237568 frame=000000 sector=00000021
INFO: [???] Audio c0: buf= 1024 frame=000249 sector=00000048
INFO: [???] VIDEO_STATISTICS: e0
INFO: [???] Video Stream length: 41314 bytes
INFO: [???] Sequence headers: 1
INFO: [???] Sequence ends : 1
INFO: [???] No. Pictures : 0
INFO: [???] No. Groups : 1
INFO: [???] No. I Frames : 1 avg. size 41314 bytes
INFO: [???] No. P Frames : 0 avg. size 0 bytes
INFO: [???] No. B Frames : 0 avg. size 0 bytes
INFO: [???] Average bit-rate : 9905600 bits/sec
INFO: [???] Peak bit-rate : 0 bits/sec
INFO: [???] BUFFERING stream too short for useful statistics
INFO: [???] AUDIO_STATISTICS: c0
INFO: [???] Audio stream length 96000 bytes.
INFO: [???] Syncwords : 250
INFO: [???] Frames : 250 padded
INFO: [???] Frames : 0 unpadded
INFO: [???] BUFFERING stream too short for useful statistics
INFO: [???] MUX STATUS: no under-runs detected.
Multiplexing subtitles (buttons) into mpeg
DVDAuthor::spumux, version 0.6.14-GfD-1.
Build options: gnugetopt iconv freetype
Send bugs to <gfd@boraxsoft.de>
INFO: Locale=C
INFO: Converting filenames to US-ASCII
STAT: 0:00:00.000
INFO: PNG had 2 colors
INFO: PNG had 2 colors
INFO: PNG had 2 colors
INFO: Pickbuttongroups, success with 1 groups, useimg=1
INFO: Found EOF in .sub file.
INFO: Max_sub_size=148
INFO: 1 subtitles added, 0 subtitles skipped, stream: 32, offset: 0.18
Create VOB files
Fix MPEG-file: G:\DVD'S\PBS\Ken Burns\Ken Burns American Stories - ''The Congress'' (Recorded Nov 7, 2007, WNET).mpg
warning: couldn't find any valid system header. I'm continuing anyway
DemultiplexingXXX : [audio 00 video 01] [ 0.01%]
DemultiplexingXXX : [audio 07 video 03] [ 5.00%]
DemultiplexingXXX : [audio 11 video 04] [ 10.00%]
DemultiplexingXXX : [audio 12 video 05] [ 15.00%]
DemultiplexingXXX : [audio 14 video 07] [ 20.00%]
DemultiplexingXXX : [audio 14 video 09] [ 25.00%]
DemultiplexingXXX : [audio 15 video 10] [ 30.00%]
DemultiplexingXXX : [audio 16 video 10] [ 35.00%]
DemultiplexingXXX : [audio 16 video 10] [ 40.00%]
DemultiplexingXXX : [audio 16 video 11] [ 45.00%]
DemultiplexingXXX : [audio 16 video 11] [ 50.00%]
DemultiplexingXXX : [audio 16 video 14] [ 55.00%]
DemultiplexingXXX : [audio 16 video 14] [ 60.00%]
DemultiplexingXXX : [audio 16 video 14] [ 65.00%]
DemultiplexingXXX : [audio 16 video 14] [ 70.00%]
DemultiplexingXXX : [audio 16 video 14] [ 75.00%]
Erroneous packet size, skipping
DemultiplexingXXX : [audio 16 video 15] [ 80.00%]
DemultiplexingXXX : [audio 16 video 15] [ 85.00%]
DemultiplexingXXX : [audio 16 video 15] [ 90.00%]
Erroneous packet size, skipping
Erroneous packet size, skipping
DemultiplexingXXX : [audio 16 video 15] [ 95.00%]
DemultiplexingXXX : [audio 16 video 15] [100.00%]
INFO: [???] mplex version 2.0.0 (2.2.3 $Date: 2004/01/13 20:45:26 $)
INFO: [???] File C:\Documents and Settings\Kevin Faye\dvd\title0-0-0-0.m2v looks like an MPEG Video stream.
**ERROR: [???] File unrecogniseable!
**ERROR: [???] Unrecogniseable file(s)... exiting.
Error executing of command: mplex -f 8 -S 0 -M -V -o "C:\Documents and Settings\Kevin Faye\dvd\title0-0-0.vob" "C:\Documents and Settings\Kevin Faye\dvd\title0-0-0-0.m2v" "C:\Documents and Settings\Kevin Faye\dvd\title0-0-0-0.mp2"
s this a hardware problem specific to my series 3 unit?
Has anyone had a problem like this?
I have to stop recording on my series 3.....I can't put them on dvd
I also noticed when Cablevision came to remove cable box & installed the cards in TCD648250B Series3 HD Digital Media Recorder my signaled from tivo to my TV is now on HDMI,Composite 1 & S Video 1 where w/my series 2 dt box it was on HDMI,TV channel 03 NTSC & Composite 1, now all I get is snow on NTSC
Could someone please point me in the right direction
I have some season series's coming to an end, one or two episodes left, I would hate to lose them, esp. after all the time & effort to get the full series.

dlfl
11-09-2007, 07:32 PM
Did you mean to post in this thread? I don't see how your problem relates to TVAP?

I've used the Dan203 method (VRD + DVDStyler) but not on HD videos. Don't have any idea what the problem is. Try posting on the VideoReDo and DVDStyler forums, and/or start a new thread on this forum, perhaps in the Series3/HD section.

Good luck!

dlfl
11-09-2007, 11:42 PM
I thought TVSuite had an identical COM interface (used by TVAP) to VRD-Plus. However I get TVSuite crashes when TVAP trys to start AdScans using the TVSuite COM interface (using Beta 544).

I've posted this problem on the VideoReDo TVSuite support thread and I'm hoping this is just a temporary bug in the Beta version -- or that VRD can tell me what is different about the TVSuite COM interface so I can adapt TVAP appropriately.

As mentioned in a previous post, if you have both Plus and TVSuite installed, the COM interface that is used by TVAP is determined by which program was last run in the normal GUI interactive mode.

Thus if you are running TVSuite my suggested work-around to allow TVAP to automate adscans is as follows:

1. Keep a copy of VRD-Plus installed (or download and install it). I'm not aware of any conflicts from having both programs installed -- as I do.

2. Before running TVAP, start VRD Plus and shut it down. This will cause TVAP to use the Plus COM interface. Unfortunately I just modified TVAP so if you have both Plus and TVSuite installed, the "Run VideoReDo" button will run TVSuite, which will cause further COM operations to run from TVSuite. If I don't get a quick resolution of the problem from VRD, I will release a new version where the button defaults to VRD Plus (if it is installed).

Dan203
11-10-2007, 01:55 AM
Has DanR responded to your problem yet? If not let me know and I'll point him toward it. (the COM interface is his territory)

Dan

dlfl
11-10-2007, 11:24 AM
Has DanR responded to your problem yet? If not let me know and I'll point him toward it. (the COM interface is his territory)

Dan
I see TVSuite beta 545, just released, has this on the fix list:

Batch: Ad-Detective scan will crash if running in silent mode on WinXP. Was OK on Vista.

Sounds like that was my problem -- will test.

Thanks Dan

Edit: Limited testing indicates TVSuite Beta 545 has fixed the problem!

Thus if you are using TVAP with TVSuite, upgrade TVSuite to 545 !

wgw
11-17-2007, 01:36 PM
Would it be possible to auto enable filters during QSF processing? On my first test I ran into a file that had an errant 720x480 frame at the transition from commercials back to the movie while the rest of the Tivo file was 528x480. Don't know how often this occurs. It caused VideoReDo to crash during ad scan and TVAP assumed process was complete. When enable filters is selected, a window pops up asking you to select the video dimension. Normally there is just one dimension listed and filtering is not required. It would be great if TVAP could check the enable filters box to see if more than one dimension appears. If only one appears, auto press OK and proceed with QSF. If more than one appears, pause and let the user select appropriate video dimension before proceeding with QSF.

Also, is it possible to auto shrink the TVAP window vertically when the window is maximized. I use a double high taskbar and the bottom of the window is cut off even when maximized.

wgw
11-17-2007, 02:01 PM
I didn't see the Episode Number in the metadata window but was wondering if it was available. I'd love to be able to rename the output file to include the episode number after the title in the file name. Episode Num is not always provided on the Tivo Program Details screen, but when available, it sure would be handy to make it part of the file name. Great program though, Thanks.

dlfl
11-17-2007, 10:37 PM
Would it be possible to auto enable filters during QSF processing? .............. It would be great if TVAP could check the enable filters box to see if more than one dimension appears. If only one appears, auto press OK and proceed with QSF. If more than one appears, pause and let the user select appropriate video dimension before proceeding with QSF.
I looked into this briefly and don't see a way to do it via the VRD COM interface that TVAP uses.

Also, is it possible to auto shrink the TVAP window vertically when the window is maximized. I use a double high taskbar and the bottom of the window is cut off even when maximized.
Not sure I understand here. Are you using 800x600 screen graphics? Even with just 1024x768 graphics, there is plenty of room for a double layer task bar. TVAP is only 576 pixels high. Of course the TVAP window can be resized manually.

dlfl
11-17-2007, 11:01 PM
I didn't see the Episode Number in the metadata window but was wondering if it was available. I'd love to be able to rename the output file to include the episode number after the title in the file name. Episode Num is not always provided on the Tivo Program Details screen, but when available, it sure would be handy to make it part of the file name. Great program though, Thanks.
TVAP does read the "episodeTitle" metadata and reports it as sub-title. I don't have a .tivo file that has an episode number in it. The only series I record is "The Office", which doesn't have it. However I do have a "Cranky Geeks" podcast in my NPL and I notice the episode title (which would be sub-title in TVAP) is "Episode 90". (This file cannot be transfered to my PC of course.)

See if you see episode numbers in your files in the sub-title in the TVAP metadata display. Or maybe I just need to get a .tivo that has an episode number field in it distinct from the episodeTitle field. What are some series that you know have the numbers?

wgw
11-18-2007, 12:29 AM
TVAP does read the "episodeTitle" metadata and reports it as sub-title. I don't have a .tivo file that has an episode number in it. The only series I record is "The Office", which doesn't have it. However I do have a "Cranky Geeks" podcast in my NPL and I notice the episode title (which would be sub-title in TVAP) is "Episode 90". (This file cannot be transfered to my PC of course.)

See if you see episode numbers in your files in the sub-title in the TVAP metadata display. Or maybe I just need to get a .tivo that has an episode number field in it distinct from the episodeTitle field. What are some series that you know have the numbers?

Coming up on KTVIDT, Seinfeld and Stargate SG-1 have "Episode Num". Also CSI Miami on KSDKDT. Family Guy and Chappelle's Show on KPLRDT.

It's shows up even after the file has been transferred to the PC. So it's there somewhere. It's on the additional info screen with all the actors names, directors, producers, etc.

wgw
11-18-2007, 12:56 AM
Are you using 800x600 screen graphics? Even with just 1024x768 graphics, there is plenty of room for a double layer task bar. TVAP is only 576 pixels high. Of course the TVAP window can be resized manually.

Yes, I'm using 800x600 so I can read while reclining from a distance.:) When I resize the window manually or maximize, the last few lines in the log window disappears and the scroll won't bring them into view. A minor problem but I thought I'd ask. I also frequently run across apps that are more tall than wide and disappear well below the taskbar. But I think those are usually written in "PAL" countries where I guess the monitors are sized differently. But one can't complain too much when it's free.:up:

dlfl
11-18-2007, 03:02 AM
17 November 2007 Ver. 0.43
- Added Episode # and Movie Year (when available) to the metadata display. Sub-title is now labeled Episode in this display.

Note: this changes the structure of the XML database file, so you will have to go through the start up configuration process again.

@ wgw:
I grabbed a minute or so of a CSI - Miami episode and used it to figure out how to read the ep #. I had been wanting the movie year (for movies) myself.

dlfl
11-18-2007, 12:46 PM
Yes, I'm using 800x600 so I can read while reclining from a distance.:) When I resize the window manually or maximize, the last few lines in the log window disappears and the scroll won't bring them into view. A minor problem but I thought I'd ask. I also frequently run across apps that are more tall than wide and disappear well below the taskbar. But I think those are usually written in "PAL" countries where I guess the monitors are sized differently. But one can't complain too much when it's free.:up:
lol! I too use the (highly ergonomic :rolleyes:) "reclining" position. But I'm able to get by with 1024x768. I sense slightly veiled disdain from younger users who normally use higher resolutions.

There is a standard windows method that you could use to scroll (actually just move) the window up so you can look at the log information, although I don't know if you will find it useful:

Right click on the title bar of the window. Select "Move". Use the up/down arrow keys to move the window up and down. Click on the window to end the move mode. (You can also just drag with the title bar in the move mode, but since you need to get the title bar off screen, that won't work for you.)

dlfl
11-19-2007, 09:35 PM
Minor GUI fixes:
- Form now cannot be resized. Maximize button is disabled.
- Cleaned up tab order and prevented focus on read-only text display boxes.

expletive
11-19-2007, 09:50 PM
Sounds neat, anything similar for OS X?

dlfl
11-19-2007, 10:54 PM
Sounds neat, anything similar for OS X?
Unfortunately not. It's programmed in Microsoft Visual Studio C# which is tightly integrated wtih the Windows .NET framework.

I've heard of this type project being ported to linux (e.g., Tivo.Net) using a software package called "mono" which (I think) kind of substitutes for the the .NET framework on linux OS.

However I don't have access to a linux box nor the time to do the port. TVAP also uses one COM object and one .NET class library (.dll) furnished by other parties, plus it uses Windows scripting to run VBscripts. Given all this, I suspect the mono port would be very complicated if possible at all.

Sorry!

saberman
11-19-2007, 10:55 PM
No enhancements this time -- fixed a bug that occured if you configured moving .TiVo files to a destination folder.

Download: ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/

Can you define automatic edits of the file name during the move? TiVo transfers a file that is in a group with a name like:
Group Name - ''Episode description''

I would like to remove "Group Name - " -- IOW everything befor the double '.

Stu

dlfl
11-19-2007, 11:15 PM
Can you define automatic edits of the file name during the move? TiVo transfers a file that is in a group with a name like:
Group Name - ''Episode description''

I would like to remove "Group Name - " -- IOW everything befor the double '.

Stu
Hmmmm... Didn't quite follow that. Can you spell it out in more detail?

Edit: I think I see some of what you're getting at. I'm still using Desktop 2.3 while I understand that from 2.4 on you could group files in subfolders on your pc and the grouping would show up on the TiVo NPL when they were transfered back. Is that what you are talking about? Please post post several samples, plus more details of what you would want done.

How does a file get "grouped" on the TiVo other than being transferred back from a pc?

dlfl
11-20-2007, 10:02 AM
Off possible interest to anyone using both TVAP and pyTivo (http://www.tivocommunity.com/tivo-vb/showthread.php?t=328459):

Schemes to have pyTivo (http://www.tivocommunity.com/tivo-vb/showthread.php?t=328459)include metadata with files it serves back to the TiVo are under investigation. It appears they will involve a separate text or xml file paired with the video file on your pc. I am monitoring these developments and as soon as a scheme is adopted I plan to mod TVAP so it automatically generates the required metadata file.

See the pyTivo thread (http://www.tivocommunity.com/tivo-vb/showthread.php?t=328459)for more details on metadata developments.

Edit (later):
I've got this running with a pre-release version of TVAP and a pre-release version of pyTivo (build 6ddab, which can be downloaded from the pyTiVo download site.) By including Series ID, the TTCB files will group properly in the NPL. TVAP generates the required metadata text file and puts it in the same directory as the TVAP-processed output video. Before releasing it, I want to test and refine the TVAP version and I'm hoping an "official" version of pyTivo with the metadata capability will be released soon.

saberman
11-21-2007, 01:17 AM
Hmmmm... Didn't quite follow that. Can you spell it out in more detail?

Edit: I think I see some of what you're getting at. I'm still using Desktop 2.3 while I understand that from 2.4 on you could group files in subfolders on your pc and the grouping would show up on the TiVo NPL when they were transfered back. Is that what you are talking about? Please post post several samples, plus more details of what you would want done.

How does a file get "grouped" on the TiVo other than being transferred back from a pc?

Let me try again.

I have grouping set on on the TiVo. Therefore, all of the broadcasts of Boston Legal go into a group call Boston Legal. Let us assume that the description of the a particular episode is ''A mess''. If I transfer that episode to the PC useing TiVo Desktop the file name becomes:
Boston Legal - ''A mess''

When this happens I rename the file to ''A mess'' and move it to a sub directory called Boston Legal. So my question is can I edit the file name to remove the group name that TiVo prepends to the episode name? In this case it is the string |Boston Legal - |. Without the framing |'s.

dlfl
11-21-2007, 07:46 AM
.........I have grouping set on on the TiVo. Therefore, all of the broadcasts of Boston Legal go into a group call Boston Legal. Let us assume that the description of the a particular episode is ''A mess''. If I transfer that episode to the PC useing TiVo Desktop the file name becomes:
Boston Legal - ''A mess''

When this happens I rename the file to ''A mess'' and move it to a sub directory called Boston Legal. So my question is can I edit the file name to remove the group name that TiVo prepends to the episode name? In this case it is the string |Boston Legal - |. Without the framing |'s.
I understand now. Part of my problem was I've never used grouping on my TiVo NPL and didn't even know how to turn it on and off (until yesterday) :o

Are there other users interested in this feature? One problem I have is where to put the check box to turn this on and off. The TVAP GUI is pretty busy already and I'm reluctant to enlarge the form. I have a "special" version of it that I use at home that runs batch files to create XVID and WMV versions of the processed MPEG2 files and some of the real estate that looks empty in the distributed version has check boxes to control these "hidden" features.

Anyway if there is a significant user interest, I would be willing to attempt it.

wgw
11-22-2007, 02:23 AM
Edit (later):
I've got this running with a pre-release version of TVAP and a pre-release version of pyTivo (build 6ddab, which can be downloaded from the pyTiVo download site.) By including Series ID, the TTCB files will group properly in the NPL. TVAP generates the required metadata text file and puts it in the same directory as the TVAP-processed output video. Before releasing it, I want to test and refine the TVAP version and I'm hoping an "official" version of pyTivo with the metadata capability will be released soon.

The suspense is killing me. I want my metadata. ;)

dlfl
11-22-2007, 05:20 AM
The suspense is killing me. I want my metadata. ;)
Made a lot of progress refining it tonight. Channel Number, Station Call Sign and recording date are automatically inserted in the metadata text file now. The recording date requires a mod to pyTivo so I need to get on that thread and talk about it. The call sign and recording date are already in the TTG file name but by sending them back as metadata they show up properly in the screen you get in NPL when you select a program -- this is in the small print at right center of the screen.

And now a break for turkey. Happy Thanksgiving to all! :cool:

dlfl
11-23-2007, 01:35 AM
If you've been following the pyTivo thread you know that armooo (pyTivo author) has really delivered on the metadata thing. TVAP will be able to fill in a lot more items than I had been planning but it will take some more time for me to hook it up.

dlfl
11-23-2007, 11:17 PM
For mpeg2 output types, TVAP now automatically generates a metadata text file that pyTivo transcoding server (http://www.tivocommunity.com/tivo-vb/showthread.php?t=328459)(Ver. 143ca....) will automatically use to attach metadata to videos it serves back to your TiVo box.

The name of the file is <videoFileName>.mpg.txt and it is placed in the folder with the final mpeg2 output file of your TVAP process.

These items are supported:
title
series title
episode title
description
series ID (which will support grouping in the NPL)
recording time/date
channel
call sign
original air date (or movie year if it's a movie)
actor(s)
director(s)
genre(s) (called categories in TiVo info display)

pyTivo supports a few more items but this set will be the starting point for TVAP.

Thanks are due to Armooo (pyTivo author) and FrooBrar (tivoDecode author) for making this possible and to Dan203 for general useful info.

dlfl
11-24-2007, 11:52 AM
Ver. 0.45 was parsing the TivoDecode XML chunk incorrectly and thus creating incorrect seriesID numbers.

If you have processed files with 0.45, their metadata files will have incorrect seriesID numbers. If you've been following the pyTivo thread you know how to get the correct seriesID -- provided the original tivo file is still on your tivo (or can be resurrected from the deleted folder).

If the transferred file is still on your pc in the transfer directory (or can be moved there), here is another way:

1. Shut down TVAP if it's running

2. In the TVAP installation folder, edit TivoFileManager.xml in notepad.

3. Find the <TivoFileData> ..... </TivoFileData> section(s) for each file you want a new seriesID for and delete all the lines including the two tags just given. Close notepad.

4. Restart TVAP then shut it down as soon as it will let you.

This forces TVAP to re-generate the metadata for the files you deleted. Now you can look at TivoFileManager.xml (just double click it and it will come up in your browser - or use notepad again).

The correct seriesID is now there. You can copy and paste it from there to correct your existing metadata text file(s).

Here is the TVAP download site again for your convenience:

ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/

Edit: Based on a couple of samples I think the correct seriesID string will be the first 8 characters of the one generated by 0.45 with the first two chars changed to "SH".

wgw
11-24-2007, 03:19 PM
I see you snuck in that concatenation of the series title and episode. ;) Works for me. The title and episode are now displayed on the tivo when grouping is turned off. As it should be. Hopefully armooo responds to your ticket and can work out something so that transfers, even without metadata, display that way. Thanks for the metadata. Great work.

dlfl
11-24-2007, 03:40 PM
I see you snuck in that concatenation of the series title and episode. ;) Works for me. The title and episode are now displayed on the tivo when grouping is turned off. As it should be. Hopefully armooo responds to your ticket and can work out something so that transfers, even without metadata, display that way. Thanks for the metadata. Great work.
Wasn't sure how that would work out -- may see problems with more experience. Anyway glad you noticed it and liked it (so far).

I convert most of my .tivo-to-mpeg2 files to xvid/avi (to save space) and all one has to do is rename the metadata file appropriately and put it in the right folder and pyTivo will serve the metadata back with the avi. I really like the flexibility of Armooo's metadata scheme!

Actually I have a "special" version of TVAP for personal use only that does the avi conversion and the rest all automatically. I would provide that to the public except it's a real kludge of batch files (with hardwired paths) and freebie video programs (aviSynth, dgIndex) that must be installed. Attempting to make that distributable would be difficult at best.

wgw
11-25-2007, 09:15 AM
Seems to work as advertised ... if only I could make Ad-Detective more reliable!

The stars must be in perfect alignment today. Adscan detected every commercial perfectly on one of my shows. That's a first.

wgw
11-25-2007, 09:42 AM
BTW, were you able to find EpisodeNumber in the tag data?

I have recorded an entire series of a show. Before I transfer them back to the TiVo, I would like to concatenate the EpisodeNumber into the title, like you did with the seriesTitle and EpisodeTitle. I would like to concatenate them in the fomat SeriesTitle+EpisodeNumber+EpisodeTitle. That way the TiVo will sort the episodes in episodeNumber order and I can easily watch them in sequence without drilling down to the Program details page to find the episode number.

If you create the standalone metadata program you mentioned in the pyTivo thread, would it be possible to create a config file that the user could modify to change how the tag data is output.

dlfl
11-25-2007, 10:49 AM
BTW, were you able to find EpisodeNumber in the tag data?

I have recorded an entire series of a show. Before I transfer them back to the TiVo, I would like to concatenate the EpisodeNumber into the title, like you did with the seriesTitle and EpisodeTitle. I would like to concatenate them in the fomat SeriesTitle+EpisodeNumber+EpisodeTitle. That way the TiVo will sort the episodes in episodeNumber order and I can easily watch them in sequence without drilling down to the Program details page to find the episode number.

If you create the standalone metadata program you mentioned in the pyTivo thread, would it be possible to create a config file that the user could modify to change how the tag data is output.
lol :D I actually had something close to what you want (for ep #) working during development then removed it. One potential problem is some series don't have episodeNumber defined in the TivoDecode xml chunk that I parse. I will try to get this mod in today. I like your alpha-sort idea. However there is a small issue: ep #11 will alpha-sort before ep #2 UNLESS I force all ep# to (e.g.) 3 characters, with leading zeros filled. Of course using 3 chars, there still would be problems if numbers reached 1000. Your thoughts?

Re the metadata utility: yes some sort of user control would be nice. I would rather do it via the GUI (e.g., check boxes as in TVAP) but that can get out of hand if there are too many possible variations. I welcome any specific thoughts on the variations to be implemented. (Obviously one would be how the ep# is handled.) There also could be a checkbox for each item, setting whether it is included.

I haven't so far included all the items that pyTivo can handle. I wonder how important it is to do that?

wgw
11-25-2007, 01:15 PM
I'd like to see all the available tags dumped into the text file. I think PyTivo would ignore the tags it does not support. But you might want to put all the pytivo supported tags at the top of the txt file and all the unsupported tags at the bottom. Separate them with a line containing "#------------". You might be able to place a "#" in the first position of each line to comment out the unsupported tags. But I guess it would be best to check with armooo to determine the best way to add unsupported text to the metadata file.

For the metadata utility, I was thinking that you might be able to create a template file to be used with the utility. The template might contain something like:

"description : " <Description>
"title : " <Title>

Which the user could modify to create different templates for the output they want. Like:

"description : " <seriesId> <Description>
"title : " <Title>" - "<EpisodeNumber>" - "<EpisodeTitle>


For TVAP, I was kind of hoping you could rename the output file to also include EpisodeNumber in the filename, when available. For example,

Heroes - ''The Line".tivo

would be renamed to

Heroes -205 - ''The Line"_QSF.tivo

or you could use Tivo metadata tag data to create the output filename:

<Title>"_"<EpisodeNumber>"_"<EpisodeTitle>+_QSF.tivo

And if possible, create a template file defining the output filename which users could modify to adjust the output file name using metadata tag names.

For both TVAP and the metadata utility, you could probably create a dropdown selection list for all of the different templates found in the application folder.

For starters, create a default template and an episode template. As pyTivo changes, or others have unique requests for modified output, publish modifications as new or replacement templates rather than making hard coded changes in the program file.

Well, i've rambled on enough and probably asked for too much. But thanks in advance for anything you can do.

wgw
11-25-2007, 05:37 PM
Followup to my last post. I found this code in video.py. If I'm reading this right, it ignores lines starting with "#" when reading the metadata text file. As well as lines that do not contain a ":".

if line.strip().startswith('#'):
continue
if not ':' in line:
continue

dlfl
11-25-2007, 09:38 PM
Just a minor change in the metadata file format:
If the tivo file header contains an episode number it is inserted in the title item. The number is forced to 3 digits, i.e., 2 becomes 002. This is to support alphabetical sorting by episode number when grouping in the NPL.

example:
title : CSI: Miami (#508) - High Octane

Text preceding the ep # is the series title, which should be constant within a group.

msmart
11-26-2007, 02:21 AM
dlfl, I just wanted to say thanks for your TVAP application (v0.42). I recently started using it to automatically do Ad-Detective scans after shows have been downloaded to my PC. It works great!! Thanks for all your efforts and continued work on it.

schwingle
11-26-2007, 10:21 AM
Indeed, this is working really well for me too! I'm very pleased with it! Now all I need is a way to transcode the mpg's to avi. I'm still not finding anything I'm happy with and that is quick and easy to use.

dlfl
11-26-2007, 01:38 PM
......... Now all I need is a way to transcode the mpg's to avi. I'm still not finding anything I'm happy with and that is quick and easy to use.
I had exactly the same need -- see my post #119 on this thread. I have an automated process that (so far) has done a decent job on various types of content -- although it's not the ultimate in terms of compression vs. quality -- you can't have that and speed/simplicity at the same time.

My xvid/avi's are (currently) encoded at 1050 kbps video and 128 kbps audio for a total of 1178 kbps. Medium quality tivo files are at 2700 kbps (total) and best are around 5800 kbps. So that shows the file size compression ratio you get. The same process could be used for HD videos with increased bit rates of course. For medium quality tivo's on a 3 GHz pc, the encoding times are about 60% of video length.

If you are willing/able to deal with programs like aviSynth (http://sourceforge.net/project/showfiles.php?group_id=57023&package_id=72557&release_id=366702) and dgIndex (http://neuron2.net/dgmpgdec/dgmpgdec.html) (both free), I could put together instructions so you could duplicate what I do without having to become an expert on these programs or ffmpeg (http://ffdshow.faireal.net/mirror/ffmpeg/) (which is also used -- you already have this if you're running pyTivo or Tivo.Net).

schwingle
11-26-2007, 02:23 PM
I'd definitely be interested in instructions on how you're doing this. I have a spare machine I could dedicate to running this if I need so I guess it doesn't have to be fast as long as it works.

dlfl
12-06-2007, 10:26 PM
Added vSeriesGenre and vProducer to the metadata file created for pyTivo.

Download ***here*** (ftp://upload:upload@videoredo.net/VRD%20Add-Ons/TiVo-VideoReDo-AutoProcessor/)

Don't forget to uninstall any previous version you have.

HiKent
12-16-2007, 10:25 PM
Hi,

This program is great. A real timesaver. Is there any way to access the desktop plus functionality? In particular, it would be great if there was some way to automatically make the ipod conversion after the automatic scene cut?

dlfl
12-16-2007, 11:10 PM
Hi,
........Is there any way to access the desktop plus functionality? In particular, it would be great if there was some way to automatically make the ipod conversion after the automatic scene cut?
I don't even have DT+, not that I'm so cheap but just have never had a strong desire for it.

However I have my own "special" version of TVAP that runs batch files to encode either to 320x240 WMV (for Zune) or 640x480 XVID/AVI (for pyTivo transcoding), and another user was interested in doing that.

I'm toying with the idea of letting the user provide a batch file that would be run by TVAP to further encode the file output by VRD. With this scheme IF there is a command line that would run DT+ to accomplish your ipod encoding then what you want could be done.

TVAP can automatically provide the input file name as an argument to the batch file. TVAP would look for a batch file of a certain name (e.g., TVAPpostEncode.cmd) in the destination folder for your process and run it if it was there. Thus you would have a destination folder to take your TVAP output destined for ipod encoding and put a copy of this batch file in it. The batch file could put the ipod file wherever it wanted to.

So do you or anyone know if the ipod encoding can be implemented with a command line via DT+? Or could Videora or another encoder be used in command line/batch mode? Actually I'm pretty sure ffmpeg could do this.

Is anyone else interested in such a post-encode feature?

HiKent
12-17-2007, 01:15 AM
Thanks for the program and for getting back to me so quickly. I don't see a "batch" script in the desktop directory, but maybe there's an "exe" that will do it. I think I'll ask.

Thanks again, Kent

dlfl
12-18-2007, 11:10 AM
From change log:

18 December 2007 Ver. 0.49
- Added "showingBits" field to pyTivo medadata text file
- Killed confusing log message about unable to add metadata.
- Added automatic running of user-furnished post-processing batch file.

TVAP will run a batch file of your creation after processing each .mpg file.

-- For mpeg2 outputs, if you place a batch file named TVAPpostProcess.bat or TVAPpostProcess.cmd in the final destination directory TVAP will run the batch file upon completion of VRD processing of each file output to that folder..

The filename WITHOUT the .mpg extension and without the path is passed as the argument to this batch file. No configuration is necessary -- if the batch file is there it will be run.

Regarding this optional user post-process batch file (TVAPpostProcess.cmd):
a.) TVAP just starts the batch and waits for it to complete.
b.) It runs in the final destination folder where it is located.
c.) TVAP has no way to know whether it completed successfully or what it did.
d.) Thus the user is responsible for making the batch file work and not crash or
hang up. And also for not spawning dangling processes that keep on running
after the batch file has exited (unless you REALLY know what you're doing!).
e.) Here is a sample batch file that shows how to add the .mpg extension to
the passed file name and verify the existence of the .mpg file:

@echo off
setlocal
set mpgName="%~1.mpg"
echo batch file : mpgName is %mpgName%
if exist %mpgName% echo file exists!
pause

@HiKent:
If you wish I can supply you a batch file that will create Ipod-compatible files automatically using ffmpeg. I would need to know:

1. Do you have ffmpeg already? (I can tell you how to get it -- free of course.)
2. What size and bitrate (video and audio) do you desire?
3. What folder to you want the batch to put the .mp4 files in? (Or you can edit this in yourself -- need full path).

I don't have an Ipod so there might be a little tuning required. I'm using parameters recommended by ffmpeg for Ipod file creation. I found I have to drop some of the advanced parameters to get files that play in the QuickTime player -- don't know if that is a true test of Ipod compatibility or not, but I'm quite optimistic it can be done.

dlfl
12-24-2007, 10:07 PM
Use TVAP as before to automatically QSF and AdScan (without autocuts), thus creating a .vprj file in your AdScan destination folder.

TVAP remembers the .vprj file name and time/date stamp (via data in its xml file).

Then you manually review the edit cuts and save the .vprj file (with the same name in the same place).

TVAP detects the change in the time/date stamp (to later) of that .vprj file and then commands VRD to perform the autocut (using your modified edits) creating the final output file (in the AdScan destination folder).

Then TVAP will run the "user supplied" batch file (the feature just added in Ver. 0.49), if it ("TVAPpostProcess.cmd") is present in the AdScan destination folder AND if the file extension of the final-edited file is .mpg.

If desired you can do all this from within TVAP. After creating the .vprj file(s), stop processing and run GUI VRD to load and review the cuts. Then when you restart processing the auto-generation of the output file with your modified edits will occur.

If you don't want to use the post-batch file for re-encoding to MPEG4 you could just use it to transfer completed files to another folder and/or delete the .vprj files.

This will entirely automate your process (and mine too!), and you just do the manual edit reviews whenever you want.

This was a complicated mod so there may be bugs. Please let me know. I've left the previous version on the download site so you can revert to it if necessary.

dlfl
12-26-2007, 03:39 AM
26 December 2007 Ver. 0.51
- Removed "_QSF" from .vprj file names.
- Tightened logic determining when user post-process batch is run.

MacerX
01-07-2008, 11:31 PM
If you wish I can supply you a batch file that will create Ipod-compatible files automatically using ffmpeg. I would need to know:

1. Do you have ffmpeg already? (I can tell you how to get it -- free of course.)
2. What size and bitrate (video and audio) do you desire?
3. What folder to you want the batch to put the .mp4 files in? (Or you can edit this in yourself -- need full path).

I don't have an Ipod so there might be a little tuning required. I'm using parameters recommended by ffmpeg for Ipod file creation. I found I have to drop some of the advanced parameters to get files that play in the QuickTime player -- don't know if that is a true test of Ipod compatibility or not, but I'm quite optimistic it can be done.

I would appreciate a sample .CMD file! I have some experience with ffmpeg from using pytivo, but my batch file experience is minimal.

I would prefer to know what you use for archiving to be sent back to pyTivo as opposed to ipod though. (I have 2 series 2 649 and 1 HD Tivo 652).

I have been burning many hours experimenting with different codecs and applications as part of a closed loop flow, but since you already seem to have this figured out, I would be thrilled to completely adopt your process and actually get back to watching some TV!!!

Thanks,
MacerX

dlfl
01-08-2008, 09:23 AM
I would appreciate a sample .CMD file! I have some experience with ffmpeg from using pytivo, but my batch file experience is minimal.

I would prefer to know what you use for archiving to be sent back to pyTivo as opposed to ipod though. (I have 2 series 2 649 and 1 HD Tivo 652).

I have been burning many hours experimenting with different codecs and applications as part of a closed loop flow, but since you already seem to have this figured out, I would be thrilled to completely adopt your process and actually get back to watching some TV!!!

Thanks,
MacerX
The only process I have any significant experience with produces xvid/avi files and uses dgindex and avisynth to feed a .avs stream into ffmpeg. You can of course feed the mpeg2 directly into ffmpeg. The .avs method allows an autocrop, i.e., if the video is a movie with 2.35:1 aspect it will automatically crop and produce a 640x272 output instead of 640x480. This allows faster and more efficient processing both for encoding and for pyTivo transcoding later. (You can do this cropping manually with ffmpeg arguments also but you have to manually configure it for each video.)

I also have a version that produces .mp4 files. However I've only used it twice and the second time it produced an output with bad audio sync shift. The same video processed to xvid/avi was OK. Thus I can't recommend this process (although a change of ffmpeg version or parameter changes might fix it).

And of course my process is tuned to SD, although I assume the mods to make it handle HD would not be difficult, and you can probably figure that out since you've had experience with ffmpeg already.

So I have some questions for you:
1. Is xvid/avi OK or do you have to have .mp4?
2. How do you feel about installing AviSynth and dgIndex (both free and easy to install)?

If you don't want to mess with AviSynth and dgIndex, I can either:

1. Send you my ffmpeg parameters
2. If you need the batch file logic, I will gen and test a batch file that just uses ffmpeg and send it to you.

philhu
01-08-2008, 09:36 AM
BTW, were you able to find EpisodeNumber in the tag data?

I have recorded an entire series of a show. Before I transfer them back to the TiVo, I would like to concatenate the EpisodeNumber into the title, like you did with the seriesTitle and EpisodeTitle. I would like to concatenate them in the fomat SeriesTitle+EpisodeNumber+EpisodeTitle. That way the TiVo will sort the episodes in episodeNumber order and I can easily watch them in sequence without drilling down to the Program details page to find the episode number.

If you create the standalone metadata program you mentioned in the pyTivo thread, would it be possible to create a config file that the user could modify to change how the tag data is output.

episodeNum is a valid metadata tag and DOES show up on the Tivo. I looked using the INFO button to files transferred to the tivo.

And the Tivo does sort episodes if it is there

philhu
01-08-2008, 09:39 AM
why would someone want AVI files. MPG seem to work fine, don't they?

dlfl
01-08-2008, 07:25 PM
why would someone want AVI files. MPG seem to work fine, don't they?
xvid/avi are mpeg4 compression level, i.e., they only take 1/3 to 1/4 as much space to archive.

dlfl
01-08-2008, 07:27 PM
episodeNum is a valid metadata tag and DOES show up on the Tivo. I looked using the INFO button to files transferred to the tivo.

And the Tivo does sort episodes if it is there
Yep and my programs (linked below) process it. They also add it to the "title" metadata item in parentheses just to be helpful.

MacerX
01-08-2008, 11:57 PM
So I have some questions for you:
1. Is xvid/avi OK or do you have to have .mp4?
2. How do you feel about installing AviSynth and dgIndex (both free and easy to install)?

If you don't want to mess with AviSynth and dgIndex, I can either:

1. Send you my ffmpeg parameters
2. If you need the batch file logic, I will gen and test a batch file that just uses ffmpeg and send it to you.

1. xvid/avi is fine, I'm assuming your talking h.264 when you mention .mp4.
2. I've actually been intending to learn how to use AviSynth anyway, so this will be a good kick in the pants.

1. I would also like to see your ffmpeg parameters for reference.
2. Unfortunately, yes I will need the batch file logic. Also, can you recommend a good online reference for writing batch files?

Thanks,
MacerX

P.S. I'm on business travel so I won't be able to run anything until Friday night at the earliest.

dlfl
01-09-2008, 09:41 AM
...............
P.S. I'm on business travel so I won't be able to run anything until Friday night at the earliest.
I'll get something to you by then.

dlfl
01-10-2008, 09:48 PM
1. xvid/avi is fine, I'm assuming your talking h.264 when you mention .mp4.
2. I've actually been intending to learn how to use AviSynth anyway, so this will be a good kick in the pants.

1. I would also like to see your ffmpeg parameters for reference.
2. Unfortunately, yes I will need the batch file logic. Also, can you recommend a good online reference for writing batch files?

Thanks,
MacerX

P.S. I'm on business travel so I won't be able to run anything until Friday night at the earliest.
Here is the MediaFire link to a zip package containing the batch file and instructions (http://www.mediafire.com/?ahmwxllmxmf). Start with the BatchNotes.txt file.

Others are welcome to try this TVAPpostProcess.cmd file. You need to have AviSynth, dgIndex and ffmpeg. Here is what it's about:

This batch produces xvid/avi files and uses dgindex and avisynth to feed a .avs stream into ffmpeg. You can of course feed the mpeg2 directly into ffmpeg. The .avs method allows an autocrop, i.e., if the video is a movie with 2.35:1 aspect it will automatically crop and produce a 640x272 output instead of 640x480. This allows faster and more efficient processing both for encoding and for pyTivo transcoding later. (You can do this cropping manually with ffmpeg arguments also but you have to manually configure it for each video.) The .avs method also provides more sophisticated handling of interlacing and field order.

Edit: Changed link to new improved batch file.

MacerX
01-12-2008, 10:07 AM
Here is the MediaFire link to a zip package containing the batch file and instructions (http://www.mediafire.com/?ceh4ddsdxmm). Start with the BatchNotes.txt file.

Others are welcome to try this TVAPpostProcess.cmd file. You need to have AviSynth, dgIndex and ffmpeg. Here is what it's about:

This batch produces xvid/avi files and uses dgindex and avisynth to feed a .avs stream into ffmpeg. You can of course feed the mpeg2 directly into ffmpeg. The .avs method allows an autocrop, i.e., if the video is a movie with 2.35:1 aspect it will automatically crop and produce a 640x272 output instead of 640x480. This allows faster and more efficient processing both for encoding and for pyTivo transcoding later. (You can do this cropping manually with ffmpeg arguments also but you have to manually configure it for each video.) The .avs method also provides more sophisticated handling of interlacing and field order.

Thank you for putting this together!

I had a few challenges that I hope are behind me now as everything seems to be working.

1)Autocrop.dll was missing and I had to downoad it seperately.
2)My folder names all had spaces in them, which appeared to be an issue.
3)I downloaded dgindex 1.4.8, but avisynth installation already included 1.5.0 of the dgdecode.dll and I did not overwrite the avisynth version with the version you included so I ended up with a version mismatch.
4)The .cmd file had 2 or 3 instances where the path was hardcoded instead of using the path at the top of the file.

When I get some more time, I'll experiment some more.

I did have a TVAP issue where I was transfering a file with tivodesktop while my wife was using he tivo, so transfer was slow, and TVAP began converting the file prematurely. Is there a way to loosen the timing parameters on TVAP to wait longer to make sure transfers are complete?

dlfl
01-12-2008, 07:32 PM
Thank you for putting this together!

I had a few challenges that I hope are behind me now as everything seems to be working.

1)Autocrop.dll was missing and I had to downoad it seperately.
2)My folder names all had spaces in them, which appeared to be an issue.
3)I downloaded dgindex 1.4.8, but avisynth installation already included 1.5.0 of the dgdecode.dll and I did not overwrite the avisynth version with the version you included so I ended up with a version mismatch.
4)The .cmd file had 2 or 3 instances where the path was hardcoded instead of using the path at the top of the file.

When I get some more time, I'll experiment some more.

I did have a TVAP issue where I was transfering a file with tivodesktop while my wife was using he tivo, so transfer was slow, and TVAP began converting the file prematurely. Is there a way to loosen the timing parameters on TVAP to wait longer to make sure transfers are complete?
Sorry for the problems but glad you got it working. I would be interested in your "debugged" batch file if you can get it to me conveniently. I prefer folder names with no spaces in them and bullet-proofing a batch file to handle spaces takes some tedious trial and error testing sometimes.

TVAP just checks the file size every five seconds and if it is non-zero and didn't change for five seconds it declares the file transferred. I have to think of what other pros and cons would be involved in increasing that time span. I would guess doubling it would be no problem but not sure about going any further than that. Doing a windows copy of a .tivo into the transfer folder can really cause problems because windows sets the file size to the total size immediately when the copy starts. Haven't thought of a reasonable way to handle that but I hope it isn't something that users will do very often. Multiple files queued for transfer in Desktop (at least ver. 2.3 that I use) work the opposite way. All the files immediately show up in the directory but with zero size, until a file starts transferring. That one was easily handled by requiring a non-zero file size.

dlfl
01-12-2008, 09:08 PM
I believe I've addressed all the problems noted by MacerX two posts back and here is the link to download the improved batch file (http://www.mediafire.com/download.php?ahmwxllmxmf). I also added the AviSynth autocrop plugin that was missing.

MacerX: You asked about H264 encoding. ffmpeg doesn't encode it but does decode it, per their documentation. These xvid/avi encodings use what ffmpeg calls its mpeg4codec.

If you're interested in H264 encoding, take a look at (free) AutoMKV (http://forum.doom9.org/showthread.php?t=113811). You already have most of the required free software to support it.

MacerX
01-12-2008, 10:17 PM
Sorry for the problems but glad you got it working. I would be interested in your "debugged" batch file if you can get it to me conveniently.

Looks about the same as your modified batch file.

This is the first time I tried to attach a file so hopefully it comes through OK.

Thanks again!:)

MacerX
01-12-2008, 10:30 PM
MacerX: You asked about H264 encoding. ffmpeg doesn't encode it but does decode it, per their documentation. These xvid/avi encodings use what ffmpeg calls its mpeg4codec.

If you're interested in H264 encoding, take a look at (free) AutoMKV (http://forum.doom9.org/showthread.php?t=113811). You already have most of the required free software to support it.

I've decided to wait on h264 until I can get a new server/HTPC built. My Athlon 3000+ can become processor limited, especially on HD material with h264 or with multiple operations competing for the single core. I'm looking at dual or quad core next.

dlfl
01-12-2008, 11:52 PM
Looks about the same as your modified batch file.

This is the first time I tried to attach a file so hopefully it comes through OK.

Thanks again!:)
The file came through OK and the differences do look unimportant. One exception: Search for "mp4" in your version and replace it with "avi", one place. This was my error and only makes a difference if the target encoded video file path/name already exists, in which case the batch deletes it.

You're welcome! And I hope you get some use out of it.

BTW I've been looking at the TVAP time delay and think I will increase it from 5 to 15 seconds in the next release, probably tomorrow. It will still update the file size number of files being transferred every five seconds. Thanks for the user feedback on that.

dlfl
01-14-2008, 10:15 PM
- Increased time interval .TiVo file must have constant size to be declared "done transferring" from 5 seconds to 15 seconds. This is to reduce possible problem experienced by one user when his TiVo box was busy doing other things and DeskTop failed to transfer any bytes during a five second interval -- and TVAP decided the file was done transferring. Note this required increasing the startup delay time from 7 seconds to 18 seconds.

- Added starRating, mpaaRating and tvRating to metadata file.

Follow link in my signature to get download link.

wgw
01-17-2008, 09:01 PM
Is it possible to launch VideoReDo at low priority from TVAP?

dlfl
01-17-2008, 11:42 PM
Is it possible to launch VideoReDo at low priority from TVAP?
Try substituting this special version of TVAP (http://www.mediafire.com/?esmmwtbjdxc)for your executable file. At least in my tests it runs VRD processes at "Below Normal" priority.

You can see the priority in Task Manager (View->Select Columns->Base Priority). Sort by process name in reverse alpha order and look for either "videoReDo.exe" (VRD plus) or "videoReDo3.exe" (TVSuite) while VRD is processing a file.

If this works for you, I solicit opinions from other users as to whether they want this feature permanently in the program. It makes no difference in file processing time in my tests, presumably because I'm not running any competing processes with "Normal" or higher priority.

One side effect is if you should happen to be running another instance of VRD outside TVAP, it also will be set to reduced priority.

wgw
01-18-2008, 12:33 AM
Thanks, that works.:up::)

I would prefer low priority instead of belownormal if you think it's appropriate. I am running pyTivo/ffmpeg at belownormal and don't want TVAP/AdScan to slow down ffmpeg when it's transferring to the Tivo.

I solved the problem of other VRD instances running at below normal priority by making a copy of the VRD executable, renamed it to VRD.exe, and changed my main shortcut to point to the new copy of VRD.exe. Maybe you could have TVAP copy VideoReDo.exe to TVAP-VRD.exe when TVAP is launched and run the copy in low priority instead of the original.

EDIT: Making a copy did not work so well after all. TVAP is using the last VRD executable opened, Regardless of it's file name. Oh well, maybe you can still find a way to copy it from within TVAP.

dlfl
01-18-2008, 09:33 AM
Thanks, that works.:up::)

I would prefer low priority instead of belownormal if you think it's appropriate. I am running pyTivo/ffmpeg at belownormal and don't want TVAP/AdScan to slow down ffmpeg when it's transferring to the Tivo.

I solved the problem of other VRD instances running at below normal priority by making a copy of the VRD executable, renamed it to VRD.exe, and changed my main shortcut to point to the new copy of VRD.exe. Maybe you could have TVAP copy VideoReDo.exe to TVAP-VRD.exe when TVAP is launched and run the copy in low priority instead of the original.

EDIT: Making a copy did not work so well after all. TVAP is using the last VRD executable opened, Regardless of it's file name. Oh well, maybe you can still find a way to copy it from within TVAP.
TVAP is written in MS DevStudio 2005 C#. The enumeration available for setting process priority is very coarse. The next level below "Below Normal" is "Idle". Maybe that will work but it sounds drastic. Do you want to try it?

Edit: I see there is a one-to-one correspondence of the priority levels settable in Task Manager and the enumeration available in C#. Only difference is C# has "Idle" where Task Manager has "Low". I could easily add a TVAP command line argument, say /p<#> where <#> ranges from 1 (low) to 4 (above normal). Then you just edit your desired priority override into your shortcut command line.

Otherwise I will look for some other way to set priority with a finer scale.

I wonder about the advisability of running multiple simultaneous copies of VRD. Its settings, e.g., Ad Detective parameters, have only a single copy in the registry. (Thus if you change them with in one running instance, you might affect another running instance.) TVSuite and VRD Plus do have separate registry settings. Is this an important requirement for you? (Or for any other users reading this?). I don't want to have TVAP renaming executables -- too dangerous I think!

How are you setting your pyTivo/ffmpeg priorities? Any possibility you could set them a notch above "below normal" (but still below normal?).

I think there may be a way for TVAP to identify ONLY the instance of VRD it has launched and only change that one's priority -- will look into it.

wgw
01-18-2008, 09:08 PM
TVAP is written in MS DevStudio 2005 C#. The enumeration available for setting process priority is very coarse. The next level below "Below Normal" is "Idle". Maybe that will work but it sounds drastic. Do you want to try it?

Yes, I think that might do it. It sounds like "Idle" is probably the same as "Low" in Task Manager. I would prefer that TVAP yield to all other processes so that I can perform more important tasks while TVAP is quietly running in the backround and only when other tasks do not require the processor.

Edit: I see there is a one-to-one correspondence of the priority levels settable in Task Manager and the enumeration available in C#. Only difference is C# has "Idle" where Task Manager has "Low". I could easily add a TVAP command line argument, say /p<#> where <#> ranges from 1 (low) to 4 (above normal). Then you just edit your desired priority override into your shortcut command line.

That works for me. Sounds like that might be the most effective implementation. Unless it would be easier to add a dropdown box within the GUI for the user to select the priority of processes launched by TVAP.

Otherwise I will look for some other way to set priority with a finer scale.

A range of 1 to 4 should be sufficient. Whatever is easiest.

I wonder about the advisability of running multiple simultaneous copies of VRD. Its settings, e.g., Ad Detective parameters, have only a single copy in the registry. (Thus if you change them with in one running instance, you might affect another running instance.) TVSuite and VRD Plus do have separate registry settings. Is this an important requirement for you? (Or for any other users reading this?). I don't want to have TVAP renaming executables -- too dangerous I think!

I was suggesting making a copy of the executable rather than renaming, but I definitely agree that that is only a last resort if another solution is possible.

I frequently run multiple instances. While TVAP is doing an adscan, I open the previous adscan project and edit the cut points. When I'm done, I save the project. TVAP then sees that the old vprj has changed when it finishes the current adscan and immediately cuts and saves the project I just edited. An excellent feature I might add. Editing a project does not require too much processor so it does not affect the TVAP adscan running in the backround too much.

I can't comment on the separate settings for VRD and TVSuite. I have not upgraded to the latter yet. But will probably do so soon.

How are you setting your pyTivo/ffmpeg priorities? Any possibility you could set them a notch above "below normal" (but still below normal?).

I run pyTivo in belownormal priority using a batch file containing the following command.

start /belownormal /b c:\python25\python.exe f:\pyTivo\pytivo.py -i input.dat

OR, by using this method upon Windows startup:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=5662566#post5662566
But I no longer run 5 servers as I mentioned in that post. The recent enhancements I made for pyTivo helped create the new HD compatible version of pyTivo server I was searching for. Boy, I can't believe I was running 5 servers. EEK! Seems like ages ago and I learned a lot since then. Kind of embarrasing to go back and read some of the mistakes I made.

I think there may be a way for TVAP to identify ONLY the instance of VRD it has launched and only change that one's priority -- will look into it.

Sounds good. Thanks for everything dlfl!

dlfl
01-19-2008, 02:57 PM
- Added command line option -p<#> to set priority of VRD processes.
0 = low, 1 = below normal, 2 = normal. TVAP defaults to below normal

- Added logic to prevent any possibility of writing empty DisplayMajorNumber item to pyTivo metadata file.

TVAP should only set the priority of the VRD processes it is controlling.

To add the CL arg to a shortcut, add it after the program path in the shortcut properties, target entry. Do not add it inside the quotation marks and do put a space between it and what is already there.

Note: An example CL arg is: -p1
There should be no space between the -p and the number.

The priority-setting feature has not been tested on Vista. If you have admin privileges it probably will work fine. Otherwise there are several possibilities:

1. It will still work fine.
2. It won't complain but just won't set priority.
3. It will bring up a message of some kind.

Let me know what you observe. You can see priority in Task Manager by configuring the Base Priority column in its process display.

I have seen three different process names for VRD:

videoredo3.exe
videoredo.exe
VIDEOR~1.exe (name mangling for DOS 8.3 filenames ??)

My computer just suddenly starting using the third one instead of the second one for no apparent reason at all. I think TVAP will handle it OK.

dlfl
01-26-2008, 12:03 AM
I believe I've addressed all the problems noted by MacerX two posts back and here is the link to download the improved batch file (http://www.mediafire.com/download.php?ahmwxllmxmf). I also added the AviSynth autocrop plugin that was missing.
..........
I see a few people have downloaded this xvid/avi TVAP post-process batch file package so just wanted to warn them of a problem I've seen with recent versions of ffmpeg.

I used the batch file to encode a 3.3 hr mpeg2 file and found it had bad audio sync -- OK at the start but audio lagging video by about 3 sec at the end. This occured with ffmpeg versions r11143 or r11562.

Version r8047 on the same input produced no sync problem.

So I created a clip of the first 30 min of the file (long enough to detect the audio lag) and did a binary search with encodings using the 14 versions available at http://ffdshow.faireal.net/mirror/ffmpeg/ between r8047 and r11143. I determined the problem appears after r9767 and before (or starting with) r10141.

A couple of other changes occured with more recent versions:
1. "-acodec mp3" has to be replaced with "-acodec libmp3lame"
2. "-ab 128" needs a k added: "-ab 128k"

The linked batch file was for r8047 so these changes may have to be incorporated if you use a later version. (ffmpeg won't start encoding and tells you the problem if you don't get them right.)

I've reported my audio sync findings to the ffmpeg user list -- we'll see what comes of that.

BTW my test movie was "Dr. Zhivago" -- what a film :cool:

wgw
01-26-2008, 08:50 AM
dlfl,

Would you mind trying the -copyts option with r11143 and your test file to see if it fixes the audio sync without producing any other problems? I'm wondering if this option might be a possible solution that can be added to pyTivo.

dlfl
01-26-2008, 12:34 PM
dlfl,

Would you mind trying the -copyts option with r11143 and your test file to see if it fixes the audio sync without producing any other problems? I'm wondering if this option might be a possible solution that can be added to pyTivo.

I tried this with r11143 and r11562. In both cases it tried to start encoding, and parameters for input and output tracks looked normal, but within a few seconds there was the well known windows error message.

I suspect there could be a conflict with feeding ffmpeg via aviSynth and this option. This would not apply to pyTivo usage of course.

Too bad -- a fix would have been nice.

dlfl
01-27-2008, 07:47 PM
HandBrake (http://handbrake.fr/) is free easy-to-use transcoding software I just became aware of, thanks to goodtrip in this thread (http://www.tivocommunity.com/tivo-vb/showthread.php?p=5902693#post5902693).

It seems to be getting popular and it has a CLI so it's a candidate for being called from a user-supplied TVAP post-processing batch file. Based on my initial tests it looks good.

I encoded the same 3.3 hr mpeg2 (used in my ffmpeg tests a few posts earlier) to the same specs I usually use for post-processing, i.e., mpeg4 video, mp3 audio, .avi container, and it did a comparable job. Audio sync was good and it auto-cropped perfectly for the 2.35:1 aspect ratio. Encoding speed was blazingly fast.

The HB approach is much simpler than my previous approach and removes any concerns about which version of ffmpeg will work. The CLI method requires only one .exe file and one .dll file for HB and a single line TVAPpostProcess.cmd file. Here is the CL I used:

"C:\Program Files\Handbrake\hbcli.exe" -i "J:\path\Input Video.mpg" -o "J:\path\output video.avi" -e ffmpeg -E lame -w 640 -m -b 900 -B 128 -R 48 -v

I didn't have to compose this CL. The Windows gui version of HB lets you set up an encoding then copy the command line it generates to your clipboard.
The command line arguments are documented here (http://trac.handbrake.fr/wiki/CLIGuide).
My example CL was for my mediocre quality SD TV, thus the width of 640 ("-w 640") and the bitrate of 900 kbps ("-b 900"). Note that autocropping is default -- doesn't require a CL option. (You can manually crop if desired.)

If you want to try it just download the windows gui package and install it. The CLI executable and required cygwin1.dll are included in that package since all the GUI does is set up CL args for the .exe and run it.

I need more mileage on this before blessing it, but if it holds up I'm thinking about putting together several HB-based TVAP post processing batch files to distribute with TVAP, each for a different "profile" (starting with the one given above for SD TV). TVAP users with different encoding needs could help with this by testing CL's for their target(s) and posting them.

One fly in the HB ointment could be handling different interlace conditions. The aviSynth method I've previously used is presumably more robust although HB also has CL options for deinterlace, telecine, etc. (but these must be set manually). So far all I can say is it handled one huge video just fine.

dlfl
01-27-2008, 10:03 PM
I've put a TVAP post-process batch file using Handbrake, and instructions, in this MediaFire download (http://www.mediafire.com/?5mwvo50zinm).

I'm using/testing it myself so keep your fire extinguisher handy. :rolleyes:

msmart
01-27-2008, 11:39 PM
TVAP users with different encoding needs could help with this by testing CL's for their target(s) and posting them.Here's what I came up using Handbrake's "iPod Low-Rez" preset, with two exceptions, lowering the video bitrate to 384 and frame rate to 25 (to match what I use in SUPER).

"C:\Program Files\Handbrake\hbcli" -i "G:\path\Input Video.mpg" -o "G:\path\Output Video.m4v" -e x264b30 -E faac -w 320 -b 384 -r 25 -x keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=384:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1 -B 160 -R 48

After one test CLI run: Handbrake positive vs SUPER, video is cropped so black border from TiVo files are gone. Handbrake negative vs SUPER, Handbrake uses more CPU.

However, since not every show I process via TVAP will be destined for the iPod, I'm not sure if I'll want to add a Handbrake script to a post-processing batch file. On the other hand, I could let it run then just delete the ones I don't want.

msmart
01-28-2008, 04:04 PM
dl, you have a typo in your Handbrake post-process batch file, the "set metafile" statement towards the bottom uses a variable of "outdir2" that isn't previously defined. It should be just "outdir".

Back to my thought of not wanting every show to be processed by the post-process batch file...

Is there any way to add a "Post-Process" option flag to the default options list? The thought is that after I kick off a TTG transfer, I would restore TVAP and deselect the Post Process option for the shows I don't want post-processed. If not through the GUI, I wouldn't mind editing the TivoFileManager file changing (the hoped for) <PostProcess>true</PostProcess> variable to false.

Possible?

dlfl
01-28-2008, 09:38 PM
dl, you have a typo in your Handbrake post-process batch file, the "set metafile" statement towards the bottom uses a variable of "outdir2" that isn't previously defined. It should be just "outdir".

Yes, sorry. Glad you had your fire extinguisher handy! And thanks for the IPod Handbrake command line!

Is there any way to add a "Post-Process" option flag to the default options list? The thought is that after I kick off a TTG transfer, I would restore TVAP and deselect the Post Process option for the shows I don't want post-processed. ......

Yes, I will add that to the next release, in a few days. I'm thinking of a "Do Postprocess" check box in the per-file settings. It would default to checked (although nothing would happen if the batch file wasn't in place). Or maybe a "No postprocess" check box that defaults to unchecked. (???).

msmart
01-29-2008, 01:05 AM
Thank you.I'm thinking of a "Do Postprocess" check box in the per-file settings. It would default to checked (although nothing would happen if the batch file wasn't in place). That's my vote as the others start off with Do... Default to checked, yes.And thanks for the IPod Handbrake command line!You're welcome. I'm glad to help in what little way I can.


BTW, Contratulations on 10,000+ Views!!

dlfl
01-29-2008, 10:22 PM
29 January 2008 Ver. 0.54
- Added Do post-process check box to per-file settings. Defaults to checked.
If checked, optional user-supplied TVAPpostProcess.cmd file will be run on
the completed mpeg2 file.

Now you can control which files are post-processed. If you don't have a post-process batch file in place, nothing will happen and it doesn't matter whether the new check box is checked.

For download follow TVAP link in my signature below.

msmart
02-04-2008, 12:34 AM
Now you can control which files are post-processed.This is GREAT!!! It works just as I asked. Thank you for this added feature.

dlfl
02-04-2008, 09:49 PM
4 February 2008 Ver. 0.55
- Fixed: Always ran user-supplied TVAPpostProcess.cmd file after manual review of .vprj file, ignoring Do post process checkbox setting.

And thanks to msmart for calling this to my attention!

dlfl
02-04-2008, 10:35 PM
Here is the mediafire.com link (http://www.mediafire.com/?8wf9tdbtfmq)to a new and improved TVAPpostProcess.cmd file for creating SD AVI files using Handbrake.

Improvements are:
1. The '&' character in video file name no longer breaks the batch.
2. Corrected "outdir2" typo near end.

dlfl
02-05-2008, 10:47 PM
5 February 2008 Ver. 0.56
- If your TVAPpostProcess.cmd uses Handbrake (hbcli.exe), its priority will be set to the same level as VRD processes, per the TVAP -p# command line option. (See Ver. 0.53 info in TVAPreadme.txt for priority setting.)
Note side effect: Any other instances of hbcli.exe running when your batch starts will also be set to this priority.

- Installer no longer removes Desktop shortcut on uninstall, and upon installation offers "Don't create a start menu folder" option which, if checked will not create a new shortcut -- thus preserving any -p# option you had edited into the shortcut target line.
Side effect: The start menu entry is also not created if this option is checked.

Note you can delete any shortcut by selecting it and hitting Shift-Del (in case you uninstall TVAP and want to get rid of the shortcut).

dlfl
02-11-2008, 01:19 PM
If you've wondered about when or whether to use QSF, take a look at this thread (http://www.videoredo.net/msgBoard/showthread.php?t=6163) on the VideoReDo forum.

dlfl
02-24-2008, 11:43 AM
Handbrake 0.9.2 (http://handbrake.fr/) was released 19 Feb and everything in it has changed. I haven't tried it yet but here are several immediate comments/suggestions:

1. If you are already happily using the previous version, don't be too quick to install over it. When you run the Windows installer, modify the installation directory, e.g., ...../HandBrake92 instead of ...../HandBrake. Then you can have both versions. Note the installer will automatically update the desktop shortcut to point to the latest version.

2. The name of the command-line program has changed from hbcli.exe to HandBrakeCLI.exe. (It was already HandBrakeCLI.exe in the command-line-only distribution, and appeared to be the identical file.) This means you need to change the program name in your batch file(s). This also means TVAP will have to be modified so it will set process priority for that name. (Does not break Ver. 0.56, just means the priority setting won't work on HandBrake processes until I fix it.)

3. Changes to the GUI and CLI version appear to be substantial. There is an option to invoke the presets in the CLI now.

dlfl
02-24-2008, 03:20 PM
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 (http://www.mediafire.com/download.php?8wf9tdbtfmq). On an initial test, it appears to work as-is with the new HandBrake CLI version, if you edit in the right .exe name.

jetJock3315
03-04-2008, 01:16 PM
Thanks for the great app and the support you've offered though the forum.

Is there an automated way to remove the QSF files after processing? I have the "Delete TIVO" box checked and that file is properly deleted but I now have both the intended file *.DVR-MS in my Recorded TV folder, but the *_QSF.DVR-MS exist in its working folder as well. No doubt there is Post-process script I could figure out, but I though I would check to make sure I hadn't overlooked a required setting.

Thanks for your time.

dlfl
03-04-2008, 09:46 PM
Thanks for the great app and the support you've offered though the forum.

Is there an automated way to remove the QSF files after processing? I have the "Delete TIVO" box checked and that file is properly deleted but I now have both the intended file *.DVR-MS in my Recorded TV folder, but the *_QSF.DVR-MS exist in its working folder as well. No doubt there is Post-process script I could figure out, but I though I would check to make sure I hadn't overlooked a required setting.

Thanks for your time.
First, welcome to the forum.

At present you would have to do this in TVAPpostProcess.cmd. However I'm thinking about making deletion of the QSF file automatic after AdScan cuts are applied (either after manual edit of the .vprj or after auto-cut).

There could be situations where you might want to keep the QSF file, I imagine. Or I could try to squeeze in another checkbox for "Delete QSF" so you could have it either way.

User opinions are invited!

wgw
03-04-2008, 09:54 PM
I love lots of boxes, gimme more.;)

Seriously though, that would be nice feature. I run out of disk space frequently when processing lots of HD files.

msmart
03-05-2008, 01:09 AM
User opinions are invited!OK, you asked for it...

Yes, a check box, but place it in the "Settings for Selected File" section so we can pick and choose which files to delete rather than a default setting.

Speaking of picking and choosing, presently, after files are QSFed and Scanned, they disappear from the Transferred Status window. I would like to keep them there until after I edit the .vprj file and Auto Cut is run. This way we'll have the opportunity to check/uncheck Do Post Process (and the new Delete QSF)

dlfl
03-07-2008, 11:16 AM
......... presently, after files are QSFed and Scanned, they disappear from the Transferred Status window. I would like to keep them there until after I edit the .vprj file and Auto Cut is run. This way we'll have the opportunity to check/uncheck Do Post Process (and the new Delete QSF)
I assume by "Transferred Status Window" you mean the "Transferred TiVo Files" list (?). Also I assume you have Delete TiVos checked (?). (Files will stay on the list as long as the .tivo file remains in the transfer folder.) However there was no intent to allow the user to change the Do Postprocess status after the adscan (without autocuts) was completed. Currently TVAP sets status of such files as COMPLETED, even though a subsequent manually edited cut and postprocess may occur. This resulted because these two features were patched on rather than designed in from the start.

I'll look into doing what I think you want, i.e., allowing you to change the do postprocess status after the .vprj file has been created and before you have manually edited the cuts. And this will of course require keeping the file on the file list until after all processing has been done, even if Delete Tivos is checked.

Is this what you had in mind?

dlfl
03-07-2008, 07:36 PM
- 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.

msmart
03-07-2008, 10:21 PM
YES!!! That's exactly what I wanted. Thank you again.

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.

Slight change: Add item 1, launch TVAP, start processing, stop processing, close TVAP, add item 2.

I did both before launching 0.58, but found that after closing TVAP, the <DeleteQSF> entries were deleted so I had to add them back in. I had about 8 shows that were waiting when I upgraded from 0.56. The shows don't appear in the Transferred TiVo Files window but I would expect that because of the upgrade but the File Manager file knows about them so I'm sure they'll process as expected.

Added: Okay, did one short show and it DID work as expected. However, don't close TVAP or the <DeleteQSF> entries will get deleted from the waiting shows (I forgot to change the variable to false). But this should only happen to shows that were already waiting when TVAP was upgraded. I know this won't happen to new shows processed by TVAP v0.58 from the start. I just thought I would mention this little caveat for those that may also upgrade with files waiting.

Thanks again dlfl for the quick implementation of our requests.

jetJock3315
03-07-2008, 11:42 PM
Wow! What service.

It installed clean and I'm sure it will work great with the next show that gets pulled of the Tivo.

This is truely a great tool to help process and distibute my recorded shows to any location I want to watch them from - the way all media should be enjoyed!

Clusty
03-19-2008, 06:43 PM
Is there a way to automate a mpeg2 to mp4 after I run the .tivo through VideoReDo with this automation?

dlfl
03-19-2008, 09:40 PM
Is there a way to automate a mpeg2 to mp4 after I run the .tivo through VideoReDo with this automation?
Definitely, using a TVAPpostProcess.cmd batch file. See ***this post***. (http://www.tivocommunity.com/tivo-vb/showthread.php?p=6015048#post6015048) for example. Download HandBrake and find a profile that generates the kind of mp4 you want. Then get the command line and insert it in the TVAPpostProcess.cmd file. The example batch file linked in the referenced post generates XVID/AVI, which is one type of mpeg4. But HandBrake will also generate .mp4, including H264 encodings. The readme file for TVAP details how the user-supplied TVAPpostProcess.cmd file works.

dlfl
03-24-2008, 10:12 PM
Just to let you know I'm aware of issues that HD TiVo users have had with QSF failing on multi-dimensioned videos that can result from TTG transfers. These failures put the kabosh on TVAP's automatic processing flow.

There is hope for an automatic solution and I'm on the case. But I can't predict how soon it will happen. (The cleanest approach requires a new COM function from VRD that will determine the dominant dimensions so the QSF filter dimensions can be preset. They are considering doing it.)

If you want the gory details see the TVAP thread in the VRD forum (http://www.videoredo.net/msgBoard/showthread.php?t=4712), starting at post #63.

Also:

I just learned that TVSuite apparently has a better QSF function than Plus, per this thread in the VRD forum (http://www.videoredo.net/msgBoard/showthread.php?t=6110). I think VRD plans to update the Plus version but it's not clear how soon.

Reminder:
If you have both Plus and TVS installed, TVAP uses whichever one you last had open in the normal manual GUI mode for its automated VRD processing. I don't know how to get around this. There is a log message each timeTVAP starts a VRD process that tells you what version is being used.

dlfl
03-29-2008, 01:44 PM
Concerning the TVAPpostProcess.cmd file available at this link (http://www.mediafire.com/download.php?8wf9tdbtfmq):

Changes due to new Handbrake version (9.2, released 19 Feb 2008):

1. The name of the executable must be changed from hbcli.exe to HandBrakeCLI.exe .

2. The fourCC values inserted in the .avi file have changed from divx/DX50 to fmp4/FMP4. Per my testing these do not bother either ffmpeg (e.g., as used by pyTivo) or the VLC software player. OP have reported player compatibility issues and there is free software that allows you to change the fourCC codes. For more details see this thread in the HandBrake forum (http://forum.handbrake.fr/viewtopic.php?f=11&t=5161).

Correction: :

I've described the downloadable post-process file as creating XVID/AVI files. This is incorrect -- it creates MPEG4/AVI files using the ffmpeg MPEG4 video codec (which has the fourcc of FMP4). If you read the forum thread linked above you will see this is not a major distinction in many cases.

I have noted that if you specify XVID encoding in Handbrake 9.2 the encoding process runs MUCH slower. I guess I fall into the "blind" category as I still haven't seen the significant advantages of the encodings that take several times the video length over the fast ones that take much less than the video length (e.g. those using the MPEG4 encoder selection in Handbrake, single pass). But then I'm viewing SD videos via pyTivo on a SD 27" CRT TV.

blah238
04-13-2008, 08:52 PM
thanks for a great program dlfl.

two issues though:

1) i am having a problem with metadata, specifically TVAP doesn't seem to be finding any. I'm using TiVo Desktop 2.6.1, VideoRedo TVSuite 3.1.4.549 and TVAP 0.58.

I have a Series2 40hr TiVo, serial starting w/ 540. I am using TiVo Desktop to auto-transfer several series, and everything seems to work swimmingly, except there is no metadata when I right click a file in TVAP's list, and in the log it simply says "No metadata found" for the .tivo file of every episode of every show it's processed so far. Here is my log up to now:

4/13/2008 5:23:50 AM Found no starting log file - starting new one.
4/13/2008 5:23:50 AM Started program
4/13/2008 5:50:33 AM Started QSF, input: MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC)
4/13/2008 5:50:34 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 5:50:44 AM VideoReDo completed QSF, creating: E:\Video\TiVo\MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC)_QSF.dvr-ms
4/13/2008 5:50:44 AM No metadata found for: MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC).TiVo
4/13/2008 5:50:44 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 5:50:44 AM Started Ad Scan/auto-cuts, input: MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC)
4/13/2008 5:50:44 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 5:51:12 AM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC).dvr-ms
4/13/2008 5:51:12 AM No metadata found for: MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC).TiVo
4/13/2008 5:51:12 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 5:51:12 AM Deleted QSF: E:\Video\TiVo\MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC)_QSF.dvr-ms
4/13/2008 5:51:12 AM Deleted .TiVo file: MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC)
4/13/2008 7:02:15 AM Started QSF, input: Family Guy - ''Play It Again, Brian'' (Recorded Mar 2, 2008, KTBC)
4/13/2008 7:02:15 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 7:02:47 AM VideoReDo completed QSF, creating: E:\Video\TiVo\Family Guy - ''Play It Again, Brian'' (Recorded Mar 2, 2008, KTBC)_QSF.dvr-ms
4/13/2008 7:02:47 AM No metadata found for: Family Guy - ''Play It Again, Brian'' (Recorded Mar 2, 2008, KTBC).TiVo
4/13/2008 7:02:47 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 7:02:47 AM Started Ad Scan/auto-cuts, input: Family Guy - ''Play It Again, Brian'' (Recorded Mar 2, 2008, KTBC)
4/13/2008 7:02:48 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 7:04:34 AM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\Family Guy - ''Play It Again, Brian'' (Recorded Mar 2, 2008, KTBC).dvr-ms
4/13/2008 7:04:34 AM No metadata found for: Family Guy - ''Play It Again, Brian'' (Recorded Mar 2, 2008, KTBC).TiVo
4/13/2008 7:04:34 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 7:04:34 AM Deleted QSF: E:\Video\TiVo\Family Guy - ''Play It Again, Brian'' (Recorded Mar 2, 2008, KTBC)_QSF.dvr-ms
4/13/2008 8:17:45 AM Started QSF, input: MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC)
4/13/2008 8:17:47 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 8:18:49 AM VideoReDo completed QSF, creating: E:\Video\TiVo\MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC)_QSF.dvr-ms
4/13/2008 8:18:49 AM No metadata found for: MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC).TiVo
4/13/2008 8:18:49 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 8:18:49 AM Started Ad Scan/auto-cuts, input: MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC)
4/13/2008 8:18:49 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 8:21:42 AM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC).dvr-ms
4/13/2008 8:21:42 AM No metadata found for: MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC).TiVo
4/13/2008 8:21:42 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 8:21:42 AM Deleted QSF: E:\Video\TiVo\MythBusters - ''MacGyver Myths'' (Recorded Feb 20, 2008, DSC)_QSF.dvr-ms
4/13/2008 9:32:20 AM Started QSF, input: Dirty Jobs - ''Buoy Cleaner'' (Recorded Feb 24, 2008, DSC)
4/13/2008 9:32:21 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 9:33:01 AM VideoReDo completed QSF, creating: E:\Video\TiVo\Dirty Jobs - ''Buoy Cleaner'' (Recorded Feb 24, 2008, DSC)_QSF.dvr-ms
4/13/2008 9:33:01 AM No metadata found for: Dirty Jobs - ''Buoy Cleaner'' (Recorded Feb 24, 2008, DSC).TiVo
4/13/2008 9:33:01 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 9:33:01 AM Started Ad Scan/auto-cuts, input: Dirty Jobs - ''Buoy Cleaner'' (Recorded Feb 24, 2008, DSC)
4/13/2008 9:33:02 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 9:36:00 AM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\Dirty Jobs - ''Buoy Cleaner'' (Recorded Feb 24, 2008, DSC).dvr-ms
4/13/2008 9:36:00 AM No metadata found for: Dirty Jobs - ''Buoy Cleaner'' (Recorded Feb 24, 2008, DSC).TiVo
4/13/2008 9:36:00 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 9:36:00 AM Deleted QSF: E:\Video\TiVo\Dirty Jobs - ''Buoy Cleaner'' (Recorded Feb 24, 2008, DSC)_QSF.dvr-ms
4/13/2008 10:42:48 AM Started QSF, input: Dirty Jobs - ''Brown Plate Special'' (Recorded Feb 26, 2008, DSC)
4/13/2008 10:42:49 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 10:43:47 AM VideoReDo completed QSF, creating: E:\Video\TiVo\Dirty Jobs - ''Brown Plate Special'' (Recorded Feb 26, 2008, DSC)_QSF.dvr-ms
4/13/2008 10:43:47 AM No metadata found for: Dirty Jobs - ''Brown Plate Special'' (Recorded Feb 26, 2008, DSC).TiVo
4/13/2008 10:43:47 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 10:43:47 AM Started Ad Scan/auto-cuts, input: Dirty Jobs - ''Brown Plate Special'' (Recorded Feb 26, 2008, DSC)
4/13/2008 10:43:48 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 10:47:03 AM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\Dirty Jobs - ''Brown Plate Special'' (Recorded Feb 26, 2008, DSC).dvr-ms
4/13/2008 10:47:03 AM No metadata found for: Dirty Jobs - ''Brown Plate Special'' (Recorded Feb 26, 2008, DSC).TiVo
4/13/2008 10:47:03 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 10:47:03 AM Deleted QSF: E:\Video\TiVo\Dirty Jobs - ''Brown Plate Special'' (Recorded Feb 26, 2008, DSC)_QSF.dvr-ms
4/13/2008 11:42:38 AM Started QSF, input: Survivorman - ''Mountain'' (Recorded Mar 9, 2008, DSC)
4/13/2008 11:42:39 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 11:43:11 AM VideoReDo completed QSF, creating: E:\Video\TiVo\Survivorman - ''Mountain'' (Recorded Mar 9, 2008, DSC)_QSF.dvr-ms
4/13/2008 11:43:11 AM No metadata found for: Survivorman - ''Mountain'' (Recorded Mar 9, 2008, DSC).TiVo
4/13/2008 11:43:11 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 11:43:11 AM Started Ad Scan/auto-cuts, input: Survivorman - ''Mountain'' (Recorded Mar 9, 2008, DSC)
4/13/2008 11:43:11 AM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 11:45:52 AM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\Survivorman - ''Mountain'' (Recorded Mar 9, 2008, DSC).dvr-ms
4/13/2008 11:45:52 AM No metadata found for: Survivorman - ''Mountain'' (Recorded Mar 9, 2008, DSC).TiVo
4/13/2008 11:45:52 AM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 11:45:52 AM Deleted QSF: E:\Video\TiVo\Survivorman - ''Mountain'' (Recorded Mar 9, 2008, DSC)_QSF.dvr-ms
4/13/2008 12:42:39 PM Started QSF, input: Survivorman - ''African Plains'' (Recorded Mar 9, 2008, DSC)
4/13/2008 12:42:41 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 12:43:12 PM VideoReDo completed QSF, creating: E:\Video\TiVo\Survivorman - ''African Plains'' (Recorded Mar 9, 2008, DSC)_QSF.dvr-ms
4/13/2008 12:43:12 PM No metadata found for: Survivorman - ''African Plains'' (Recorded Mar 9, 2008, DSC).TiVo
4/13/2008 12:43:12 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 12:43:12 PM Started Ad Scan/auto-cuts, input: Survivorman - ''African Plains'' (Recorded Mar 9, 2008, DSC)
4/13/2008 12:43:13 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 12:45:51 PM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\Survivorman - ''African Plains'' (Recorded Mar 9, 2008, DSC).dvr-ms
4/13/2008 12:45:51 PM No metadata found for: Survivorman - ''African Plains'' (Recorded Mar 9, 2008, DSC).TiVo
4/13/2008 12:45:51 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 12:45:51 PM Deleted QSF: E:\Video\TiVo\Survivorman - ''African Plains'' (Recorded Mar 9, 2008, DSC)_QSF.dvr-ms
4/13/2008 1:41:47 PM Started QSF, input: Survivorman - ''Arctic'' (Recorded Apr 4, 2008, DSC)
4/13/2008 1:41:49 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 1:42:20 PM VideoReDo completed QSF, creating: E:\Video\TiVo\Survivorman - ''Arctic'' (Recorded Apr 4, 2008, DSC)_QSF.dvr-ms
4/13/2008 1:42:20 PM No metadata found for: Survivorman - ''Arctic'' (Recorded Apr 4, 2008, DSC).TiVo
4/13/2008 1:42:20 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 1:42:20 PM Started Ad Scan/auto-cuts, input: Survivorman - ''Arctic'' (Recorded Apr 4, 2008, DSC)
4/13/2008 1:42:21 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 1:45:00 PM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\Survivorman - ''Arctic'' (Recorded Apr 4, 2008, DSC).dvr-ms
4/13/2008 1:45:00 PM No metadata found for: Survivorman - ''Arctic'' (Recorded Apr 4, 2008, DSC).TiVo
4/13/2008 1:45:00 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 1:45:00 PM Deleted QSF: E:\Video\TiVo\Survivorman - ''Arctic'' (Recorded Apr 4, 2008, DSC)_QSF.dvr-ms
4/13/2008 2:44:14 PM Started QSF, input: The Sopranos - ''The Legend of Tennessee Moltisanti'' (Recorded Apr 9, 2008, AETV)
4/13/2008 2:44:15 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 2:44:47 PM VideoReDo completed QSF, creating: E:\Video\TiVo\The Sopranos - ''The Legend of Tennessee Moltisanti'' (Recorded Apr 9, 2008, AETV)_QSF.dvr-ms
4/13/2008 2:44:47 PM No metadata found for: The Sopranos - ''The Legend of Tennessee Moltisanti'' (Recorded Apr 9, 2008, AETV).TiVo
4/13/2008 2:44:47 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 2:44:47 PM Started Ad Scan/auto-cuts, input: The Sopranos - ''The Legend of Tennessee Moltisanti'' (Recorded Apr 9, 2008, AETV)
4/13/2008 2:44:48 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 2:47:34 PM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\The Sopranos - ''The Legend of Tennessee Moltisanti'' (Recorded Apr 9, 2008, AETV).dvr-ms
4/13/2008 2:47:34 PM No metadata found for: The Sopranos - ''The Legend of Tennessee Moltisanti'' (Recorded Apr 9, 2008, AETV).TiVo
4/13/2008 2:47:34 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 2:47:34 PM Deleted QSF: E:\Video\TiVo\The Sopranos - ''The Legend of Tennessee Moltisanti'' (Recorded Apr 9, 2008, AETV)_QSF.dvr-ms
4/13/2008 3:43:57 PM Started QSF, input: The Sopranos - ''Boca'' (Recorded Apr 10, 2008, AETV)
4/13/2008 3:43:58 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 3:44:27 PM VideoReDo completed QSF, creating: E:\Video\TiVo\The Sopranos - ''Boca'' (Recorded Apr 10, 2008, AETV)_QSF.dvr-ms
4/13/2008 3:44:27 PM No metadata found for: The Sopranos - ''Boca'' (Recorded Apr 10, 2008, AETV).TiVo
4/13/2008 3:44:27 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 3:44:27 PM Started Ad Scan/auto-cuts, input: The Sopranos - ''Boca'' (Recorded Apr 10, 2008, AETV)
4/13/2008 3:44:28 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 3:47:16 PM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\The Sopranos - ''Boca'' (Recorded Apr 10, 2008, AETV).dvr-ms
4/13/2008 3:47:16 PM No metadata found for: The Sopranos - ''Boca'' (Recorded Apr 10, 2008, AETV).TiVo
4/13/2008 3:47:16 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 3:47:16 PM Deleted QSF: E:\Video\TiVo\The Sopranos - ''Boca'' (Recorded Apr 10, 2008, AETV)_QSF.dvr-ms
4/13/2008 4:43:39 PM Started QSF, input: The Sopranos - ''A Hit Is a Hit'' (Recorded Apr 11, 2008, AETV)
4/13/2008 4:43:40 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 4:44:11 PM VideoReDo completed QSF, creating: E:\Video\TiVo\The Sopranos - ''A Hit Is a Hit'' (Recorded Apr 11, 2008, AETV)_QSF.dvr-ms
4/13/2008 4:44:11 PM No metadata found for: The Sopranos - ''A Hit Is a Hit'' (Recorded Apr 11, 2008, AETV).TiVo
4/13/2008 4:44:11 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 4:44:11 PM Started Ad Scan/auto-cuts, input: The Sopranos - ''A Hit Is a Hit'' (Recorded Apr 11, 2008, AETV)
4/13/2008 4:44:12 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 4:47:06 PM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\The Sopranos - ''A Hit Is a Hit'' (Recorded Apr 11, 2008, AETV).dvr-ms
4/13/2008 4:47:06 PM No metadata found for: The Sopranos - ''A Hit Is a Hit'' (Recorded Apr 11, 2008, AETV).TiVo
4/13/2008 4:47:06 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 4:47:06 PM Deleted QSF: E:\Video\TiVo\The Sopranos - ''A Hit Is a Hit'' (Recorded Apr 11, 2008, AETV)_QSF.dvr-ms
4/13/2008 5:42:44 PM Started QSF, input: The Sopranos - ''The Fleshy Part of the Thigh'' (Recorded Apr 11, 2008, AETV)
4/13/2008 5:42:46 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 5:43:17 PM VideoReDo completed QSF, creating: E:\Video\TiVo\The Sopranos - ''The Fleshy Part of the Thigh'' (Recorded Apr 11, 2008, AETV)_QSF.dvr-ms
4/13/2008 5:43:17 PM No metadata found for: The Sopranos - ''The Fleshy Part of the Thigh'' (Recorded Apr 11, 2008, AETV).TiVo
4/13/2008 5:43:17 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 5:43:17 PM Started Ad Scan/auto-cuts, input: The Sopranos - ''The Fleshy Part of the Thigh'' (Recorded Apr 11, 2008, AETV)
4/13/2008 5:43:18 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 5:46:01 PM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\The Sopranos - ''The Fleshy Part of the Thigh'' (Recorded Apr 11, 2008, AETV).dvr-ms
4/13/2008 5:46:01 PM No metadata found for: The Sopranos - ''The Fleshy Part of the Thigh'' (Recorded Apr 11, 2008, AETV).TiVo
4/13/2008 5:46:01 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 5:46:01 PM Deleted QSF: E:\Video\TiVo\The Sopranos - ''The Fleshy Part of the Thigh'' (Recorded Apr 11, 2008, AETV)_QSF.dvr-ms
4/13/2008 6:42:27 PM Started QSF, input: The Sopranos - ''Mayham'' (Recorded Apr 13, 2008, AETV)
4/13/2008 6:42:28 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 6:42:58 PM VideoReDo completed QSF, creating: E:\Video\TiVo\The Sopranos - ''Mayham'' (Recorded Apr 13, 2008, AETV)_QSF.dvr-ms
4/13/2008 6:42:58 PM No metadata found for: The Sopranos - ''Mayham'' (Recorded Apr 13, 2008, AETV).TiVo
4/13/2008 6:42:58 PM Check: TivoMetaDecode.ocx is registered and MAK is valid
4/13/2008 6:42:58 PM Started Ad Scan/auto-cuts, input: The Sopranos - ''Mayham'' (Recorded Apr 13, 2008, AETV)
4/13/2008 6:42:59 PM VideoReDo said: INFO: VideoReDo version 3. 1. 4. 549 - Dec 12 2007
4/13/2008 6:45:43 PM VideoReDo completed ADSCAN, creating: E:\Video\TiVo\The Sopranos - ''Mayham'' (Recorded Apr 13, 2008, AETV).dvr-ms
4/13/2008 6:45:43 PM No metadata found for: The Sopranos - ''Mayham'' (Recorded Apr 13, 2008, AETV).TiVo
4/13/2008 6:45:43 PM Check: TivoMetaDecode.ocx is registered and MAK is valid


As you can see it runs QSF, adscan with cuts, and converts to DVR-MS. I am using Vista Media Center (x64 Ultimate) to watch the folder the .tivo and .dvr-ms files are created in and they show up and play in Vista Media Center, but because there is no metadata each episode shows up as a different show name instead of grouped under that show name (eg. "The Sopranos - ''Mayham'' (Recorded Apr 13, 2008, AETV)" instead of just "The Sopranos").

Any ideas why no metadata is being found? It is clearly there, when I look at the Now Playing list in TiVo desktop, the episode name, description, etc. are all there. So I am confident that the metadata is there, in the .tivo file, but TVAP does not seem able to find it.

2) No thumbnails. I know this is kind of a long-standing issue but it is so close to being perfect that I hope you can get this feature in -- I read that the creator of DVRMSToolbox has a functional program to create a .jpg thumbnail of a given DVR-MS file, I can't imagine it would be hard to make it save a thumbnail to the file's metadata itself. Check it out: http://babgvant.com/blogs/andyvt/archive/2008/03/31/dvrmsthumbnail-grab-a-bitmap-of-a-dvr-ms-file-at-a-specified-time.aspx

I hope you can manage to get such a feature into TVAP, or perhaps just modify that program to write to a DVR-MS file's metadata and then it could be used with a batch file for post processing with TVAP.

Thanks again for a great piece of software!

dlfl
04-14-2008, 12:47 AM
TVAP reads the metadata from the .tivo file as soon as it completes transferring. It's stored in the XML data file and the info displayed for right clicks comes from there. When you output to DVR-MS, some of this metadata is inserted. I wondered if DT 2.6.1 might be the culprit but no, I just put that on one of my PC's and TVAP reads metadata from files it transfers OK.

What I'm suspecting is the tivocom.dll that TVAP uses to read metadata (and your MAK) either isn't getting properly registered by the installer, or some Vista security issue is preventing it from running. The Start->Run command I know for manually registering it is: regsvr32 tivocom.dll. After a little reading on MSDN I think Vista should be able to run the 32 bit stuff. What happens if you manually register the dll?

Also are you running with admin privileges? Check out this MS KB article (http://support.microsoft.com/kb/927386).

I don't run Vista but I know other TVAP users do. I will look into this further, and also the thumbnail thing.

blah238
04-14-2008, 01:51 AM
Thanks for the quick response!

I looked through the TivoFileManager.xml in my TVAP folder and like you would expect, the metadata fields are empty. You mentioned TVAP only looks for metadata right after a transfer finishes. What about for preexisting .tivo files? I.e. if I delete and reinstall TVAP, and I already have a bunch of .tivo files, does it look up their metadata when it reads my TiVo folder, or would I have to delete my .tivo files and transfer them again while TVAP is running? That could prove very cumbersome while trying to troubleshoot this problem. I will go record a 1-minute segment so I have something small to transfer and play with.

I'm using administrator account and UAC is disabled so I don't think it is a permissions issue. I did a file search for *tivo*.dll and the only results were Interop.tivocomLib.dll and TiVoDirectShowFilter.dll. So I don't even have a tivocom.dll on my machine. That be the problem? I've reinstalled TiVo Desktop several times so I don't know why that is.

Thanks again

edit: just for grins I tried running TVAP in Windows 95 compatibility mode and right clicked it and ran it as administrator (even though I already am one). Same problem.
edit2: also tried TD 2.5 and 2.6, same problem still (also no tivocom.dll with any of them).
edit3: also tried pyTivoMetaGen... it seems to have a similar problem (after selecting a .tivo file to generate metadata from, it just says 0 of 1 file processed, and no .txt file is generated). Also no tivocom.dll exists (still).
edit4: I found Froobrar's tivocom.dll 1.2 (here (http://tivodecode.sourceforge.net/tivocom/tivocom-1.2.zip)) -- unzipped and registered it with regsvr32. Neither pyTivoMetaGen or TVAP works still. Very strange. Is it a 64-bit problem? I am running Vista Ultimate x64.

dlfl
04-14-2008, 09:23 PM
TVAP will read metadata from existing files the first time it encounters them.

The tivocom.dll is installed in the Windows\System32 folder. I'm pretty sure the current version from the link you gave is not compatible with TVAP, which uses an older version. I suggest:

1. Unregister the tivocom dll you found.
2. Uninstall and re-install TVAP.
3. Is tivocom.dll now in the Windows\System32 folder?
4. If so, register it manually and try TVAP. (Re-registering doesn't hurt even if it's already registered.)

If the tivocom.dll is not being installed in the system32 folder, I will get a copy to you.

blah238
04-14-2008, 09:55 PM
TVAP will read metadata from existing files the first time it encounters them.

The tivocom.dll is installed in the Windows\System32 folder. I'm pretty sure the current version from the link you gave is not compatible with TVAP, which uses an older version. I suggest:

1. Unregister the tivocom dll you found.
2. Uninstall and re-install TVAP.
3. Is tivocom.dll now in the Windows\System32 folder?
4. If so, register it manually and try TVAP. (Re-registering doesn't hurt even if it's already registered.)

If the tivocom.dll is not being installed in the system32 folder, I will get a copy to you.

nope it is not being installed -- I did unregister the one I downloaded. then uninstalled and reinstalled TVAP. No tivocom.dll in the system32 folder or anywhere else. if you want to send me the file(s) you can email me at blah238 at gmail dot com

thanks!

dlfl
04-14-2008, 10:14 PM
nope it is not being installed -- I did unregister the one I downloaded. then uninstalled and reinstalled TVAP. No tivocom.dll in the system32 folder or anywhere else. if you want to send me the file(s) you can email me at blah238 at gmail dot com

thanks!
Actually you can download the version I use directly from the tivodecode site, I found: http://tivodecode.sourceforge.net/tivocom/tivocom.zip. At http://tivodecode.sourceforge.net/tivocom you find the links to both versions.

If you can manually register it and that makes metadata work in TVAP, then the problem is apparently an interaction between the installer and your version of Windows.

blah238
04-14-2008, 10:23 PM
will try it, thanks

blah238
04-14-2008, 10:38 PM
nope, still same problem (both pyTivoMetaGen and TVAP). i'm stumped!

dlfl
04-14-2008, 11:30 PM
Try unregistering tivocom.dll, moving the file to your %systemRoot%\sysWOW64 folder and re-registering.

Also, does TVAP install to program files\TVAP or program files(x86)\TVAP ?

Apparently there is "registry redirection" in x64 Windows and since tivoCom.dll does registry reads, that could be an issue, i.e., it might have to be specifically programmed for x64. Of course TVAP reads your Tivo Desktop transfer directory from the registry and apparently that works.

Google "wiki wow64" for more info.

blah238
04-15-2008, 12:08 AM
Try unregistering tivocom.dll, moving the file to your %systemRoot%\sysWOW64 folder and re-registering.
OK, did that -- but still the same problem.


Also, does TVAP install to program files\TVAP or program files(x86)\TVAP ?

The (x86) one.


Apparently there is "registry redirection" in x64 Windows and since tivoCom.dll does registry reads, that could be an issue, i.e., it might have to be specifically programmed for x64. Of course TVAP reads your Tivo Desktop transfer directory from the registry and apparently that works.

Google "wiki wow64" for more info.

I tried every combination of having the tivocom files in one or both of system32 and syswow64, registering the tivocom.dll in one or both of those directories, and tested both with TVAP and pyTivoMetaGen. No change. Stubborn bug this!

Not sure whether this indicates tivocom.dll needs to be rewritten for x64 but if it does that is a bummer.

What would be nice to know is if there is anyone else running Vista x64 and their experience with TVAP. If it works on other people's Vista x64 configs then at least we know that's not the problem.

So if anyone out there is running Vista x64 and TVAP tell us! :D
(specifically about the metadata issue -- TVAP actually works great in Vista x64 other than that)

jhoward15
04-16-2008, 12:41 PM
This may be a stupid question, but I'd like to start TVAP processing automatically on my media PC on bootup - basically click the start processing button automatically when the app runs. Is there a way to do this through a command-line arg? Are there other command-line args?

dlfl
04-16-2008, 03:54 PM
This may be a stupid question, but I'd like to start TVAP processing automatically on my media PC on bootup - basically click the start processing button automatically when the app runs. Is there a way to do this through a command-line arg? Are there other command-line args?
Welcome to the forum!

I'll look into doing this with a CL arg. There is now one CL arg, which is to adjust the processor priority of the VRD processes (Default is "below normal", see the TVAPreadme.txt file for more details).

I assume you would want it to start minimized (to the system tray) also?

jhoward15
04-16-2008, 10:42 PM
Welcome to the forum!

I'll look into doing this with a CL arg. There is now one CL arg, which is to adjust the processor priority of the VRD processes (Default is "below normal", see the TVAPreadme.txt file for more details).

I assume you would want it to start minimized (to the system tray) also?
That's just what I was thinking (although with a shortcut I can start it minimized)... Everything else is great!

dlfl
04-16-2008, 11:45 PM
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.

blah238
04-18-2008, 03:55 AM
FYI I formatted and went back to Vista 32-bit and TVAP and pyTivoMetaGen both work properly now. So I'd hazard a guess and say that means tivocom.dll needs a 64-bit rewrite.

FrooBrar
04-20-2008, 01:03 AM
I tried every combination of having the tivocom files in one or both of system32 and syswow64, registering the tivocom.dll in one or both of those directories, and tested both with TVAP and pyTivoMetaGen. No change. Stubborn bug this!

Not sure whether this indicates tivocom.dll needs to be rewritten for x64 but if it does that is a bummer.

What would be nice to know is if there is anyone else running Vista x64 and their experience with TVAP. If it works on other people's Vista x64 configs then at least we know that's not the problem.

So if anyone out there is running Vista x64 and TVAP tell us! :D
(specifically about the metadata issue -- TVAP actually works great in Vista x64 other than that)

I have tested tivocom on Vista x64 and it worked fine for me. I put up my test app on that same URL from before (http://tivodecode.sourceforge.net/tivocom/), for both 1.1 and 1.2 versions of the DLL. Extract the ZIP, register both DLLs, and open the test_tivo.hta. Make sure your MAK is right (if not, set it), then browse to the input file (.tivo file) and choose to "Show chunk". If some valid-looking XML shows up, tivocom is working properly.

I do not use TVAP, nor do I know exactly what it involves. However, tivocom should not require being rewritten for x64. If anything, it would just need to be recompiled, but this is unlikely since it must be the same bitness (32 or 64) as the process which loads it, and I bet that the loading app is 32-bit. If you want to try a 64-bit DLL, I can easily compile one for you.

dlfl: The only differences between the 1.1 and 1.2 dlls are that the OpenTivoFile method now takes the MAK as an optional parameter (leave it an empty string if you want the default) instead of always using the one in the registry, and it now allows decoding the MPEG data as well as the metadata. Also, you should NEVER Install stuff into system32, period. That's what the registry is all about. You can register a COM dll anywhere and it will work. Putting non-OS components in system32 is a bad practice to be in, which dates from the windows 3.1 days. Put the DLL in your program files directory and register it there, or possibly put it in a subdirectory of program files\common files and register it there.

Good luck.

dlfl
04-20-2008, 02:09 AM
Well, there you have it, unfortunately too late for you to test, I guess.

TVAP is a 32-bit application programmed in C# and using the .NET framework. I did verify you could put the dll in the TVAP runtime folder and register it there and TVAP recovered metadata OK, so I will probably modify the installer to do that in the future, per froobrar's advice.

Note that to register the dll in that folder you must use the path and enclose it in quotes if it contains any spaces, e.g.:

regsvr32 "c:\program files\TVAP\tivocom.dll"

OR you can run the regsvr32 command in a Command Window logged to the folder containing tivocom.dll, in which case the path isn't needed.

Edit: More info on registering on 64-bit windows:
Apparently there are two versions of regsvr32. To register a 32-bit dll you have to run the one in the sysWOW64 folder, see this MS KB article (http://support.microsoft.com/kb/282747/en-us). And you can't have the dll on the System32 folder, because that is reserved for 64-bit apps (yes you read correctly!). The article is dated Dec 2007 but it says it applies to XP x64, (presumably NOT Vista x64, as I understand there are differences). Perhaps they removed the dual-regsvr32 thing in Vista x64 ??

dlfl
04-20-2008, 11:15 PM
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 (links in signature). 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.

FrooBrar
04-21-2008, 01:24 AM
More info on registering on 64-bit windows:
Apparently there are two versions of regsvr32. To register a 32-bit dll you have to run the one in the sysWOW64 folder, see this MS KB article (http://support.microsoft.com/kb/282747/en-us). And you can't have the dll on the System32 folder, because that is reserved for 64-bit apps (yes you read correctly!). The article is dated Dec 2007 but it says it applies to XP x64, (presumably NOT Vista x64, as I understand there are differences). Perhaps they removed the dual-regsvr32 thing in Vista x64 ??

Nope. There are still the 32 and 64-bit regsvr32 executables on Vista x64. Although, it appears that MS somehow automatically notices if you try to run the 64-bit one against a 32-bit dll and runs the 32-bit one instead. Very nice of them.

And yes, my coworkers and I got a good laugh out of the system32/syswow64 naming mess as well (you put your 64-bit dlls in the directory with 32 in the name, and your 32-bit dlls in the directory with 64 in the name. Makes perfect sense...)

If you tried to put a 32-bit dll in system32 (which you could not do from a 32-bit installer without some trickery), the windows filesystem redirection would effectively prevent any 32-bit apps from using it. And since it is a 32-bit dll, no 64-bit apps could use it either.

blah238
04-21-2008, 01:34 AM
thanks guys. I will try a dual boot with Vista x64 and let you know how it goes.

dlfl
04-21-2008, 09:49 AM
thanks guys. I will try a dual boot with Vista x64 and let you know how it goes.
Based on new info just received from FrooBrar via PM, it probably won't work. It looks like I need to change one of the project settings to "force" 32 bit operation. (Apparently x64 is running the main app as 64bit because the default project setting is "any processor", -- and then it can't talk to the 32bit DLL.) More on this when I can get to it, perhaps by PM since we are testing.

dlfl
04-25-2008, 08:03 PM
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.

Thanks to blah238 and froobrar for testing and info.

blah238
04-25-2008, 09:43 PM
cool, glad to help test it.

Now if you were looking for more to do :p...

I noticed that dvr-ms files in Vista Media Center are missing some metadata such as duration, original airdate, date & time recorded, channel name/number, and of course thumbnails.

Other than thumbnails which I know is a complicated issue, is the other metadata supposed to be there and just isn't showing up in Vista Media Center, or does TVAP just not transfer those metadata fields to dvr-ms?

dlfl
05-04-2008, 01:11 AM
More metadata items in DVR-MS output files.

Thanks to blah238 for testing in Media Center.

The order of first/last names in credits is now correct.

NOTE REGARDING THUMBNAILS IN VISTA MCE:

Looks like VideoReDo is solving this problem for us! See this thread on the VideoReDo forums. (http://www.videoredo.net/msgBoard/showthread.php?t=6535)

jdsnov73
05-14-2008, 12:56 AM
Just to let you know I'm aware of issues that HD TiVo users have had with QSF failing on multi-dimensioned videos that can result from TTG transfers. These failures put the kabosh on TVAP's automatic processing flow.

There is hope for an automatic solution and I'm on the case. But I can't predict how soon it will happen. (The cleanest approach requires a new COM function from VRD that will determine the dominant dimensions so the QSF filter dimensions can be preset. They are considering doing it.)

If you want the gory details see the TVAP thread in the VRD forum (http://www.videoredo.net/msgBoard/showthread.php?t=4712), starting at post #63.

Also:

I just learned that TVSuite apparently has a better QSF function than Plus, per this thread in the VRD forum (http://www.videoredo.net/msgBoard/showthread.php?t=6110). I think VRD plans to update the Plus version but it's not clear how soon.

Reminder:
If you have both Plus and TVS installed, TVAP uses whichever one you last had open in the normal manual GUI mode for its automated VRD processing. I don't know how to get around this. There is a log message each timeTVAP starts a VRD process that tells you what version is being used.



I just started playing around with this last night, using a trial version of VRD TV Suite. This seems to be exactly what I have been looking for to consolidate my recordings from my TivoHD and VistaMediaCenter, cut the junk from the files, and stream them to my XBOX360.

I mainly record HD shows. I've tried a few shows, and all works fine. I just tried "Gene Simmons Family Jewels", and it got the 'Video Dimensions changed' error during a commercial while doing the QSF.

So I tried to run it in VRD on its own, and I used the "enable filters" option, and changed the "sample" from 8 to 128, as specified in this thread:

http://www.videoredo.net/msgBoard/showpost.php?p=37929&postcount=4

This allowed the QSF to finish.

What do I need to do to get TVAP to apply this filter? Not sure if the 128 sample size will solve all problems, but it did allow this file to process. I will keep running my recordings through it and see how it goes.

I really like the fact that once it is all done, the shows that work appear in my RecordedTV section of MediaCenter, with a thumbnail and all MetaData.

Thanks for the great work, and hopefully I can get things to work consistently on all files, before I spend $75 for VideoReDo.

THanks!

dlfl
05-14-2008, 02:28 PM
.........I just tried "Gene Simmons Family Jewels", and it got the 'Video Dimensions changed' error during a commercial while doing the QSF.

So I tried to run it in VRD on its own, and I used the "enable filters" option, and changed the "sample" from 8 to 128, as specified in this thread:

http://www.videoredo.net/msgBoard/showpost.php?p=37929&postcount=4

This allowed the QSF to finish.

What do I need to do to get TVAP to apply this filter? Not sure if the 128 sample size will solve all problems, but it did allow this file to process. I will keep running my recordings through it and see how it goes.
............
THanks!
So far the only solution is to modify your QSF.vbs file (in the TVAP install folder) per posts #68 and #74 in the VRD TVAP thread (http://www.videoredo.net/msgBoard/showthread.php?t=4712). You have to manually pre-determine which shows need filter dimensions set, the dimensions to set, and a string fragment in the titles that will reliably identify them. For your example "Simmons" might work.

Still waiting and hoping VRD will come up with the COM function to determine the dominant video dimensions. That is what's needed to have TVAP do this automatically.

If you need help modifying the QSF file just PM me. This will only work with TVSuite -- the VRD Plus COM interface doesn't have the set filter dimensions function yet. VRD says with the next Plus update, its COM interface will catch up with TVSuite. No hint as to when that will be however.

jdsnov73
05-25-2008, 12:08 PM
I still haven't looked into this. I seem to have only found a couple shows that have this issue. I can live with just converting these shows to .dvr-ms and using the 30 second skip in MediaCenter to skip through.

However, I do have a few other questions I hope you could answer for me.

I was testing VideoReDo out for the trial period and just purchased it last night. I had a batch of 5 or 6 shows that I was using TVAP to process, but (2) of the shows gave an error when starting the AD function. It said VideoReDo was unable to open the file that was just QSF'd. But, when I went to VideoReDo and opened the files from directly within the program, they both opened fine and it performed the AD. I'm not sure if this would be a TVAP or VRD issue since VRD is able to open the file. Also, after I manually run the AD in VRD, TVAP does not recognize this step and still shows the show in the QSF stage. I can manually complete out the process through VRD, but was wondering if there was anyway to trigger TVAP to recognize the manual .vprj file and continue on as normal?

The other question I have is, I am trying to consolidate all my recordings to MediaCenter, and use VRD to clean up the recordings. I saw this post on your thread over at VRD, asking about a way to modify TVAP to process files that aren't .TIVO to begin with:

http://www.videoredo.net/msgBoard/showpost.php?p=34230&postcount=25

Is this possible, or was it ever looked into further?

I know I can do batch processing in VRD, but would rather have some sort of automation. I have no idea how to create a batch process on my own to handle this automatically.

Thanks

dlfl
05-25-2008, 10:49 PM
jdsnov73,

The file open errors are puzzling. I've never experienced them and there have been no other complaints. Could you post or pm me the section of the log file ("TiVoVRDAutoProcessLog.txt") showing the error and the version of VRD you are using? Had you done the trial registration or completed your purchase when the errors occurred?

TVAP will only keep track of the status and location of files that it has processed. There is no easy way to fool it.

A version of TVAP that started with other than TiVo files would be a significant mod. So far there haven't been enough requests to justify the effort -- sorry!

You can download a TVAPpostProcess batch file that uses HandBrake (free) to convert your outputs to MPEG4 format ***here***. (http://www.mediafire.com/download.php?8wf9tdbtfmq)

dlfl
05-26-2008, 04:15 PM
26 May 2008 Ver. 0.61
- Added time delays of a few seconds and two retries in VideoReDo AdScan file open to prevent file open errors encountered by one user on DVR-MS files.

If you haven't been experiencing file open errors there is really no reason to install this version. (Changes will be in all future versions, of course.)

dlfl
05-27-2008, 10:23 PM
You can create .mp4 files that will synch to an 80GB Zune without conversion, i.e., in a few seconds, with ***this batch file*** (http://www.mediafire.com/?auuqh2dw2d0) that uses the (free) Handbrake encoder (http://handbrake.fr/).

Download the zip file and extract the .cmd file to the final destination folder of your TVAP process (normally the QSF or AdScan destination folder). Do not change the file name -- TVAP looks for that particular file name.

Download and install HandBrake.

Edit the batch file to substitute the correct paths for HBFolder, localDir and outDir. (See remarks "REM" in the file for description of each folder.)
Be sure to include the final backslash ('\') at the end of each path!

This process will encode much faster than the HandBrake IPOD lowRez profile, which will also work on the 80GB Zunes.

jdsnov73
05-28-2008, 07:53 PM
You can create .mp4 files that will synch to an 80GB Zune without conversion, i.e., in a few seconds, with ***this batch file*** (http://www.mediafire.com/?auuqh2dw2d0) that uses the (free) Handbrake encoder (http://handbrake.fr/).

Download the zip file and extract the .cmd file to the final destination folder of your TVAP process (normally the QSF or AdScan destination folder). Do not change the file name -- TVAP looks for that particular file name.

Download and install HandBrake.

Edit the batch file to substitute the correct paths for HBFolder, localDir and outDir. (See remarks "REM" in the file for description of each folder.)
Be sure to include the final backslash ('\') at the end of each path!

This process will encode much faster than the HandBrake IPOD lowRez profile, which will also work on the 80GB Zunes.

Thanks for putting this together. I got sidetracked after you sent me that test .mp4 file.

I will look into this tonight after I get home from work.

Couple of Questions though:

I use TVAP to output .dvr-ms files so I can view everything on MediaCenter. Since my QSF files are output in .dvr-ms, will handbrake need these converted to .mpg? And if so, how do I incorporate that into a post-process activity?

What are the parameters of the conversion? Does it matter if the original file is SD or HD video?

Thanks,
Jeff

dlfl
05-28-2008, 11:18 PM
..........
Couple of Questions though:

I use TVAP to output .dvr-ms files so I can view everything on MediaCenter. Since my QSF files are output in .dvr-ms, will handbrake need these converted to .mpg? And if so, how do I incorporate that into a post-process activity?

What are the parameters of the conversion? Does it matter if the original file is SD or HD video?
.......
Unfortunately, HandBrake won't input a DVR-MS file. Also, TVAP will only run the TVAPpostProcess.cmd file if it is configured to output mpeg2 files.

You would have to set the output type to DVR-MS, process all your files, then Reset all of them, set the output type to MPEG2 and process them again. (Do not check Delete TiVos for the first round of processing, of course, or the file won't be there to process the second time).

This isn't actually taking any longer than if it was completely automated, since VRD can only output one type at a time.

The batch file should work on any mpeg2 format, producing a 320x240 output with a video bitrate of 700kbps, which is comfortable for Zune. However I haven't actually tried it on HD inputs. If the input is letterboxed, HandBrake will autocrop so the output is 320 x W, where W is less than 240. This will play letterboxed on the Zune.

I have an automated solution for your process. I will post it shortly with download links and instructions.

dlfl
05-28-2008, 11:33 PM
28 May 2008 Ver. 0.62
- TVAPpostProcess batch file will be run for EITHER mpeg2 or dvr-ms outputs.

This was done to support running a TVAPpostProcess file for jdsnov73 to:

1. Create a mpeg2 from the dvr-ms output from VRD.
2. Run Handbrake on the mpeg2 to create a Zune-compatible .mp4
3. Delete the temporary mpeg2 file.

To do this, I found a version of ffmpeg (http://babgvant.com/files/folders/misc/entry3716.aspx) designed specifically to pull the mpeg2 out of a dvr-ms. The revised TVAPpostProcess.cmd file and the ffmpeg files can be downloaded here (http://www.mediafire.com/download.php?jjmjynmmnzr).

The batch file is very similar to the previous Zune version but you see I've defined a dvr-ms file name (dvrmsName) and if the file exists, the special ffmpeg is called to create the mpeg2 file. This is a very fast process -- much faster than running VRD on the file a second time (and automatic).

Unzip the entire contents into your TVAP final destination folder.
Edit the folder names in the batch file to match your local setup (don't forget the final backslashes!)
Install the new 0.62 version of TVAP (Uninstall your older version first).

Run your processes with DVR-MS output type selected and Do PostProcess checked. That should do it.

Note the logic in the batch file allows it to also handle .mpeg2 outputs from VRD/TVAP. It just bypasses the DVR-MS-to-mpeg2 conversion.

jdsnov73
05-29-2008, 01:19 PM
28 May 2008 Ver. 0.62
- TVAPpostProcess batch file will be run for EITHER mpeg2 or dvr-ms outputs.

This was done to support running a TVAPpostProcess file for jdsnov73 to:

1. Create a mpeg2 from the dvr-ms output from VRD.
2. Run Handbrake on the mpeg2 to create a Zune-compatible .mp4
3. Delete the temporary mpeg2 file.

To do this, I found a version of ffmpeg (http://babgvant.com/files/folders/misc/entry3716.aspx) designed specifically to pull the mpeg2 out of a dvr-ms. The revised TVAPpostProcess.cmd file and the ffmpeg files can be downloaded here (http://www.mediafire.com/download.php?jjmjynmmnzr).

The batch file is very similar to the previous Zune version but you see I've defined a dvr-ms file name (dvrmsName) and if the file exists, the special ffmpeg is called to create the mpeg2 file. This is a very fast process -- much faster than running VRD on the file a second time (and automatic).

Unzip the entire contents into your TVAP final destination folder.
Edit the folder names in the batch file to match your local setup (don't forget the final backslashes!)
Install the new 0.62 version of TVAP (Uninstall your older version first).

Run your processes with DVR-MS output type selected and Do PostProcess checked. That should do it.

Note the logic in the batch file allows it to also handle .mpeg2 outputs from VRD/TVAP. It just bypasses the DVR-MS-to-mpeg2 conversion.

THANKS!

This works great. It was much faster than I expected. The conversion to .mpeg took the longest. The final encode was really fast. The HD file worked fine. I will play around with HandBrake to see how different parameter change the process. I won't be converting most videos, but when travel comes up, this will be a great option to have.

Would it be possible to add a check box to the default settings to have .vprj files deleted upon completion, as is done with .tivo and .qsf files? Once the .qsf file is deleted, the .vprj file is of no use.

Thanks

dlfl
05-30-2008, 12:37 PM
........ Would it be possible to add a check box to the default settings to have .vprj files deleted upon completion, as is done with .tivo and .qsf files? Once the .qsf file is deleted, the .vprj file is of no use. .........
Yes. I'm thinking about making it automatic if you have Delete QSF checked, rather than additional check boxes. Any user comments on that?

As a simple temporary fix, you could include this at the end of your TVAPpostProcess.cmd file

set vprjFile="%localDir%%~1.vprj"
if not exist %vprjFile% goto noVprj
del %vprjFile%
:noVprj

jdsnov73
05-30-2008, 01:27 PM
I'd rather have it automatic as you suggest. I'll continue to delete them manually for now since I don't plan on running post-processing on every file.

Thanks

msmart
05-30-2008, 05:08 PM
Once the .qsf file is deleted, the .vprj file is of no use.True, so deleting it automatically can't hurt. However, the metadata file that TVAP creates is located "alongside" the .vprj file so something has to be done with that as well. Currently, I manually copy it to a "show descriptions" folder then delete it from the AdScan folder. If I wanted to automate that, adding it to the post-process batch file is the way to go. (Added: but, I too, don't post process every file - what if you created a "TVAPpostHouskeeping.cmd" batch file that was run on every file regardless of Post Process setting?)

I guess what I'm saying is that, yes, I vote to automatically delete the .vprj file.

dlfl
05-31-2008, 08:55 PM
31 May 2008 Ver. 0.63
- If a QSF file is automatically deleted, the project (.vprj) file linked to it is also deleted.

- If a batch file named TVAPcleanUp.cmd (or TVAPcleanUp.bat) is present in the final destination folder when an output file is completed, it will automatically be run by TVAP. The single argument passed to the file is the "bare" video file name (no path, no extension). If a TVAPpostProcess file is used, the cleanup batch is run afterwards, not before.

- A new command-line argument, -noMeta, will prevent TVAP from writing any pyTivo-style meta-data files. Default continues to be writing the files.

goodtrips
07-07-2008, 09:55 PM
Hey DLFL,

Was hoping you could help me with a problem that seems to be occurring more often than not. It seems that after TVAP running for about 3-4 days non-stop, I start to see these errors in the log file:

7/6/2008 3:36:44 AM Started Ad Scan/auto-cuts, input: Foobar with the stars
7/6/2008 3:36:44 AM Ad Scan canceled: Input file not found: D:\TiVo\Foobar with the stars.mpg

This will basically cripple all other encodes in queue until I do a full system restart. The issue continually pops up again after a few days of use. Things seem to transfer from the tivo fine, the file is physically there, but just chokes on it. Any thoughts you have would be great.

BTW, have just loved this app since I installed it -- could absolutely not be happier with it, and anyone reading this who hasn't given it a shot needs to take the plunge!

dlfl
07-07-2008, 10:52 PM
Hey DLFL,

Was hoping you could help me with a problem that seems to be occurring more often than not. It seems that after TVAP running for about 3-4 days non-stop, I start to see these errors in the log file:

7/6/2008 3:36:44 AM Started Ad Scan/auto-cuts, input: Foobar with the stars
7/6/2008 3:36:44 AM Ad Scan canceled: Input file not found: D:\TiVo\Foobar with the stars.mpg

This will basically cripple all other encodes in queue until I do a full system restart. The issue continually pops up again after a few days of use. .........
Hmmm... That's a puzzler! One suggestion just on defensive general principles would be to shut down and restart TVAP every couple of days. Do you see any growth in memory usage in Task Manager as TVAP runs for several days?

This error message is generated when TVAP checks for the existence of the file it's about to process and doesn't find it. If you are doing a QSF on this video first, it's remotely possible the operating system glitches at the end of writing the QSF'ed file and doesn't report it present, even though I already insert time delays there to let the OS catch up in case it needs to. This could be aggravated if D: is a network or USB drive.
However, your log info doesn't have "_QSF" as part of the file name -- either you edited it out or you are going directly from .TiVo to the AdScan process. In that case it's impossible for me to see how the OS could report the file missing.

If you actually are doing QSF first on these files, let me know -- I'll boost the time delays in a new version.

goodtrips
07-07-2008, 11:42 PM
If you are doing a QSF on this video first, it's remotely possible the operating system glitches at the end of writing the QSF'ed file and doesn't report it present, even though I already insert time delays there to let the OS catch up in case it needs to. This could be aggravated if D: is a network or USB drive.
However, your log info doesn't have "_QSF" as part of the file name -- either you edited it out or you are going directly from .TiVo to the AdScan process. In that case it's impossible for me to see how the OS could report the file missing.

If you actually are doing QSF first on these files, let me know -- I'll boost the time delays in a new version.

Thanks for the quick response!

I am in fact doing QSF prior to running ad scan (for what it's worth, D: is a local/internal drive). To be fair, though, the computer I run this on is old and this is really the only thing I use it for. Here is a more complete sample from the log file:

7/6/2008 3:34:39 AM Started QSF, input: Foobar with the Stars
7/6/2008 3:36:44 AM VideoReDo completed QSF, creating: D:\TiVo\Foobar with the Stars_QSF.mpg
7/6/2008 3:36:44 AM Started Ad Scan/auto-cuts, input: Foobar with the Stars
7/6/2008 3:36:44 AM Ad Scan canceled: Input file not found: D:\TiVo\Foobar with the Stars_QSF.mpg
(sorry about the foobar thing -- I obviously need to find new ways to amuse myself).

dlfl
07-08-2008, 12:11 AM
7 July 2008 Ver. 0.64
- Added additional time delays and retries detecting input files -- defensive programming to minimize possible problems due to OS glitches.

If TVAP takes more than 5 seconds to detect the presence of a file needed for input to AdScan or QSF, a log message is created. The maximum it will wait without declaring failure is 20 seconds.

goodtrips:
Your first post prompted me to do this without waiting for your next post. It's a good thing in general and the cost is insignificant.

If you happen to see any of those new log messages I would appreciate knowing about it.

goodtrips
07-08-2008, 12:32 AM
wow -- thanks so much dlfl! I will definitely let you know if I'm still seeing the issue with this new version.

I also forgot to answer your earlier question about resources over time -- I haven't noticed that in the past, but will keep an eye out for it moving forward.

goodtrips
07-08-2008, 11:33 PM
On a total random whim, thought I would also throw this out to you dlfl to get your thoughts --

I've been using a heavily modified batch file script that recompiles the completed MP4 with iTunes meta data (atomic parsley) and then automatically adds that to iTunes with a script called addToPlaylist.js. I'll be happy to share how sloppy my cmd file is if you're interested.

That being said, the way I am producing metadata for the mp4 is through a really rough parsing of the file name variable (%~1), since thankfully TiVo tends to name the files pretty consistently. I end up with double spaces in weird places, weird characters breaking the naming convention, etc -- but it works just well enough.

Since the metadata text file is not generated by TVAP until after the batch script is completed, I'm never able to use that data.

What would you think about passing the batch file variables for some of the core data points (i.e. Show, Episode, Title, Date, Channel, etc)? Something similar to how %~1 is passed when launching the script?

dlfl
07-09-2008, 07:59 PM
goodtrips:
The metadata (.txt) file should be in your adscan destination folder by the time the post process script is launched. Can't your script use it to get the metadata?

goodtrips
07-09-2008, 08:10 PM
that's the thing -- that file is not created (at least for me) until after the post process script is completed. again, not really a big deal; was just asking more on a whim than anything.

dlfl
07-09-2008, 09:59 PM
9 July 2008 Ver. 0.65
- Corrected sequencing error that caused pyTivo metadata file not to be written until after the TVAPpostProcess batch file ran -- when AdScan with Autocuts was done.

goodtrips:
I believe you were running Adscans with autocuts. The bug didn't occur if you created .vprj only then reviewed the cuts.

Thanks for the find!

goodtrips
07-09-2008, 11:52 PM
hey, very cool! had no idea that wasn't the way it was designed to work :)

goodtrips
07-21-2008, 08:04 PM
man, i've been having nothing bad luck lately dlfl.

so this is what my log files are looking lately since the last release:

7/21/2008 2:40:26 AM Started QSF, input: Friday Night Lights - ''There Goes the Neighborhood'' (Recorded Jan 4, 2008, WMAQDT)
7/21/2008 2:40:27 AM VideoReDo said: INFO: VideoReDo version 3. 1. 5. 564 - Jul 5 2008
7/21/2008 3:02:15 AM VideoReDo completed QSF, creating: D:\TiVo\TiVo Dumps\Friday Night Lights - ''There Goes the Neighborhood'' (Recorded Jan 4, 2008, WMAQDT)_QSF.mpg
7/21/2008 3:02:15 AM Started Ad Scan/auto-cuts, input: Friday Night Lights - ''There Goes the Neighborhood'' (Recorded Jan 4, 2008, WMAQDT)
7/21/2008 3:02:16 AM VideoReDo said: INFO: VideoReDo version 3. 1. 5. 564 - Jul 5 2008
7/21/2008 3:02:17 AM VideoReDo said: INFO: Failed file open: D:\TiVo\TiVo Dumps\Friday Night Lights - ''There Goes the Neighborhood'' (Recorded Jan 4, 2008, WMAQDT)_QSF.mpg. Will retry
7/21/2008 3:02:22 AM VideoReDo said: INFO: Failed file open twice: D:\TiVo\TiVo Dumps\Friday Night Lights - ''There Goes the Neighborhood'' (Recorded Jan 4, 2008, WMAQDT)_QSF.mpg. Will retry
7/21/2008 3:02:33 AM VideoReDo said: ERROR: Unable to open file/project: D:\TiVo\TiVo Dumps\Friday Night Lights - ''There Goes the Neighborhood'' (Recorded Jan 4, 2008, WMAQDT)_QSF.mpg


A couple of notes about my set-up:

I'm using a modified QSF file to manually define video dimensions
I'm selecting all options -- QSF, Ad Scan, Auto Cuts, etc
I'm still getting the "Video Dimensions have changed" pop-up from VideoReDo, even though the QSF file that used to work doesn't seem to be anymore


I tried to find an older version of TVAP on your server to revert to, but I think it's down. Any help, as always, would be great -- just totally stumped.

dlfl
07-21-2008, 08:51 PM
goodtrips:

Bummer! The download site is back up and I've added Ver. 0.57 if you want to try that. VideoReDo occasionally wipes out the download folder during housekeeping I think.

Looking at your log data, there was a 16 second interval between the first and third attempts to open the file. Seems like that should be long enough, doesn't it? Assuming you were using 0.65, it's interesting that the "File Exists" check that I added, which executes before launching the VRD adScan, did NOT show a problem. In other words, the operating systems was reporting the file present to TVAP yet VRD could not open it, even with three re-tries over 16 seconds.

It might suggest that the VRD QSF COM process is showing itself as completed to the OS (and thus to TVAP) but maybe there is a thread still running and writing output to the QSF'ed file. Thus the QSF file is present, but not complete, when TVAP launches the AdScan process and the open fails because VRD sees the file is not complete. If this is what's happening, there are two approaches:

1. Ridiculously long worst-case pauses in TVAP at the end of every VRD process.
2. I need to be able to detect the thread that is still running in the process list so TVAP can wait for it to complete.

I'm stumped too!

goodtrips
07-23-2008, 08:51 PM
OK -- emailed with support at VideoReDo (and sent them my modified QSF.vbs file that had the manual shows set at custom resolutions).

Turns out, the show keywords have to be case sensitive. I don't remember this being an issue before I upgraded to the new version of TVS, but I've done 2 tests so far after modifying that file and it seems to have worked.

VideoReDo, if you happen to read this -- you really need to update your app to automatically default to the dominant resolution of the file. It's very disappointing that the new release didn't address this. I have to assume that a large % of your users are TiVo customers, and when more upgrade to a TiVo HD/Series 3, these complaints are only going to grow louder.

dlfl, as always, you are a rockstar.

dlfl
07-23-2008, 09:46 PM
goodtrips

Cool! I hope that fixes all the problems.

You could modify your filter dimension logic by sending log messages back to TVAP about what dimension was selected or that none was. That way you would know what happened.

All you need is a statement like this:

wscript.stdout.writeline("INFO: VideoReDo version " & VideoReDo.VersionNumber)

(Where you substitute your own string for the message.)

Be sure you start it with "INFO:" , which tells TVAP that it's just something to put in the log file.

Also, I'm sure there is a string function in VBS that will convert your video file name string to all lower case. Then you use all lower case for your matching string and you don't have to worry about case sensitivity.

The case sensitivity (assuming you are talking about your added filter dimension logic) is purely a function of VBS scripting so TVS cannot be the culprit. Now if you're saying TVS suddenly has become case sensitive for file names in COM function arguments like FileOpenBatch, that would be a different thing! (And very surprising for a Windows program, since file names are not case sensitive in Windows, as opposed to Linux.)

blah238
08-03-2008, 06:37 PM
Hello again dlfl! I've been getting back into TVAP/VRD automation and have a bit of a laundry list of questions/suggestions:

1) Vista Media Center and VideoRedo Plus (recent beta version 600, shares same codebase as TVSuite) don't seem to get along. If Media Center is running while TVAP (0.65) calls VideoRedo, an error message is shown about not being able to play the video file (I will update this post with the specific error when I run into it again). Due to this, I can't let TVAP process in the background while Media Center is running. Do you have any suggestions or workarounds for this? Which brings me to my next question:

2) One workaround for the above would be to implement scheduling, such that TVAP only continues processing during a user-defined schedule. A better one would of course be to figure out why VRD and Media Center conflict, but I imagine this may be one of those unfixable issues.

3) Vista Media Center never refreshes metadata on its own, so if TVAP outputs a dvr-ms file into one of Vista Media Center's watched folders while Media Center is running, and before TVAP copies the metadata into the file, Media Center will never show metadata for that file unless it is manually removed from the folder and replaced. To work around this I've tried using a post-process batch file which copies the .dvr-ms file from the source folder to the watched folder after TVAP has done its work (including copying metadata), however it seems that TVAP sometimes doesn't release the file quickly enough and the batch file's move command fails. I had to make the batch file a little more complex by inserting pauses and retries, but I'm still testing this. Which brings me to my next question:

4) My batch file appends TiVoVRDAutoProcessLog.txt with the results of whether the move command was successful or not, however these lines don't seem to show up in TVAP's log window. Is there a way I can make that happen? Do the lines need to be in a certain format? The %date% and %time% variables in cmd.exe have a somewhat different format.

5) To avoid all the batch file business... would it be possible to implement a change in the order of operations in TVAP such that metadata is added BEFORE the dvr-ms file is moved to its final destination? Something like an optional temporary folder.

6) Here is a random feature request I've found myself wanting more and more as my recorded TV collection grows: the ability to select multiple files in TVAP's file list and change their checkboxes or reset them en masse. Without this you really have to be savvy with a text editor and find/replace stuff in the TivoFileManager.xml file (or be extremely patient if you have a large number of files you're working with).

Alternatively (or additionally), if we could at least scroll up and down in the file list with the arrow keys while using the mouse to check the settings boxes on the right, that would be a big help. Right now if you click anywhere outside of the file list box, key focus is stolen and the arrow keys only move between the various GUI controls. It would be nice to have it intercept arrow keys or the mouse scroll wheel movements and always send them to the list box for scrolling between files.

7) More metadata fun stuff: The recorded date/time as shown by Vista Media Center is being incorrectly set by either TVAP or VRD to the date/time the file was processed, not the date/time it was recorded on the TiVo. I know that the correct recorded date/time exists in the original .TiVo metadata (shown as <RecordingTimeDate> in TivoFileManager.xml) so would it be possible to get that into the .dvr-ms on the copy metadata step?

dlfl
08-03-2008, 08:54 PM
Hello again dlfl! I've been getting back into TVAP/VRD automation and have a bit of a laundry list of questions/suggestions:

1) Vista Media Center and VideoRedo Plus (recent beta version 600, shares same codebase as TVSuite) don't seem to get along. If Media Center is running while TVAP (0.65) calls VideoRedo, an error message is shown about not being able to play the video file (I will update this post with the specific error when I run into it again). Due to this, I can't let TVAP process in the background while Media Center is running. Do you have any suggestions or workarounds for this?
Media Center stuff is hard for me to work on since I don't have Vista or Media Center. What if you just start VRD and load a file manually (outside TVAP) while MC is running? If you get an error in that case you should definitely get on the VRD forums with it.

Which brings me to my next question:

2) One workaround for the above would be to implement scheduling, such that TVAP only continues processing during a user-defined schedule. A better one would of course be to figure out why VRD and Media Center conflict, but I imagine this may be one of those unfixable issues.
?
You can schedule TVAP to start using the Windows Scheduler (Control Panel, Scheduled Tasks in XP, and search "scheduler" in Windows Help). You use the -hotstart command line option for TVAP which you add in the Advanced Settings of the Task Scheduler Wizard, or the properties of the scheduled task item. TVAP will start up in processing mode and minimized (after an initial 18 second delay where the GUI shows).

The question is how do you stop it? You can tell the scheduler to stop it after a certain run time but that is not acceptable and in fact I don't even know what that would do with TVAP. If you are interested in pursuing this idea I could look at adding a command line argument that would specify a run time. TVAP would stop as soon as it finished processing a video after the specified run time had elapsed. (This could mean TVAP would run up to several hours past the specified time.)


3) Vista Media Center never refreshes metadata on its own, so if TVAP outputs a dvr-ms file into one of Vista Media Center's watched folders while Media Center is running, and before TVAP copies the metadata into the file, Media Center will never show metadata for that file unless it is manually removed from the folder and replaced. To work around this I've tried using a post-process batch file which copies the .dvr-ms file from the source folder to the watched folder after TVAP has done its work (including copying metadata), however it seems that TVAP sometimes doesn't release the file quickly enough and the batch file's move command fails. I had to make the batch file a little more complex by inserting pauses and retries, but I'm still testing this. Which brings me to my next question:

4) My batch file appends TiVoVRDAutoProcessLog.txt with the results of whether the move command was successful or not, however these lines don't seem to show up in TVAP's log window. Is there a way I can make that happen? Do the lines need to be in a certain format? The %date% and %time% variables in cmd.exe have a somewhat different format.

5) To avoid all the batch file business... would it be possible to implement a change in the order of operations in TVAP such that metadata is added BEFORE the dvr-ms file is moved to its final destination? Something like an optional temporary folder.
?
TVAP doesn't actually move files -- it just tells VRD to output the file to the destination folder. I don't believe the code I use to insert metadata in dvr-ms files will work until the file already exists -- thus it has to be done after VRD finishes outputting the file. I think your post-process batch file is probably the best way to go -- just put in enough delay.

The only time TVAP reads the log file is at start up. Then if the file is small it copies the log info into the log window of the GUI. To get log info from a postprocess (or clean up) batch file to display in the log window would require re-directing stdout (ECHO outputs) from the batch file into TVAP. This is done with the VBS script files that TVAP runs. I can look into doing it for the batch files. Then if you have a line like

ECHO INFO: blah blah blah

in your batch file, it will become a TVAP log file/display line.


6) Here is a random feature request I've found myself wanting more and more as my recorded TV collection grows: the ability to select multiple files in TVAP's file list and change their checkboxes or reset them en masse. Without this you really have to be savvy with a text editor and find/replace stuff in the TivoFileManager.xml file (or be extremely patient if you have a large number of files you're working with).

Alternatively (or additionally), if we could at least scroll up and down in the file list with the arrow keys while using the mouse to check the settings boxes on the right, that would be a big help. Right now if you click anywhere outside of the file list box, key focus is stolen and the arrow keys only move between the various GUI controls. It would be nice to have it intercept arrow keys or the mouse scroll wheel movements and always send them to the list box for scrolling between files.
?
I'll think about what can be done on this. I've experienced the same inconvenience.



7) More metadata fun stuff: The recorded date/time as shown by Vista Media Center is being incorrectly set by either TVAP or VRD to the date/time the file was processed, not the date/time it was recorded on the TiVo. I know that the correct recorded date/time exists in the original .TiVo metadata (shown as <RecordingTimeDate> in TivoFileManager.xml) so would it be possible to get that into the .dvr-ms on the copy metadata step?
I'm afraid what you see is what you're going to get on this one. I beat on this quite a bit a while back and I think it's as good as it's going to get.

blah238
08-04-2008, 01:03 AM
Thanks for the quick reply!
Media Center stuff is hard for me to work on since I don't have Vista or Media Center. What if you just start VRD and load a file manually (outside TVAP) while MC is running? If you get an error in that case you should definitely get on the VRD forums with it.

I do not get an error when I run VRD and load a video directly with Media Center running in a window. I need to test this more though.


You can schedule TVAP to start using the Windows Scheduler (Control Panel, Scheduled Tasks in XP, and search "scheduler" in Windows Help). You use the -hotstart command line option for TVAP which you add in the Advanced Settings of the Task Scheduler Wizard, or the properties of the scheduled task item. TVAP will start up in processing mode and minimized (after an initial 18 second delay where the GUI shows).

The question is how do you stop it? You can tell the scheduler to stop it after a certain run time but that is not acceptable and in fact I don't even know what that would do with TVAP. If you are interested in pursuing this idea I could look at adding a command line argument that would specify a run time. TVAP would stop as soon as it finished processing a video after the specified run time had elapsed. (This could mean TVAP would run up to several hours past the specified time.)


That sounds like it would do the trick. Simple but effective.


TVAP doesn't actually move files -- it just tells VRD to output the file to the destination folder. I don't believe the code I use to insert metadata in dvr-ms files will work until the file already exists -- thus it has to be done after VRD finishes outputting the file. I think your post-process batch file is probably the best way to go -- just put in enough delay.

I have to test it overnight but I think I'm good to go with the batch file I have now. At worst it will at least tell me what errors occurred.

The only time TVAP reads the log file is at start up. Then if the file is small it copies the log info into the log window of the GUI. To get log info from a postprocess (or clean up) batch file to display in the log window would require re-directing stdout (ECHO outputs) from the batch file into TVAP. This is done with the VBS script files that TVAP runs. I can look into doing it for the batch files. Then if you have a line like

ECHO INFO: blah blah blah

in your batch file, it will become a TVAP log file/display line.

I think that would be a handy feature. Alternatively, if I were to rewrite my postprocess batch script in VBS would I be able to output messages directly to TVAP's log window? And if so, how? Any other caveats to writing in VBS?


I'll think about what can be done on this. I've experienced the same inconvenience.
Glad I'm not alone! I was thinking that, if you have multiple files selected, and they have different settings checked, the checks in the checkboxes would show up as gray to signify they weren't all the same. Then you click once to mark that setting as true for the whole selection, or click again to uncheck it. I believe that's the normal Windows behavior anyways. You could also click the reset button to set everything in the selection to the defaults as well as the status to New.


I'm afraid what you see is what you're going to get on this one. I beat on this quite a bit a while back and I think it's as good as it's going to get.

Darn, that stinks. The way it's handled in Vista Media Center is all the newest recorded files are shown first, so I have 90 something files I just processed with TVAP at the front, even though I recorded them on the TiVo several months ago. I also have ATSC recordings recorded with Media Center itself jumbled in there so optimally if they had the correct recorded date they would be sorted chronologically which would help a lot.

On the plus side, thumbnails show up fine in the new beta version of VideoRedo Plus.

Do you think DanR on the VRD forums would be able to help? What exactly was the issue?

blah238
08-04-2008, 03:42 AM
Ok so I've narrowed down the problem to a conflict between Vista Media Center in full-screen mode and the ad-scan feature of VRD. The ad-scan feature needs to "playback" the video in order to do its business, but when Media Center is in full screen mode, VRD can't play a video. I've tried every different renderer on the playback devices option menu in VRD to no avail. Interestingly the problem does not exist as long as I stay in windowed mode. Otherwise it would seem I am SOL, since you can't change VMC's renderer and it doesn't seem to want to share with anyone else :p

dlfl
08-04-2008, 09:05 PM
blah238:

So your conflicts between VRD and Vista MC are not a TVAP problem, correct?

Re-directing Stdout requires changes in TVAP to capture the stdout from postprocess and/or cleanup scripts, so no you couldn't force it using VBS or anything else external to TVAP.

Best I can remember, I tried to find any DVR-MS metadata tag where I could poke the desired recording date but nothing worked. It was as if it was already burned in by VRD and couldn't be changed.

blah238
08-04-2008, 10:31 PM
blah238:

So your conflicts between VRD and Vista MC are not a TVAP problem, correct?

I was actually able to reproduce the problem with VRD's batch processor so you are correct that it has nothing to do with TVAP.

Here is the error given in a messagebox when it occurs:

Unable to play video:
Unable to initialize display.
Please check videoredo.log


...and here's the relevant part of the VRD logfile:

2008-08-04 21:14:19 VideoReDo Plus started. Licensed to: Trial Key, Version: 2. 5. 7. 600 - Jul 29 2008 (0051003fR4WJ4U}
2008-08-04 21:14:19 Starting up with silent and batch: 0 3252e38
2008-08-04 21:14:19

***** Loading: G:\Shared\TiVo\The Sopranos - ''University'' (Recorded May 13, 2008, AETV).TiVo


2008-08-04 21:14:19 Starting stream open for: G:\Shared\TiVo\The Sopranos - ''University'' (Recorded May 13, 2008, AETV).TiVo
2008-08-04 21:14:19 After aStream open.
2008-08-04 21:14:19 Is DVRMS: 0.
2008-08-04 21:14:19 Seek to begin.
2008-08-04 21:14:19 Packet classes created.
2008-08-04 21:14:19 Opening file: G:\Shared\TiVo\The Sopranos - ''University'' (Recorded May 13, 2008, AETV).TiVo, filetype is: MPEG2 PIDs: x00 / x00
2008-08-04 21:14:19 Startup - Number of PTS checks: 8
2008-08-04 21:14:20 Using display driver: VMR9
2008-08-04 21:14:20 Error initializing video: VMR9 Error, BuildVideoMixingGraph9 (Windowed), hr=0x80004002, No such interface supported , Overlay Flag: 0, Accel Flag: 1
2008-08-04 21:14:20 Unable to play video: Unable to initialize the video display.
Please check VideoReDo.log

Re-directing Stdout requires changes in TVAP to capture the stdout from postprocess and/or cleanup scripts, so no you couldn't force it using VBS or anything else external to TVAP.
Makes sense. I just figured the easiest thing would be to have TVAP read the logfile in realtime.
Best I can remember, I tried to find any DVR-MS metadata tag where I could poke the desired recording date but nothing worked. It was as if it was already burned in by VRD and couldn't be changed.
So it's just a matter of finding the right field name or possibly a formatting issue? VRD has an option under Options->MCE/dvr-ms output called "Set Program Time to Edited Date & Time" but that is unchecked and that seems to be what it's doing anyways.

In any case I would think that if VRD can set it, we could just ask them how :p I think I will ask on the VRD forums about these 2 issues. I will let you know if I find anything useful out!

dlfl
08-05-2008, 10:45 PM
5 August 2008 Ver. 0.66
- Can now navigate Transferred TiVo File list with up/down arrow keys while changing settings in the Settings For Selected File panel without having to mouse click in list to recover focus.
- New Command-line argument: -shutdown:## where ## is the minutes after startup when TVAP will automatically shutdown -- but only after completing whatever video it was processing when the shutdown time was reached. This feature is only active if the -hotstart CL argument is used.
This allows TVAP to be started by the Windows scheduler, run for (at least) the specified time then shut down. Note: no spaces allowed anywhere in this argument.

blah238:

This addresses a couple of your requests. Give it a try!

I started on the batch file stdout capture then realized it's probably not a good idea because of two problems:

1. Some users' batch files will echo stdout that they want to see in the command window where the batch is running. TVAP would have to capture all the stdout.

2. Some batch files (e.g., one running HandBrake) will produce voluminous stdout lines, some of which users may want to see, others of which are useless garbage to most users.

One way that seems simple and should work:
1. Batch file writes one or more lines to uniquely named file while it's running.
2. TVAP waits a second or two after it detects completion of the batch file, then reads the log file (if present) and appends it to the TVAP log. Then it deletes the file.
Would this be useful to you?

For real-time log updates, the idea of having the batch file write to a specially named text file which TVAP would read also occurred to me but you have to prevent problems of contested file access and synchronization of read/writes. The only bullet proof way I can think of involves two specially named files: Semaphore and message files. The presence of the semaphore file is used by both TVAP and the batch file for message synchronization. The batch file must not write the message file until it detects the semaphore file is NOT present. After writing the message file it creates the semaphore file. TVAP looks for the semaphore file and when present it reads the message file. Then it deletes both files. Obviously this puts some burden on the batch file code for proper operation, and if the batch file should happen to generate messages faster than TVAP reads them, it would be slowed down.
If you have a strong preference for this mode, we can do it.

Both of these methods would be transparent to users who don't use them, which is nice.

blah238
08-05-2008, 11:17 PM
Oh wow, I will definitely be playing with this! I think it's just awesome how quickly you can do all of this.

I agree with you that capturing all stdout output would be problematic. I would think that specifically outputting only certain messages to a file is the way to go. Which is what I already am doing, although it goes straight to the TVAP log instead of an intermediate file like you're suggesting. That would work perfect for me I think.

The real-time log updates idea was brought about by my remembering of some log viewer utility which was able to read/display/format any text-based logfile in real-time. I don't remember the name but I imagine it's a tricky subject. Similarly the simplest method is usually the best especially when it comes to writing batch files, as anything more complex than adding 1+1 is damn near impossible in batch, lol. So I like the first method you suggested, if you deem realtime reading of the main TVAP log impractical.

Also, I got around to posting on VRD's forum about those other issues I am having: http://www.videoredo.net/msgBoard/showthread.php?t=6991

Thanks again!

blah238
08-06-2008, 08:16 PM
Hmm, the -shutdown option doesnt seem to be doing anything for me.
I set up a hotstart/shutdown shortcut last night and it launched and did all my 60 or so remaining files (only took about 4 hours and I had set it for 6 hours). And when I checked it this evening TVAP was still running and still in processing mode (the Stop Processing button was shown).

Is it supposed to close the program, or stop processing when the timer elapses? What if there are no more videos for it to work on? Also what happens (both before and after the timer elapses) if a new TiVo file gets transferred?

I just now tried giving it a 1 minute shutdown timer while there was 1 file to process and another had about 4 minutes to go on a TiVo desktop transfer. After the first file had finished processing, it didn't shutdown or stop processing, but instead started up on the next file as soon as it finished transferring.

Did I do something wrong with my command line?
"C:\Program Files (x86)\TVAP\TiVo-VideoReDo-AutoProcessor.exe" -hotStart -shutdown:1

dlfl
08-06-2008, 10:26 PM
Hmm, the -shutdown option doesnt seem to be doing anything for me.

Oops! My bad. Try 0.67. I did test it but ... it's a long story not worth the telling! You did nothing wrong and it should work just as you expect.

blah238
08-06-2008, 11:41 PM
Cool, will do!