1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

pyTivo - Transcoding server

Discussion in 'TiVo Home Media Features & TiVoToGo' started by armooo, Nov 25, 2006.

  1. Sicklybutsexy

    Sicklybutsexy New Member

    May 5, 2007
    Thanks KRKeegan. After messing with that PFrank program I got it to work. I just had to make the search pattern .txt and have my desired name replace it ie... .avi.txt . That did it.
  2. MasterCephus

    MasterCephus New Member

    Jan 2, 2005
    I should have an update tomorrow that prompts for the naming of each episode...
  3. wgw

    wgw New Member

    May 16, 2007
    Doh! How did I miss that. That makes my HDtivosonly option redundant. I was a bit hesitant to add it but it sounded like a good idea at the time. I'll remove that setting from my mod unless someone can think of a good reason to leave it in. Let me know if you noticed any other fubars in my mod.

    Along those lines, I've been wondering if a string like one of these should be added to the default S3/HD ffmpeg template to improve quality.

    -b_strategy 1 -bf 2 -coder vlc -mbd rd -qmin 1 (submitted by ScottE)
    -mbd rd -flags +trell -mv0 -cgop -cmp 2 -subcmp 2 (from WinFF)

    Hmmm, food for thought. Specifying min/max parameters in the conf like this would allow for fewer parameter lines needing to be specified in the config.

    audio_br= 192k, 448k
    video_br= 4096k, 17408k

    Everyone sure has come up a lot of good ideas for consideration in the last 24 hours.
  4. philhu

    philhu User Since Day ONE!

    Apr 11, 2001
    I SECOND THAT! But we all know where TMF files came from...Ahem.

    Use TY files and the TXT files and run my program to put back the metadata

  5. MasterCephus

    MasterCephus New Member

    Jan 2, 2005
    maybe I am a little slow tonight, but what does your application do?
  6. KRKeegan

    KRKeegan Im lost and confused

    Jul 20, 2004
    No, no. I am just as confused too.
  7. KRKeegan

    KRKeegan Im lost and confused

    Jul 20, 2004
    I don't think any of the developer have access to such a file. If anyone who uses these comes up with a solution to this I would consider doing it.
  8. StanSimmons

    StanSimmons Senior Moment Member

    Jun 10, 2000
    I can put up a tmf file for you if you need one to look at.


  9. rjmitche

    rjmitche New Member

    Dec 30, 2004

    originalAirDate : <value>
    time : <value>

    Speaking of "recorded date" (time)...

    MasterCephus - Any chance of adding an option to your MetaGenerator program for setting the "time" value to the originalAirDate value? I think this would help when sorting by recorded date in the NPL (when transferred to the TiVo).
  10. philhu

    philhu User Since Day ONE!

    Apr 11, 2001
    I have txt file metafdat and ty files for video.

    It takes the metadata in the txt files and turns it into the pytivo txt files
    to hold the orig metadata.

    Just a read and convert.
  11. philhu

    philhu User Since Day ONE!

    Apr 11, 2001

    Your origairdate change is a bad idea.

    I have shows that have orig air dates of 1964, and earlier. They would always sort low, even though I recorded them this week!!!!!

    That is why we need both dates. OrigAirdate - 1964/mm/dd and showing date, for when it was recorded.
  12. eb3604

    eb3604 Go Yankees

    Jan 1, 2008
    was using pytivo.py. worked perfectly. then I decided to install it as a service. Followed the instructions, pytivo is running in services. But it isn't working. looked allover google and here. any help?


    got it to work. added the port # as allowable for my firewall. weird how pytivo.py worked though
  13. phox_mulder

    phox_mulder I get paid 2watch TV

    Feb 23, 2006
    Simple question.

    What version of Python do I want?

    Standard Release? x86? Win64-Itanium? Win64-AMD64?

    Or one of the Windows Binaries(does not include the source)
    (semi computer literate, but no idea what that means)

    I'm guessing the standard relase for x86, as my computer is @6 years old running Wink2K.
    I think I have an AMD processor though, but again, over 6 years old.

    Then, which version of PyTivo? there's 100 different versions to be had.

    Is PyTiVo easy to use for the non computer geniuses?
    The fact that you need Python, FFmpeg and the PyTivo script leads me to think not so much.

    Simple as TiVo Desktop, which won't run on my Win2K computer anyway.

    I just want to watch downloaded TV programs on my TV using my TiVo instead of having to watch them on my computer.

    Really, I've tried reading through this whole thread and am getting more and more confused the more I read.
    Folders, Subfolders, Gits, patches, metadata, installing as a service.

  14. rjmitche

    rjmitche New Member

    Dec 30, 2004
    I agree that having the "recorded date" equal to the "original air date" might not be the perfect solution for every situation... that's why I was requesting that it be an option that could be turned on/off. I guess the real goal is to get the "time" item added to the metadata file (along with "originalAirDate"). It would need to default to some value and originalAirDate is available... I suppose another option would be to have it default to "today".
  15. lrhorer

    lrhorer New Member

    Aug 31, 2003
    You said one question. That's five. :)

    Yes, standard x86 release.

    Well, try a couple. They're easy to install. I suggest not the latest beta unless you like finding and reporting bugs.

    Using it is pretty much trivial. Installing is not difficult. Maintaining it, especially in light of all the development going on might be challenging if you find you want to keep up with all the latest features. Otherwise, not.

    Once you have it configurfed it's pretty much automatic. How difficult it is to configure depends on just what features you need and how picky you are about them. I've only used pyTiVo for testing and occasional purposes, and my config file is simply this (the server parameters are left as default):


    type = video
    path = z:\Recordings

    port = 9032
    ffmpeg = c:\Program Files\pyTivo\plugins\video\ffmpeg_mp2.exe
    ffmpeg_prams = -vcodec mpeg2video -r 29.97 -b &#37;(video_br)s -maxrate %(max_video_br)s -bufsize %(buff_size)s %(aspect_ratio)s -comment pyTivo.py -ac 2 -ab %(audio_br)s -ar 44100 -f vob -

    Folders allows you to create a separate file for each group of programs you want to lump together on the main NPL screen. In the above config file, there is only one folder defined, named "pyTiVo". For example, you could create folders called "Comedy", "Action Adventure", Westerns", and "Documentary". Each of these would show up in the root of the NPL. Each program in the main folder shows up under it's main title with no reference to any episode listing. 50 episodes of Law and Order would all show up as simply "Law and Order", and the user must drill into the program (hit <Right Arrow> or <Select>) to see which episode.

    Sub-folders are just directories you create in the server's file system underneath the source folder. It doesn't require any extra configuration in the config file. So for example, in Windows you can create main directories named as above and then create a directory named Gunsmoke\Westerns with 20 episodes of Gunsmoke in it. When you select "Westerns" from the TiVo menu and you have groups turned on, you will see a folder called "Gunsmoke" as one of the entires in the list. If you then select "Gunsmoke", you will see a list of 20 episode titles, rather than the series name. If you turn off groups in the NPL, then you will still see the main "Westerns" folder, but when you select the folder you will not see any sub-folders, and instead you will see 20 programs all named Gunsmoke.

    Apparently there is another way to handle this, but I am unfamiliar with it. Perhaps someone else can give you a brief on it.

    Metadata is the information about a recording apart from the actual video. It includes things like actors, directors, ratings, date recorded, plot synopsis, etc. Worry about it later, after you have pyTiVo up and running for a bit and decide you want to customize things. Or not.

    Don't worry about Gits or patches until things don't work or quit working.

    Installing as a service simply means you won't have to log in to the computer for the programs to be available on your Tivo. If the program runs as a regular application, then you must log in and run the app (it can be in your startup folder to run automatically after logging in) in order for its features to be available. Running it as service means it comes up and is available to the network even though no one is logged in to the computer, or no matter who is logged into the computer. Not being able to run as a service is one of TiVo Desktop's major downfalls, IMO.
  16. danpritts

    danpritts New Member

    Dec 15, 2007
    doh. that's a lot simpler than my method - ffmpeg just uses the original file's specs, i presume?
  17. wmcbrine

    wmcbrine Ziphead

    Aug 2, 2003
    I suppose I'll just be accused of adding to the "confusion", but I've posted a zip of my latest -- minus the libraries and ffmpeg -- here. If you install the libraries and ffmpeg separately (easy to do in Ubuntu), this is all you need. Otherwise you can unzip it over a fuller version.
  18. KRKeegan

    KRKeegan Im lost and confused

    Jul 20, 2004
    OK so it is pretty late and I should get to bed. But I have a new cool toy for everyone. I made a HTML configurator(what a horrible name). Maybe an HTML admin tool?

    Since pyTivo is just a http server I built it as a separate plugin. Even though it is a plugin it will not display on your TiVo. But you can load the link from your web browser and tinker with the settings in the pyTivo.conf file. It does not have an ability to do a restart from the webpage yet, if anyone knows how to do this let me know, so you will still have to manually restart pyTivo after you alter the pyTivo.conf file. Also the UI is pretty rough on the eyes, but it is a basic framework I can make it pretty later.

    This will work on any version of pyTivo

    To install this:
    1. Extract the attached zip into your plugins folder
    2. Add these 2 lines to your pyTivo.conf
    type = admin
    3. Restart pyTivo
    4. Go to
    Please change the IP to match your server.
    5. You can now browse and edit your configuration settings from a web browser

    I attached 2 screens of what it looks like as well.

    Request for help
    I would like to better document all the settings and their ideal ranges. At some point i would like to include that info in my above plugin as well. But in the mean time I updated:
    Can everyone please check out the list of settings I compiled. Add any that are missing. Write some descriptions of what they do. Include some examples. Write some comments about what the ideal settings are. And help me with the format of the end of the page.

    Your help would be greatly appreciated and would help future users of pyTivo as well.

    Attached Files:

  19. MasterCephus

    MasterCephus New Member

    Jan 2, 2005

    I built a stupid little thing that I was going to add a plugin to do this! I can't get the service to run on my box for some reason and I hate having that console, so I wrote a little GUI that creates a process in the backend that runs the script. That way I can just minimize it to the task bar with no problems and start, stop, and restart whenever I want.

    It works well, the only problem is that I can't get it to output to a textbox...which stinks, but it still does it's basic job :)

    I was going to extend that to allow a user to configure the configuration file, view the debug file, etc...

    I guess I don't have to do that anymore :)
  20. MasterCephus

    MasterCephus New Member

    Jan 2, 2005

    quick thing:

    Is that IP initially hard coded in? Just wondering because my home server is that IP address so there would be a conflict there. If it's hard coded, could you show me where to change the IP in the code to match my specific machine's IP that runs pyTivo?

Share This Page