TiVo Community Forum banner
  • TiVoCommunity.com Ambassador Program Now Open! >>> Click Here

New program for 1 step TTG downloads, decryption, encoding - kmttg

2M views 13K replies 921 participants last post by  mattack 
#1 ·
EDIT: This program has evolved a lot since this 1st post and now is written in Java and much easier to install than before (very easy on Windows and Mac OSX)... See http://sourceforge.net/projects/kmttg/ for details or visit the end of this thread for more up to date information.

kmttg is a Perl/Tk program I wrote to facilitate TivoToGo (TTG) transfers that can download, create pyTivo metadata, decrypt, run comskip & comcut (commercial detection and removal) and re-encode multiple shows you select from your Tivos all in 1 step.
You can select one or more shows at a time and then with one click of a button the program will download all the selected items, with the options of also automatically creating a metadata file for pyTivo, decrypting .TiVo files to .mpg, running comskip (commercial detection and removal program), and automatically re-encoding to a more portable format using mencoder, ffmpeg or any other command line encoder of your choosing. The program queues up multiple jobs and displays time, size and speed statistics for ongoing jobs.

For more information, screenshots and download visit:
http://sourceforge.net/projects/kmttg

Web page contains windows executables for all 3rd party tools used. The only other requirement of course is you must have Perl installed. Runs under Windows or Linux - tested with WinXP SP2 & Linux Red Hat Enterprise 4.

If you do try this out would appreciate some comments/feedback. For any programmers out there feel free to tinker and make improvements yourself.
 
See less See more
#52 ·
OK, this perl/tk script seems to work great.
Can there be an option to block the console windows that pop up?
The Status info should suffice (so that you know it is still running).
Thanks a bundle for the app!
It's in the documentation how to do it. For Windows you can setup a shortcut that executes "wperl <path>\kmttg.pl" (substitute <path> with the path where you installed the program). wperl will not bring up a console window.
 
#53 ·
OK, version 0.2c is now released.
ENHANCEMENTS:
* Added a "File Naming" configuration option which allows you to customize how file names look for downloaded shows. Consult the documentation for more information on this.

BUG FIX:
* Fixed problem where kmttg would not work with spaces present in path names.
 
#54 ·
Thanks for the feedback. Can you explain this more? I don't understand the problem? There is no "https" to be entered anywhere in the config. You enter a Tivo Name which is anything you want, and a LAN IP such as 192.168.1.101.
The only time "https" is used is for obtaining Now Playing List. Are you saying you had to edit kmttg.pl to change that?
Thanks.
Could this have been caused by having the "TTG Server" loaded in the Windows tray? I think I used task manager to end the TTG, and then it released its network connection to the Tivo. It was late at night, and I didn't recall doing this till after I posted about this issue.

You might point out in your Docs to make sure the TTG is not loaded in the SysTray (network connected to Tivo) before trying to run your prog??? :)
 
#55 ·
Could this have been caused by having the "TTG Server" loaded in the Windows tray? I think I used task manager to end the TTG, and then it released its network connection to the Tivo. It was late at night, and I didn't recall doing this till after I posted about this issue.

You might point out in your Docs to make sure the TTG is not loaded in the SysTray (network connected to Tivo) before trying to run your prog??? :)
Not sure if that's it. I actually do have Tivo Desktop running on my Windows system and it doesn't seem to interfere... Since I added the "--retry 3" option are you still getting failures on occasion?
 
#56 ·
Not sure if that's it. I actually do have Tivo Desktop running on my Windows system and it doesn't seem to interfere... Since I added the "--retry 3" option are you still getting failures on occasion?
I'll try to duplicate the problem, and this time I'll document it hopefully accurately. I'll report back if I can give you some good info, or I see it again.

Btw, does anyone know how fast the network connection or data transfer rate can be with the Tivo? Is there a way to optimize this somehow?
 
#57 ·
Version 0.2d just released.
ENHANCEMENTS:
* Added detailed show info in message area when a show is selected: Exact time of recording, channel number and name, duration, description.
* Applied html unicode conversions for text so that special characters now display properly
 
#58 ·
Help in blocking Console windows for called apps.

I am using that exact shortcut (WPERL). It (kmttg) does not open a console window, just the programs that are called (like curl, tivodecode, mencoder, ffmpeg, etc).
I don't code in PERL, so I am no help.
Maybe something like this?
http://community.activestate.com/faq/suppress-console-windows-
BEGIN
{
Win32::SetChildShowWindow(0)
if defined &Win32::SetChildShowWindow;
}
 
#59 ·
I'll try to duplicate the problem, and this time I'll document it hopefully accurately. I'll report back if I can give you some good info, or I see it again.

