Frequently Asked Questions
From pyTivo - Wiki
How do I actually START pyTivo?
This depends what version you downloaded and what options you have selected.
If you selected "Install as Service" pyTivo should already be running. You can see it by going to http://localhost:9032 from the server.
Otherwise go to:
start -> program files -> pyTivo -> pyTivo Console
You will have to leave this console window open for pyTivo to run. If you want it to run without an open window you need to uninstall and reinstall it as a service.
First, download python. Install it. Download pyTivo, install it. Then you want to use python to run pyTivo. Python is a program that will interpret and run the pyTivo.py script. So, in Windows, you could do this by running a command window (Start / Run and type in cmd). In the window you can launch python by typing 'python' if your path points to it. Otherwise, you have to spell out the location, like D:\python25\python. To pass a script to python, you'd type 'D:\python25\python pytivo.py'
Error: line 975, in _execute_child raise child_exception
. . . [Previous Lines Omitted] File "/pyTivo/plugins/video/transcode.py", line 135, in video_info ffmpeg = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, stdin=subprocess.PIPE) File "/Library/Frameworks/Python.framework/Versions/2.4//lib/python2.4/subprocess.py", line 543, in '''init''' errread, errwrite) File "/Library/Frameworks/Python.framework/Versions/2.4//lib/python2.4/subprocess.py", line 975, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
This means that you have entered the path to ffmpeg incorrectly in the configuration file.
Help, My pyTivo Share replaced my Now Playing List
This is a bug in TiVo somewhere. Every now and then for no reason when you pull up the Now Playing List it displays the folders and files from the pyTivo share and not the recordings that are present on your TiVo.
Solution: Go to the bottom of the list, you will see Recently Deleted and TiVo Suggestions as the last items. Enter either of these TiVo folders and then exit back to the NPL. This will refresh your NPL with the correct info.
Another Solution: Hit the "Enter/Last" remote button, then hit the left arrow.
Another Solution: You can also just press 2 twice on your remote (to turn groups off and back on). This should force Now Playing to show up again.
Warning "You don't have the C version of NameMapper installed"
You likely see an error similar to this:
C:\PyTivo\pyTivo\Cheetah\Compiler.py:1508: UserWarning: You don't have the C version of NameMapper installed I'm disabling Cheetah's us eStackFrames option as it is painfully slow with the Python version of NameMappe r. You should get a copy of Cheetah with the compiled C version of NameMapper. "\nYou don't have the C version of NameMapper installed "
This is just a warning, the C version of NameMapper is not included in the distribution, but it works just fine without it.
socket.error: (98, 'Address already in use')
This error occurs when the port used by pyTivo is already used by another program. See port setting for help on how to fix this.
How can I prevent pyTivo for using 100% of my CPU?
On windows you can try this method by wgw here.
Video Shares never appear in "Now Playing" List (NPL)
Please see the TroubleShoot page to try and diagnose your problems.
Input Video with Nonsquare Pixels
Most computer video files will have pixels which are square since computer screens display square pixels. pyTivo generally assumes that it is reading a file with square pixels. Under a few circumstances, where the file is in a TiVo compatible form, where the aspect ratio is within a list of known non-square pixel dimensions pyTivo will assume that the file has nonsquare pixels. However if the file is not in a standard format and has nonsquare pixels the image may be distored on the TV. This is because ffmpeg does not return the aspect ratio of the input file. This issue is rare, but is a known problem. See Aspect Ratio for more discussion.
Note: Some users have reported that nonsquare pixels are now handled correctly using the latest pyTivo and ffmpeg builds.
Using Mac OS X I get "No module named subprocess" error
This is because you are using an earlier version of python than 2.5.
ImportError: No module named Image
This occurs if you are using the photo plugin and you have not installed the python imaging library available here.
.mkv Matroska files do not play properly
This seems to be a common problem. It appears that ffmpeg does not currently handle these files very well. It seems that some files work while others do not. See Post
Network Shares are Empty on my TiVo When I run pyTivo as a Service
In order to access UNC or Network shares you need to add a username/password, that has access to the share, manually. Follow the instructions here.
Cannot watch pushed recording while transfer is in progress
If you try to watch a pushed recording while the transfer is in progress, the Tivo will often (or always?) show a message saying that the connection isn't fast enough and you should wait some number of minutes before trying again. This is a known limitation of the push interface, not specifically a pyTivo issue. If you want to watch a recording as it transfers, then you should use the pull interface instead. See further discussion here.
Pushed files are treated as copy-protected on TiVo
This is normal behavior for pushed files. The TiVo box marks them as copy-proteted, and prevents further transfers via TTG or MRV. Pulled files are not marked as copy-protected.
How to make mpegs/vobs compatible with TiVo and pyTivo
See this sticky post in the pyTivo forum here
TiVo compatible file formats that can be transferred without transcoding
Using the pull interface, only compatible MPEG2 files can be transferred without transcoding. Using the push interface, certain compatible h.264 and VC-1 files can also be transferred without transcoding. For more information about compatible file formats, look here
How to group recordings into folders in the TiVo Now Playing List
Videos transfered to the TiVo are grouped based on the "seriesId" field in the metadata. Generally speaking, recordings that share the same seriesId will be grouped, but the rules are different for pushed files vs pulled files:
1. Using "pull" (transfers started from the TiVo): You must add a valid seriesId to the metadata, and you can only group with existing shows. The seriesID must be something that exists in the current guide data.
2. Using "push" (transfers started from pyTivo): You can create arbitrary groups. Files with the same seriesId or seriesTitle will be grouped, with the folder name based on the seriesTitle or title of the first one pushed.
See additional discussion here.
Why are pushed recordings sometimes grouped into a folder with only one item in the TiVo Now Playing List?
Sometimes pushed recordings get unintentionally put into a folder in the NPL. The folder will contain only one recording, and will have the same name as the recording. This may happen even when there is no SeriesID in the metadata. This is a TiVo bug. It's a reversion to the way it always used to work, back when TiVoCast was introduced. Usually a reboot will stop this from happening for new push transfers. The reboot will not remove folders that were created by previous push transfers.
Does pytivo use the metadata file [filename].tivo.txt for .Tivo files?
For .TiVo files, the internal metadata takes precedence over the .txt files. This is done for pushes because it's what happens anyway on pulls (where tivodecode is not used), so this way it's consistent for a given file. On a pull, the .TiVo header overrides everything; it's the TiVo box itself that does that. Otherwise the .txt file takes precedence (over MP4 internal tags, EyeTV tags, and .properties files).
Why do I get different metadata showing on my Tivo for pushed files than for pulled files?
Push uses a completely different system for metadata, and we don't know all the relevant keywords yet. Thus when you push a file, only a subset of the metadata is transferred to the Tivo.
Is there a way to cancel push transfers that have been queued up?
Not at this time. A workaround is to temporarily change the share's path to point to an empty directory, and start up pyTivo. Then the transfer requests from the TiVo should error out. If there are a large number of queued transfers, it can still take a while for them to all clear out.