TiVo File Decoder


This software converts a .TiVo file (produced by the TiVoToGo functionality on recent TiVo software releases) to a normal MPEG file. This has the same functionality as using TiVo's supplied DirectShow DLL on Windows with a tool such as DirectShowDump, but is portable to different architectures and operating systems, and runs on the command line using files or pipes. The conversion still requires the valid MAK of the TiVo which recorded the file, so it cannot be used to circumvent their protection, simply to provide the same level of access as is already available on Windows.

Algorithm details

The algorithm has been documented by several diligent members of the community without whose efforts this project would not be possible. This documentation can be found at This Wiki and in the future I hope to rewrite it into a more coherent form and include the document on this site somewhere.

Getting the software

The code is available from the tivodecode project page on SourceForge, or go directly to the Download page. The current release is 0.1.4 and adds support for reading the MAK from a config file, named ~/.tivodecode_mak. It also fixes an issue with large file support which, due to the usage pattern of the software, should never be encountered. Please report any bugs, feature requests, patches, etc. to the appropriate tracker on the SourceForge project page.

There are also binaries available for i386 Windows, and for Mac OS X on PPC. The Windows build requires the Visual C++ 2005 SP1 Redistributable Package, available from Microsoft. Specifically, it requires MSVCR80.DLL, which is included in that package.

Getting the files off your TiVo

In order to download the .TiVo files from your TiVo, you either need to access the internal web server on your TiVo by going to https://your.tivos.ip.addr/ and logging in as user tivo with your MAK as the password, or you can use some software designed to aid in this. If you are on Windows, you can use the TiVo Desktop software as provided by TiVo. For non-Windows platforms, or for added functionality, I recommend another open-source project hosted at SourceForge, called Galleon. It is written in Java and provides several features above and beyond the TiVo Desktop software, and is what I personally use to download files from my TiVo.

Message for WGet users

Note: Due to improper chunked-encoding handling in wget and/or the tivo web server, using wget to download .TiVo files will result in them being corrupt and they will not decode. Please use curl, or if you are a wget developer, please fix wget.

Using the software

For basic usage instructions, see the README file in the current release.

For a list of 3rd-party tools or GUIs for this software, see the Addons page. If you have written a tool or GUI which you would like added to this list, please leave a message including the name of the tool, the target platform, and a url for the tool to the 3rd-party Tools forum.