Decoding the Files
OK, let’s assume you successfully downloaded some TiVo files from your TiVo box. Now what? In their native form they are mostly unusable since the TiVo file format is not open. That means you need to find a way to decode the files into something that is standard, like MPEG-2 (if you plan to burn a DVD) or MPEG-4 (if you want to play it on a tablet, for instance). If you want to just store the video file on your computer, you might like Xvid for its relatively small file size while still having decent quality. To use any of these options you need to decode the .tivo file and then transcode the file into another format. The native *.tivo format is actually just MPEG-2 with a little proprietary stuff thrown in just to make it harder. In fact, if you use Roxio on Windows it can burn a DVD directly from the *.tivo file. But for Linux what are your options?
TiVo Decode, which we mentioned earlier as a helper program for kmttg is one option. In fact, as far as I can tell, it is the only program that does this in Linux. I guess it makes sense that once there is a solution you don’t need to reinvent it.
And that brings us to kmttg. As I mentioned previously, this program is really designed to do it all, as long you install and configure the various helper programs. When you configure kmttg the second tab, Programs, is where you give the path information for all of your helper programs. Here is what mine looks like:
The first is, of course, TiVoDecode. I downloaded this into the same directory as kmttg, and expanded it into a sub-directory. Then I used my repository to grab mencoder and ffmpeg. Handbrake is not in all repositories, but I found it in a PPA for Ubuntu. I prefer to use repositories if at all possible because that way I can get updates automatically. If I manually install a program, I need to to manually check back and install updates, and that is too much work for me.
Comskip required some additional work, There are two files, an executable and a configuration file. Comskip.ini is the configuartion file, and it is a plain text file, no big deal. But Comskip.exe is a Windows executable, so it needs to run with wine. What I did was create a shell script (using directions I found at the kmttg site in the comments) that looked like this:
wine "C:\\Program Files\\comskip\\comskip.exe" --ini "$2" "$3"
With all of my helper programs installed, I can configure kmttg to do most of the work automatically. At the top of the kmttg screen, I can put a check mark into decrypt, which will take my *.tivo file and turn it into an open file. I can also remove commercials with Ad Detect and Ad Cut. I can then transcode the file into some other format by checking encode, and then selecting the format in Encoding Profile, which is a drop-down. Here I have a number of options, which are provided by ffmpeg (the profiles that begin “ff”), Handbrake (the profiles that begin “hb”), and mencoder (the profiles beginning “me”). This is very easy, but also somewhat limited. These programs provide a number of popular encoding formats, and if the one you want to use is there, select it and you are good to go. But if you need a format that is not on this list, you are probably better off finding the transcoder you need separately, and not checking the encode box. This will leave your file in plain MPEG-2 format, and you can then user the transcoder you want. The reason you should not encode here and then transcode again is that there is some loss each time you transcode, and you want minimize the number of times you do this to keep the best quality.
With everything set up, you just need to start some jobs in kmttg. If you have correctly configured kmttg to use your TiVo box, you should see a tab at the top with the name of your TiVo device. If you don’t see such a tab, kmttg still doesn’t know about your TiVo. Go to File–>Configure, and on the Tivos tab make sure you have one configured. I had no success with letting kmttg automatically search my network, so I gave my box a name (“Kevin’s TiVo”) put in the IP address, and clicked Add. that was enough to get me up and running. To start some jobs, make sure you have the check boxes at the top set up the way you want, go to the tab for your TiVo, and select some shows. Then click Start Jobs and away you go.