Btw, does anyone know how fast the network connection or data transfer rate can be with the Tivo? Is there a way to optimize this somehow?
I have heard that you can put both tivo receivers on channels you don't receive (so it won't be recording anything).
Also, I am sure a direct Ethernet connection (not going through wireless) will probably be faster. I have only been able to achieve a max of 900kb downloads though. Most average around 650kb though.
The encryption process is what is slowing it down.
 
#60 ·
When I was using the wireless connection for the Tivo it was so slow that transfers weren't happening. I've recently hardwired and the speeds I'm getting on transfers (according to Curl) average around 1950k. I'm using my Windows laptop to run the program and it's saving to a hard drive that's attached to a Mac Mini. The Mini and the laptop are both gigabit, but the Tivo is 10/100 so I don't think the gigabit would affect transfer rate.
 
#61 ·
I'm still not having any success with encoding, but I think it's because I don't have proper settings. I'm trying to create an mp4 file for an ipod touch. Kevin gave me settings for it, but they're not working. Anyone else doing this and have proper settings?

Thanks,

Anthony
 
#62 ·
I'm still not having any success with encoding, but I think it's because I don't have proper settings. I'm trying to create an mp4 file for an ipod touch. Kevin gave me settings for it, but they're not working. Anyone else doing this and have proper settings?

Thanks,

Anthony
When you say not working, what exactly is the issue? I used the exact ffmpeg command I gave you on a small clip and was able to play back the resulting encoded file without a problem using Videolan VLC player. NOTE: It won't play back in Windows Media Player because I don't have the proper codecs. Videolan VLC has it's own built in codecs.
 
#63 ·
It's in the documentation how to do it. For Windows you can setup a shortcut that executes "wperl <path>\kmttg.pl" (substitute <path> with the path where you installed the program). wperl will not bring up a console window.
OK, I am running the .2d, but still for some reason the consoles for CURL,
FFMPEG, Tivodecode, etc still popup. They close after they finish, but is there a way to block these consoles? The console for KMTTG does not display because I am launching it with WPERL like you mention above.
It is just the helper apps that are popping up console windows.

Thanks
 
#64 ·
Hi,

In the recorded list whether downloaded or recorded by Tivo several items in folders do not show up on your job list when I refresh it to get new listings.

These recordings are on the Tivo play list inside its folder(s) and work fine on Tivo, but kmttg does not drill down to "see" or list these folder's contents. Why is it not listing everything downloaded or recorded?

I'm using version 2a.

Any ideas?
 
#65 ·
When you say not working, what exactly is the issue? I used the exact ffmpeg command I gave you on a small clip and was able to play back the resulting encoded file without a problem using Videolan VLC player. NOTE: It won't play back in Windows Media Player because I don't have the proper codecs. Videolan VLC has it's own built in codecs.
I downloaded Videolan VLC and it does, in fact, work there. In Nero (which is what I usually use to convert to mp4) it took a long time to start and then played video but no audio. Quicktime gives an error message "The movie contains some invalid data", itunes won't load the file (so I can't test it on the ipod).

Thanks,
Anthony
 
#66 ·
OK, I am running the .2d, but still for some reason the consoles for CURL,
FFMPEG, Tivodecode, etc still popup. They close after they finish, but is there a way to block these consoles? The console for KMTTG does not display because I am launching it with WPERL like you mention above.
It is just the helper apps that are popping up console windows.

Thanks
OK gotcha, I think there is a way for me to suppress those as well - I'll look into it.
 
#67 ·
Hi,

In the recorded list whether downloaded or recorded by Tivo several items in folders do not show up on your job list when I refresh it to get new listings.

These recordings are on the Tivo play list inside its folder(s) and work fine on Tivo, but kmttg does not drill down to "see" or list these folder's contents. Why is it not listing everything downloaded or recorded?

I'm using version 2a.

Any ideas?
Note that kmttg will not display anything that is copy protected or currently recording on your Tivos since they are not eligible to download anyway. Could be those items that are not showing up are copy protected? You can check for example with Tivo Desktop if that's the case. I am considering in a future release showing these items in the list along with the others for information purposes only.
 
#68 ·
Note that kmttg will not display anything that is copy protected or currently recording on your Tivos since they are not eligible to download anyway. Could be those items that are not showing up are copy protected? You can check for example with Tivo Desktop if that's the case. I am considering in a future release showing these items in the list along with the others for information purposes only.
Yep, that's what's going on. It seems we can't even media stream it to another room. This is where MS MCE, Beyond TV, Sage can transfer video files or stream it without going around copy protection. We are given an extension to view copy protected files in other rooms with those programs but Tivo does not?

I guess something like a sling box or short range transmitter is needed to view that content elsewhere in the home???

Any thoughts or ideas? :confused:
 
