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. kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    Streambaby has the same issues dealing with push (and in fact stole the size estimation code from pyTivo), but I also wanted to mention one other thing I was fooling around with dealing with push.

    In certain circumstances streambaby can't even estimate the final video size. In particular when it uses the "-sameq" parameter with ffmpeg and doesn't specify any bitrate paramters, streambaby can't estimate the size. (It may be more accurate to say I don't know how to estimate the size...)

    In this case streambaby passes a size of "-1" to TiVo.

    When a push is done in this way, the TiVo code to determine when to allow someone to start viewing the video seems to behave very erratically. If you try to play the video it may say "1 minutes until"... If you hit back, and then try immediately to play again it may say "60 minute until..". If you hit back again and select play, it may actually allow you to start playing.

    I am not sure how in this case TiVo is determining whether or not to allow you to play or the minutes remaining (current network speed/movie duration?), but it seems that if you hit back & play enough it will eventually let you play. The biggest downside is that even if you have 95% of the movie downloaded, TiVo still acts as above.


    Note: I am not recommending the above, and in fact I am thinking about eliminating the use of -sameq from streambaby so I can always estimate the size and pass it to the TiVo during the push. I just wanted to get the results of my playing around out there.
     
  2. rambler

    rambler Member

    488
    0
    Dec 3, 2005
    I use pocketdivx encoder on vobs, to add closed captions burned right onto the video. Simplest way i've found. It works great on avi's if you have an srt too.
     
  3. lrhorer

    lrhorer Active Member

    6,924
    0
    Aug 31, 2003
    San...
    If you only push one program, then it won't show up in a folder (just like ordinary NPL behavior), but if you push more than one program from a share, the the programs from that share should all show up in a folder with the name of the share. Create more than one share on the server, and the programs from each will show in in their respective folder. If you want to have any particular program show up in more than one folder, then create multiple symlinks to the "real" file in each additional folder.

    I'm not certain how this works with sub-folders. I've never tried it. Out of curiosity, I am transferring a pair of programs from a two layer deep folder structure, right now.

    Create a share on the server called "Looney Toons", and create symlinks to the main files on the server (both the video files and the metafiles), and you're set.
     
  4. wmcbrine

    wmcbrine Ziphead

    10,368
    22
    Aug 2, 2003
    No.

    Push grouping is based on shared seriesId, seriesTitle or title in the metadata, only (with the name based on seriesTitle or title).
     
  5. jmemmott

    jmemmott New Member

    393
    0
    Jul 12, 2003
    Santa Cruz, CA
    Right now, I don’t have what I would consider an optimal way of transforming subtitles into captioned mpg. I was working on it but allowed myself to be sidetracked to create a counter example to claims about how difficult it is to stream closed captioned video using Silverlight. I have now restarted the subtitle work but it will be a few more days before I will be ready to release it. In the interim, it is still possible to do it, but it needs to be done in two steps. The first step uses t2extract or the Captions tab to create an .srt file from the DVD and the second uses t2merge or the “Coming Back” tab to create the captioned mpg file for pyTivo.

    Currently If I work with a closed captioning in a DVD rather than subtitles, the process is designed to work as follows:

    T2Sami expects to start from an unencrypted VIDEO_TS directory. If DVDFab is used then the entire contents of a DVD should be transferred to a directory. There is no need to manipulate anything so any version of DVDFab is sufficient.

    Using the “Coming Back” tab in T2Sami, I select the program I want by VTS and PGC from the list and rename it using the right mouse button context menu.

    I then select the “conversion” template I want to use. Typically this is one that does not do any re-encoding such as the MPEG template. Since I use pyTivo, I also enabled the pyTivo option and set the check box in the MPEG template to use the pyTivo push interface when I installed T2Sami.

    At this point all I have to do is press the processing button and minimize T2Sami while I do something else. T2Sami then extracts the audio, video and captions for the selected program; reformats them into the Tivo captioned video format and pushes the resulting file to the Tivo via pyTivo.

    I expect the subtitle mechanism will work the same way except you will need to set flags in your template to tell it to use the subtitle stream as the captioning source rather than DVD closed captions and set the subtitle language you want to use as part of the template.

    If you have specific questions or issues, I am happy to try to clarify how and why I am trying to implement things as I am. I also am open to suggestions about how to improve things if you have any.
     
  6. lrhorer

    lrhorer Active Member

    6,924
    0
    Aug 31, 2003
    San...
    Oops! Of course you are right. I had forgotten there's an extra step. What I do is (automatically) create a metafile with a seriesId and a seriesTitle based upon the folder. Since every metafile in the pyTivo share has the same seriesId and SeriesTitle, they all show up under a single folder. As an example, before I verify a program can transfer to the TiVo without error, I toss it into a share named "Unverified" and create a metafile with a seriedId of 99999 and a seriesTitle of "Unverified". Then all the programs show up in a folder named "Unverified". Once the files transfer successfully, I delete the programs on the TiVo and the respective symlinks and metafiles in the Unverified share directory.
     
  7. christoman

    christoman New Member

    23
    0
    Feb 22, 2003
    Massachusetts
    jmemmott, thanks so much. This is the first time I have seen any step by step instructions, and I am sure it will be helpful to a lot of people. I will give this a try today. - Chris
     
  8. ajayabb

    ajayabb Member

    429
    0
    Jan 11, 2007
    Moorestown NJ
    Strange problem started happening. Using the Config Admin Web page, I am unable to connect to LocalHost9032 with Windows XP. I reinstalled a different version of Python twice and reinstalled Pytivo to no avail. I am able to run Pytivo from my Tivo without any problems, I simply cant load the Web Admin Page.
     
  9. moyekj

    moyekj Well-Known Member

    11,150
    33
    Jan 23, 2006
    Mission...
    Instead of http://localhost:9032 try http://<ip>:9032 where <ip> is your PC IP (the computer running pyTivo). And of course make sure you didn't accidentally change port number from 9032 to something else.
     
  10. ajayabb

    ajayabb Member

    429
    0
    Jan 11, 2007
    Moorestown NJ

    I still get Failure to Connect.
     
  11. Rdian06

    Rdian06 New Member

    463
    0
    Apr 12, 2008
    Are you trying to connect to it from the same machine that is running pyTivo? Or a different machine?

    And when you say "I am able to run Pytivo from my Tivo without any problems", do you mean you can see the pyTivo shares on your Tivo and transfer files without any issues?

    FYI, the 03/2009 Windows installer tightened the firewall exception a little bit for security reasons. The admin page can only be connected to from within the pyTivo box's subnet by default. You can of course change this if you want by modiying the Windows Firewall exception scope.
     
  12. ajayabb

    ajayabb Member

    429
    0
    Jan 11, 2007
    Moorestown NJ
    Correct, I am trying to connect to it on the same machine that is running pytivo.


    Correct, I am able to see my video shares on my tivo and transfer without a hitch.


    I have turned off my Windows firewall without any success
     
  13. Rdian06

    Rdian06 New Member

    463
    0
    Apr 12, 2008
    Try typing:

    Code:
    http://127.0.0.1:9032
    Don't forget the http:// part.

    Also double check your conf file and see if there is a port number listed in the Server section. If there is, substitute that number for 9032 above.
     
  14. ajayabb

    ajayabb Member

    429
    0
    Jan 11, 2007
    Moorestown NJ

    Still No Luck. Failure to connect
     
  15. Rdian06

    Rdian06 New Member

    463
    0
    Apr 12, 2008
    Are you using Internet Explorer or Firefox to try to connect?

    It's possible you (or a virus) configured a proxy that is screwing up the connection from that machine. I've seen this happen to a friend. I'd look at the Internet Options control panel on the Connections tab. Firefox has proxy configuration options of it's own somewhere in its preferences.
     
  16. ajayabb

    ajayabb Member

    429
    0
    Jan 11, 2007
    Moorestown NJ
    I reinstalled an older version of Pytivo, thinking that may help but it didnt. I then reinstalled the latest Windows Installer version as I had before and now everything works fine. Thanks for all the help
     
  17. AudioNutz

    AudioNutz New Member

    318
    0
    Nov 9, 2008
    I'm not sure if this has been asked, but is there a way to configure pytivo so that only one of my two TiVo's has access to the shows stored there?
     
  18. lrhorer

    lrhorer Active Member

    6,924
    0
    Aug 31, 2003
    San...
    I don't think pyTivo has any such configuration built in, but there are a number of ways to accomplish such a task, depending on exactly what you want to do.
     
  19. Rdian06

    Rdian06 New Member

    463
    0
    Apr 12, 2008
    There is an option to do this with the latest wmcbrine code. However, it has a bit of a conflict with the new Zeroconf share announcement.

    You enable it by defining a Tivo unit specific section and adding a "shares" line to limit which shares are visible to that Tivo (comma separate list of share names.)

    When you add a "shares" line, pyTivo will DISABLE Zeroconf by default (this is normally enabled) and use old style beacons. The shares not listed on the share line will not appear on the Tivo you specified. If you then enable Zeroconf manually (set zeroconf to True in the Server section,) then the share will appear on all Tivos, but will be empty for Tivos that have a share line but do not include the specific share name.


    See the help.txt file in plugins/admin/
     
  20. wmcbrine

    wmcbrine Ziphead

    10,368
    22
    Aug 2, 2003
    The correct answer is "yes", though I was hoping someone else would say it. :) Edit: And of course someone did, as I typed this...

    Create a section for each TiVo in pyTivo.conf, and give it a list of allowed shares:

    [_tivo_64800012345]
    shares = Videos

    [_tivo_64800012346]
    shares = Videos, Porn

    Note that this will disable the new-style, zeroconf-based beacons. You can explicitly reenable them, but then all share names (though not their contents, which will still be governed by the "shares" keywords) will appear on all TiVos.

    Edit: BTW, "shares" security is not specific to my fork, as Rdian06 perhaps unintentionally implied; only the interaction with zeroconf is new, because zeroconf support itself is new. The "shares" feature is due to KRKeegan and dates to February 2008.
     

Share This Page