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

New program for 1 step TTG downloads, decryption, encoding - kmttg

Discussion in 'TiVo Home Media Features & TiVoToGo' started by moyekj, Mar 15, 2008.

  1. Dec 30, 2009 #1701 of 10412
    Mark Wilden

    Mark Wilden New Member

    15
    0
    Feb 25, 2008
    Is there a known problem with multiple selection? Several times, I've selected a discontinous set of files to download, but kmttg seems to want to download the unselected files in between the selected ones.
     
  2. Dec 30, 2009 #1702 of 10412
    moyekj

    moyekj Well-Known Member

    11,140
    31
    Jan 23, 2006
    Mission...
    I don't recall any other posts about that and have not experienced it myself, but I don't do that very often either. What OS & Java version are you using?
     
  3. Dec 31, 2009 #1703 of 10412
    Mark Wilden

    Mark Wilden New Member

    15
    0
    Feb 25, 2008
    This is on OS X 10.5.8 with Java 1.5. I'd like to setup a test case to show you, but I imagine that's not possible. Maybe just select four contiguous files, unselect one in the middle, and start a job on them.
     
  4. Dec 31, 2009 #1704 of 10412
    moyekj

    moyekj Well-Known Member

    11,140
    31
    Jan 23, 2006
    Mission...
    Just tried that and it worked as expected. The 3 still selected ones were queued up and unselected one was not. This is using Windows Vista 64 & Java 1.6.x. I don't have a Mac to test with. I do have Linux available and will test it there again, but I've tried that in the past and it has worked as expected.
     
  5. Jan 1, 2010 #1705 of 10412
    moyekj

    moyekj Well-Known Member

    11,140
    31
    Jan 23, 2006
    Mission...
    v0p7g version just released. See release notes for details:
    http://code.google.com/p/kmttg/wiki/release_notes

    NOTE: If upgrading older version be sure to update the encode folder as well since there were some fixes to existing profiles as well as new encoding profiles added.
     
  6. Jan 3, 2010 #1706 of 10412
    RedMan8

    RedMan8 Member

    195
    0
    Sep 30, 2005
    Wow, this is fantastic!

    The only manual step that I still do, is to change the seriesID and name so the pushed files go into a custom folder. I like to add the text "[cut]" to the show name so I can tell which folder has the real shows and which one is commercial free.

    Currently, I have to tell all my auto transfers NOT to push at the end. After it cuts a few shows I go in and manually change the .txt files so the new folders have "[cut]" at the end, then I manually push the files.

    Does anyone know a way to automate this step?

    I thought about creating my own script and adding it as "custom", but the documentation says that will run last... which means I still can't auto-push because that would happen before my script.
     
  7. Jan 3, 2010 #1707 of 10412
    orangeboy

    orangeboy yes, I AM orangeboy!

    4,083
    0
    Apr 19, 2004
    East Moline, IL
    You can disable auto-push in kmttg, and add a push step to a custom script using cURL:

    Code:
    "C:\Program Files\cURL\curl.exe" -s -d "Command=Push&Container=%Container%&File=%File%&tsn=%tsn%" "http://localhost:9032/TivoConnect?"
    
    %Container% would be the name of the pyTivo share that contains the file,
    %File% would be the relative path to the file,
    %tsn% would be the name of the DVR you want to push to, and
    "http://localhost:9032/TivoConnect?" would be the pyTivo server web address.

    Determining the %variable% values is the tricky part, but not impossible!
     
  8. Jan 3, 2010 #1708 of 10412
    RedMan8

    RedMan8 Member

    195
    0
    Sep 30, 2005
    ha... I never thought of that! duh!
    :)

    I have a backup of a log file that has the curl command already. I can use that to figure out the variables.

    That's perfect, thanks orangeboy!
     
  9. Jan 3, 2010 #1709 of 10412
    RedMan8

    RedMan8 Member

    195
    0
    Sep 30, 2005
    ETA:
    I think I got it. I was using the wrong name for the "Container". The command completed without any errors, but I won't know if the file pushed until some other files are done transferring (see my question in the next post)
    :)

    ugh, I'm so close, but I can't get the curl command correct!

    I left off the -s so I can see the output, and it says "Unsupported Command"

     
  10. Jan 3, 2010 #1710 of 10412
    RedMan8

    RedMan8 Member

    195
    0
    Sep 30, 2005
    one more thing... I still can't figure out how to find the items that are currently in the "push queue". I think I have a couple items pushed (through the pyTiVo web interface), but I won't know for sure until it's done pushing the current item (and starts pushing the next).
     
  11. Jan 3, 2010 #1711 of 10412
    orangeboy

    orangeboy yes, I AM orangeboy!

    4,083
    0
    Apr 19, 2004
    East Moline, IL
    It's kind of a hassle when you upgrade, but here are a couple "logging" hacks applied to plugins\video\video.py: http://pytivo.sourceforge.net/forum/log-of-video-transfers-t131.html#8329. I say it's a hassle at upgrade time because the file usually gets replaced. I tend to keep a backup copy of the distribution files, as well as a copy of a modified file. For example, I may have:

    video.py
    video.py.orig and
    video.py.cust

    all in the same directory.
     
  12. Jan 3, 2010 #1712 of 10412
    moyekj

    moyekj Well-Known Member

    11,140
    31
    Jan 23, 2006
    Mission...
    If you look at pyTivo mind.py code there is a getDownloadRequests method which I think is intended to grab the current queue of requests at TiVo mind server but I have never tried using it. I didn't check but I don't think there is a pyTivo web interface to that procedure though, so one would have to write a custom python script and import a bunch of pyTivo files to get it working. It would be a useful thing to have and perhaps you can make a request in pyTivo forums for a web interface to the function (if not already available). Since the main code is already in place an interface to it is all that's missing.
     
  13. Jan 3, 2010 #1713 of 10412
    moyekj

    moyekj Well-Known Member

    11,140
    31
    Jan 23, 2006
    Mission...
    Gave it a try (with a Java port of the mind.py code I did for streambaby project) and couldn't get anything useful back from the mind server - the query works but it doesn't return a list of queued/pending requests as I expected, so that method looks like doesn't do what is intended. Perhaps that's why pyTivo web server never made use of it either.

    It would also be useful to have a method to remove pending requests along with having a way to list them, but I didn't see any code related to that either. Stopping pyTivo web server is an easy way to get pending requests to fail of course.
     
  14. Jan 3, 2010 #1714 of 10412
    wmcbrine

    wmcbrine Ziphead

    10,364
    22
    Aug 2, 2003
    getDownloadRequests() is written for the webvideo plugin. It gets the list of videos requested through the Video on Demand menu that have a little computer icon next to them, meaning that your computer is supposed to transcode them. This isn't the push queue -- the actual push requests are sent by the webvideo plugin after it calls getDownloadRequests().
     
  15. Jan 3, 2010 #1715 of 10412
    moyekj

    moyekj Well-Known Member

    11,140
    31
    Jan 23, 2006
    Mission...
    OK thanks for clarifying. Do you happen to know if there are methods for getting queue and removing items from queue via mind server?
     
  16. Jan 3, 2010 #1716 of 10412
    wmcbrine

    wmcbrine Ziphead

    10,364
    22
    Aug 2, 2003
    I don't know, no.
     
  17. Jan 5, 2010 #1717 of 10412
    robbroy

    robbroy New Member

    26
    0
    Feb 21, 2002

    __________________

    Following up on this query, the metadata file created by the metadata check box in kmttg has a datafield entitled "movieYear which could be used for this purpose.
     
  18. Jan 5, 2010 #1718 of 10412
    moyekj

    moyekj Well-Known Member

    11,140
    31
    Jan 23, 2006
    Mission...
    I responded to your query here:
    http://www.tivocommunity.com/tivo-vb/showthread.php?p=7686567#post7686567
    As I explained there it takes an additional https call for each show to obtain such information. So technically I could make it so that information normally reserved for metadata task is downloaded anyway regardless if metadata task is selected or not and then get the information needed. Another note however is that for non-movies obviously that information doesn't exist, so what's the fallback in that case? Leave it out completely or derive it from originalAirDate?
     
  19. Jan 5, 2010 #1719 of 10412
    VideoGrabber

    VideoGrabber New Member

    114
    0
    Sep 11, 2003
    OK, here's a silly new user question.

    I started using kmttg a few days ago, and everything's been working fine. Very impressive. So I decided to enable Auto-Transfers in GUI mode, with all titles selected (.*), check for new stuff every 30mins, and only transfer items less than 6 hours old (my downloads were already up to date by then, so this was to grab new items as they appeared). The AutoTransfer entry is Enabled.

    I used the Auto-Transfer/Service menu to Install and Start the process, and checked the status as StartPending. I expected that stuff recorded overnight would have been TTG'd, but it's just sitting there doing nothing, so I must be missing a secret ingredient. Checking the docs gave me no clues, so I thought I'd ask here. This is on WinXP, and I had the impression that the GUI could handle the service configuration, without manually setting things up in Win Services.

    I see that selecting AutoTransfer/RunInGUI (which I did NOT do before) generates an Abort, with "No Keywords Defined in an auto.INI file". That's technically true. I did not define any Keywords... just the Title setting.

    ~~~

    Ah, OK. That ADD button is really important. :) I see now that the Config screen is basically a list-builder, and I had nothing on the list. Duh. :eek:

    I may have recognized that a bit earlier if clicking on OK with NOTHING in the list (which I did many times), generated a message "Hey, dummy, you need to ADD at least one thing first".

    In my own defense (yeah, right), the ADD, UPDATE, and DEL buttons are kind of wedged into a lot of other stuff, and in my naivete, I thought they applied to the Encoding Name control next to them. I had no clue that they applied to all the settings for each Entry.

    I'll leave my public embarrassment here :eek:, in case it helps anyone else just getting started.

    - Tim

    P.S. Maybe it's just me, but the UI seems to have a few more issues with the Configuration's Enabled button. I would assume that it's intended to enable/disable a specific item in the Keyword list above, but it can be toggled without selecting any entry first. And none of the entries are flagged in any way as to whether they're Enabled or not. And every time you enter Configuration, Enabled is always re-checked again, even though no entry is selected. But selecting an entry previously disabled will reflect that status on the Enabled button. Hmm.

    So perhaps I still don't fully understand all the specifics of this screen, after all. But I think I'm getting closer.

    It does look like after I do get things configured properly, I can actually initiate things in 2 ways: either by doing a Service/Start (which looks like it's running completely in the background, does not depend on having the GUI loaded, but doesn't show any Status in the GUI either). That's what I seem to have going at the moment. (Which probably wasn't my preferred choice.)

    OR, instead, I could have clicked Run In GUI (skipped all, or most? of the Service stuff), and the same transfers would take place, with Progress and Log lines in the GUI, but the GUI has to stay running, or it kills the processing. Let me know if there's anything I'm still missing. Thanks!
     
  20. Jan 5, 2010 #1720 of 10412
    moyekj

    moyekj Well-Known Member

    11,140
    31
    Jan 23, 2006
    Mission...
    I realize the Auto Transfers GUI can be a little confusing when you first use it. Basically the way it's designed is every time you click on an item in the list it will update the GUI options to reflect the current settings of that item. You can then change options at will but they won't actually be applied to the item until you choose UPDATE button. The reason for this is there needs to be a graphical way to show current configuration for each item and that's the way I chose to implement it.

    Finally, when you first bring up configuration no items are initially selected, so the GUI options display their default values (hence why Enable button for example initially always is turned on).

    If you prefer all the visual feedback the GUI gives you and don't need automated transfers then there is no need to run kmttg service at all. Instead as you discovered you can just run Auto Transfers->Run In GUI. I quite often use kmttg in that mode since it's a convenient way to run in GUI mode without having to select a show and set all the various tasks you want to perform manually every time.

    However if you want more complete automation without having to bring up a GUI at all then service mode is what you would use (and you have to check auto.log file for status information).
     

Share This Page