#69 ·
Version v0.2e just released:
------------------
v0.2e (03/31/2008)
------------------
BUG FIXES:
* Fix implemented to not allow multiple configuration windows.
* Console windows no longer appear if running with wperl in Windows.
 
#70 ·
Yep, that's what's going on. It seems we can't even media stream it to another room. This is where MS MCE, Beyond TV, Sage can transfer video files or stream it without going around copy protection. We are given an extension to view copy protected files in other rooms with those programs but Tivo does not?

I guess something like a sling box or short range transmitter is needed to view that content elsewhere in the home???

Any thoughts or ideas? :confused:
Next kmttg release will show copy protected and currently recording shows along with the others.

Slingbox + catcher is a good solution to this problem (especially with the upcoming Slingbox Pro HD), though kind of expensive.
For SD (NTSC) quality you can use RF modulators as a fairly cheap solution to get the signal to any room you run coax to.
For HD quality I don't think there are a lot of options right now. A long HDMI run will cost you dearly (and will require equalization). A long component cable run may do the trick but that's messy. I think wireless HDMI is in the works but that is a very expensive solution (and probably not reliable for longer distances). AFAIK the Slingbox Pro HD + catcher may be the best option (though certainly not cheap).
 
#71 ·
I got a component splitter and ran component cables to the three televisions. A 75' cable is about $40 on ebay, a 50' a bit less. I have the virtue that all of the televisions are on the ground floor and I was able to run the cable in the drop ceiling of the basement. Had to drill some pretty big holes to bring them up, but I was able to do it behind radiators and moulding, so it worked out well.
 
#72 ·
Another update, some good stuff in this one.
P.S. I encourage you to keep up with latest releases if you are using this program. To update all you need to do is replace the kmttg.pl file of your current installation with the one in the latest zip file.
------------------
v0.2f (04/01/2008)
------------------
ENHANCEMENTS:
* Copy Protected and Currently Recording shows are now displayed along with other shows but
are marked differently (and of course cannot be downloaded).
* You can now request Now Playing Lists from your Tivos (and start additional jobs) while other jobs are running in kmttg.
* Change implemented for Linux platform to avoid zombie (<defunct>) process accumulation when jobs are killed.
 
#73 ·
Hi, I'm not a programmer but really like what you're doing. Thanks!

Unfortunately it's all a bit confusing for us non programmer types. Maybe you can help me out?

I followed your instructions and downloaded everything and installed Active Perl on my PC as well as the files. However I get a Windows error message as below. Here are pictures of my files as in the directory so that you can let me know if it's all ok:

My directory:


DOS Command:


Error message:


 
#74 ·
You had me worried, Kevin. A whole day without a new release! I've been splitting my time between taking down a brick wall in my house and trying to get this working on a Mac. Two days to get a perl script recognized, now trying to get it to work. I get this when I run the script:

^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE $/ at kmttg.pl line 268.
couldn't connect to display ":0" at /Library/Perl/5.8.6/darwin-thread-multi-2level/Tk/MainWindow.pm line 55.
MainWindow->new(-name,kmttg) at kmttg.pl line 1586

Mean anything to you?

Thanks,

Anthony
 
#75 ·
You had me worried, Kevin. A whole day without a new release! I've been splitting my time between taking down a brick wall in my house and trying to get this working on a Mac. Two days to get a perl script recognized, now trying to get it to work. I get this when I run the script:

^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE $/ at kmttg.pl line 268.
couldn't connect to display ":0" at /Library/Perl/5.8.6/darwin-thread-multi-2level/Tk/MainWindow.pm line 55.
MainWindow->new(-name,kmttg) at kmttg.pl line 1586

Mean anything to you?

Thanks,

Anthony
Looks like more than 1 problem. But 1 main issue is it seems like Perl Tk may not be working. I have included a simple perl Tk script called perlTkSample.pl in the sample.zip file attached. Try and run that one to test your Perl Tk installation 1st.

For the other problem it looks like some kind of strangeness parsing config.ini, maybe with a stray '*' character (maybe you have a space between the '*' character and the Tivo name?). Try a fresh start by removing/renaming config.ini.
 

Attachments

#76 ·
Hi, I'm not a programmer but really like what you're doing. Thanks!

Unfortunately it's all a bit confusing for us non programmer types. Maybe you can help me out?

I followed your instructions and downloaded everything and installed Active Perl on my PC as well as the files. However I get a Windows error message as below. Here are pictures of my files as in the directory so that you can let me know if it's all ok:
1. Can you try using "perl" instead of "wperl"?
2. What version of perl did you install? You can find out by executing "perl --version" in a DOS box.
3. See my post above and try the perlTkSample.pl script to see if it works using both perl and wperl.
4. What version of Windows are you running?
 
Top