Skip to content
forked from wmcbrine/pytivo

Python3 version of PyTivo! pyTivo is both an HMO and GoBack server. Similar to TiVo Desktop pyTivo loads many standard video compression codecs and outputs mpeg2 video to the TiVo. However, pyTivo is able to load MANY more file types than TiVo Desktop.

Notifications You must be signed in to change notification settings

itsayellow/pytivo

 
 

Repository files navigation

This fork is the python 3 port of pyTivo!

Description

pyTivo lets you stream most videos from your PC to your unhacked tivo. It uses the HMO server protocol. It will guess if your video is 4:3 or 16:9 and pad your video if it thinks it is needed. It will not transcode an mpeg that is supported by your tivo.

Installation

This should work with macOS, Linux, and Windows.

You need python 3.6 or greater installed on your system.

For most video operations, you also need ffmpeg installed on your system.

"Easy" Install Instructions

This fork of pytivo is a python package, installable via pip, and thus also installable with pipx. pipx isolates the python environment for pytivo from the rest of your system python, and puts the pytivo app executable in your user binary path.

  1. Install pipx using python
python3 -m pip install --user pipx
python3 -m pipx ensurepath
  1. Install pytivo using pipx. There are two options for step 2, depending on whether you have git installed on your system:

    A. If you have git installed on your system

    pipx install git+https://github.com/itsayellow/pytivo

    B. If you do not have git installed on your system, download the pytivo repository and unpack it to <Some_Directory>/pytivo (where <Some_Directory> is whatever directory is the parent of the pytivo directory), then execute:

    pipx install <Some_Directory>/pytivo
    
  2. Execute pytivo --help to test that it is functional.

After using this pipx install method, you should be able to execute the pytivo command from your shell. It will be installed in your home directory in the subdirectory .local/bin

Editing pyTivo.conf

You need a valid pyTivo.conf file in either /etc/pyTivo.conf, in your home directory in .config/pytivo/pyTivo.conf, in the directory where you execute pytivo (i.e. your current working directory), or in a path specified with the -c option to pytivo.

You need to edit pyTivo.conf in at least 2 sections.

  1. ffmpeg=
  2. [<name of share>]
    • path=<full directory path>
    • type=<video OR photos OR music>

ffmpeg should indicate the full path to ffmpeg including filename.

Each [<name of share>] describes a folder and type of media to share with your TiVo. You can specify multiple shares, even multiple shares of the same kind of media. path is the absolute path to your media. type indicates whether the share is for video (most common) or photos or music.

Running pytivo

With the pyTivo.conf file in one of preset config file directories, simply run:

pytivo

from the console.

If the pyTivo.conf file that you want to use is somewhere else, use:

pytivo -c <full-path-of-pyTivo.conf>

Windows Service

Currently the pytivoservice tool is not functional.

Additionally on Windows, there is an extra console utility pytivoservice to install, remove, start, or stop pytivo as a service.

Install pytivo as a service

pytivoservice --startup auto install

Remove the pytivo service

pytivoservice remove

Help on all pytivoservice subcommands

pytivoservice

Credits

pyTivo was created by Jason Michalski ("armooo"). Contributors include Kevin R. Keegan, William McBrine, and Terry Mound ("wgw").

This conversion to python 3 and refactoring was carried out by Matthew A. Clapp ("itsayellow")

About

Python3 version of PyTivo! pyTivo is both an HMO and GoBack server. Similar to TiVo Desktop pyTivo loads many standard video compression codecs and outputs mpeg2 video to the TiVo. However, pyTivo is able to load MANY more file types than TiVo Desktop.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.0%
  • JavaScript 1.3%
  • CSS 0.7%