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. May 23, 2009 #661 of 10413
    moyekj

    moyekj Well-Known Member

    11,150
    33
    Jan 23, 2006
    Mission...
    Special thanks to AudioNutz for helping with Macintosh platform testing and 3rd party tools packaging and kearygriffin for Linux platform testing.

    Hopefully there are no major bugs but as with any major changes there are bound to be some things which broke or don't work as expected. Note that Windows service completely changes for this release so if you are using kmttg as a windows service be sure to remove the prior service and consult documentation for how to run the java based version as a service.

    ==v0.6a (05/23/2009)==
    *ENHANCEMENTS*

    * Completely ported to Java (supports Java 1.5 or later).

    * Much easier installation. For Windows & Mac platforms the 3rd party tools are automatically downloaded and installed if needed the first time you run the application. For Linux platforms the tools are searched for in run path.

    * Addition of "custom" job which you can enable to run whatever post-processing program/script you want.

    * When you use the *Auto Transfers-Add selected titles* entry to add auto transfer entries from Now Playing list the entries default to performing tasks selected in main window instead of just defaulting to download only.

    * You can now double click on a job in monitor to see running job stdout/stderr details

    * Improved Now Playing List column sorting: does not reset sort choice each new listing

    * Now Playing List display now stretches vertically as well as horizontally so you can see more entries at a time without having to scroll.

    * Table columns can be re-sized manually

    * Better error reporting for any background task problems

    * Better error checking and highlighting in configuration.

    * Tivo beacon listening automatically shuts off after 10 minutes (no point listening for too long anyway)
     
  2. May 23, 2009 #662 of 10413
    wmcbrine

    wmcbrine Ziphead

    10,368
    22
    Aug 2, 2003
    A complete rewrite seems like it should be more than an 0.5 -> 0.6 version bump. :)

    Why Java?
     
  3. May 23, 2009 #663 of 10413
    orev

    orev New Member

    81
    0
    Feb 16, 2003
    There is no requirement to have a monitor or keyboard connected to a system in order to run X windows. In fact, you have many options:
    - Remote X display: You can run X on your local computer (Cygwin/X is great for running on Windows), then you can login to your server using SSH and use X11 forwarding. Then the program you run will display on your local display, but the processing will be done on the remote server. This is the way X was designed to be used from the beginning. The disadvantage to this is that if you disconnect your local computer, the program will stop running.

    - VNC: VNC on a Linux server starts a virtual instance and desktop in the server's memory, and does not run on the local video/keyboard (in fact, you could not see it even if you connected a monitor to the local system). You can then connect to it using the vncviewer, start programs, etc... Then, when you disconnect the session keeps running on the server, even though you are not connected to it.

    - NX: NX is similar to VNC as described above, but is faster due to compression. I don't have direct experience with it, but have heard good things.
     
  4. May 23, 2009 #664 of 10413
    orev

    orev New Member

    81
    0
    Feb 16, 2003
    Hey, this is really a great program, and does pretty much everything I was hoping for. I had written some perl scripts myself to perform similar functions, but they were very manual. You have encapsulated all of the functionality into a great UI, and done a very good job with it.

    One suggestion I have is to allow setting of the "stik" in atomicparsley. I'm sure this is an iTunes specific thing, but if you encode to ipod/iphone, the default is to add the m4v file into the "Movies" section in iTunes. The problem with this is that you need to manually select each movie to sync with the iphone. There is no way to say "sync all movies". However, if you use '--stik "TV Show"', iTunes adds the file to the "TV Shows" section, and in that section there is an option to "sync all TV shows". A bit annoying, but that's the way it is in itunes land.

    Another thing I had done was use mencoder to run a cropdetect that can automatically find letterboxed shows and cut out the black bars. This adds complexity to the program because now you have one step that relies on a previous step's output. It comes in handy though for shows that are 16:9 but shown on 4:3 screens.

    A final feature that is nice is the ability for mencoder to process the comskip edl file at the same time as it's doing the encoding. It saves some time in the process, but again adds complexity.

    I also have a profile for you that uses mencoder to create a compatible x264 file:
    mencoder -mc 0.2 INFILE -of lavf -lavfopts format=mp4 -sws 2 -vf scale=320:-2,harddup -ovc x264 -x264encopts bitrate=$ipod_vbitrate:vbv_maxrate=1500:vbv_bufsize=2000:me=umh:level_idc=30:global_header:threads=auto:subq=6:frameref=6:nocabac:trellis=2 -oac faac -faacopts mpeg=4:eek:bject=2:br=128:raw -channels 2 -srate 48000 -edl EDLFILE -o OUTFILE
    This profile was actually made for an ipod classic, but also works on an iphone.

    I'd be glad to share my script with you if you'd like to see how I did a few things.
     
  5. May 23, 2009 #665 of 10413
    moyekj

    moyekj Well-Known Member

    11,150
    33
    Jan 23, 2006
    Mission...
    Yes, well keeping with tradition every major change has had a +0.1 version bump to date though I agree this is the biggest change of all. I hate to give it 1.x as that implies mature program which this definitely is not.
    I have much higher comfort level in Perl but the Perl + Tk installation requirement made it very difficult to install, especially on Mac platforms, and ultimately the Perl/Tk GUI is pretty limiting. Java seemed like the next logical choice for me for cross-platform support (including GUI) and seems to be a much more widely used programming language. I'm hoping to get some help for future development and it's likely Java is a better fit for that than Perl.
    Downside is Java is still new to me and I have a lot to learn still and my GUI building skills are very poor and Java doesn't make it easy on you. Perhaps some Java developers here with much better GUI building skills can improve the GUI a lot - I hate doing GUI work in general if it's not already apparent...
     
  6. May 24, 2009 #666 of 10413
    bkdtv

    bkdtv New Member

    7,902
    0
    Jan 9, 2003
    DC Metro Area
    Awesome upgrade with Java! Finally a simple[r] installation for most folks.

    I did notice that the TiVo "network detection" in this version doesn't work for me. I had to manually add the TiVo by name and IP.
     
  7. May 24, 2009 #667 of 10413
    cherry ghost

    cherry ghost Active Member

    5,281
    6
    Sep 13, 2005
    Chicago
    It auto detected both my TiVos but doesn't show any programs for one of them
     
  8. May 24, 2009 #668 of 10413
    AudioNutz

    AudioNutz New Member

    318
    0
    Nov 9, 2008
    Lets face it, average folks want a program like this to be easy. (Especially us Mac folks) With the additional install of the Tk environment, and the requirement to have the X11 tools installed, this eliminates most Mac folks.

    We're really not lazy, we just expect things to work. (Hence the ad campaign)

    By the way... I LIKE IT!
     
  9. May 24, 2009 #669 of 10413
    moyekj

    moyekj Well-Known Member

    11,150
    33
    Jan 23, 2006
    Mission...
    For those that configure kmttg to use VideoRedo (for QS Fix and comcut tasks) please consult the new Wiki page. The long standing problem where VRD doesn't run in Windows Service mode has a workaround detailed in the VideoRedo_configuration wiki page.
     
  10. May 24, 2009 #670 of 10413
    bkdtv

    bkdtv New Member

    7,902
    0
    Jan 9, 2003
    DC Metro Area
    Exactly.

    It really comes down to whether you are writing the program primarily for yourself or as a contribution to the community. If you really want to contribute to the community, then you release your program in a format that most people can install quickly and easily.

    A program like pyTivo would be 50x as popular if it didn't require that Python garbage on Windows. The pyTiVoX release for OSX is comparatively simple to install and use (due to the nature of that platform), and it averages almost 100 downloads a day with 5% of the OS market.
     
  11. May 24, 2009 #671 of 10413
    moyekj

    moyekj Well-Known Member

    11,150
    33
    Jan 23, 2006
    Mission...
    bkdtv, just a clarification for your "Download Recordings" documentation section on kmttg. With this new Java version you don't need to download the helper tools - for Windows and Mac platforms kmttg will prompt to download and install them if necessary, so you really only need to download the one kmttg_v0*.zip file. (For Linux platform there is no tools package available but kmttg will look for them in your bin path if you have them installed). One of the goals of this Java port was to try and make installation as easy as possible.
    Thanks.
     
  12. May 24, 2009 #672 of 10413
    bkdtv

    bkdtv New Member

    7,902
    0
    Jan 9, 2003
    DC Metro Area
    Just curious...Will kmttg periodically check for updates to the helper tools? I understand that there are periodic updates to comskip, for example.
     
  13. May 24, 2009 #673 of 10413
    AudioNutz

    AudioNutz New Member

    318
    0
    Nov 9, 2008
    Very true. I've tried iTiVo for the Mac, and it certainly does work, but it works only in the way the author intended to use it for his own needs. (Not to mention the speed issues with non-x86 chipped Macs) While I think it is very admirable that he has shared it with the TiVo community, it still doesn't have the flexibility that KMTTG does. Now that KMTTG is sooo easy to run on Mac, I can't imagine using anything else. (For my needs)

    Agreed, but pyTiVoX still has a pretty narrow OS requirement. Regardless of what you do, you still need to be running the latest OS to run pyTiVoX. (I recently had to purchase a license for Leopard Server, so I could consolidate the KMTTG and pyTiVoX into the same machine)
     
  14. May 24, 2009 #674 of 10413
    cherry ghost

    cherry ghost Active Member

    5,281
    6
    Sep 13, 2005
    Chicago
    Any reason why this would happen? Is there a Now Playing List size limit?

    It says "NPL job completed: 00:00:19" but no shows are listed
     
  15. May 24, 2009 #675 of 10413
    bkdtv

    bkdtv New Member

    7,902
    0
    Jan 9, 2003
    DC Metro Area
    Fixed there, as well as in the AVS thread. If there are any other changes you want made, let me know.
     
  16. May 24, 2009 #676 of 10413
    wmcbrine

    wmcbrine Ziphead

    10,368
    22
    Aug 2, 2003
    Then again, if people didn't insist on using that Windows garbage, they'd find Python preinstalled on a real OS, like Mac OS X or Ubuntu. :rolleyes:

    pyTivo is popular enough as it is, thanks. Your concern is noted.

    BTW, it's too bad about the Perl/Tk situation... Python's Tkinter on OS X doesn't use X, and comes preinstalled. I wonder why Perl doesn't use that?
     
  17. May 24, 2009 #677 of 10413
    moyekj

    moyekj Well-Known Member

    11,150
    33
    Jan 23, 2006
    Mission...
    No there is no size limit. Tivo will only return some maximum number per query (I think 256 shows is the limit or something like that), but kmttg will send additional queries with offsets until all listings are obtained. It sounds to me like perhaps that portion of the code may be broken though from your description. I did test that a while back and had it working (in Java port as well), but could be I broke something along the way during the Java port. I don't normally test that since I don't usually have many shows saved on my Tivos but I can create an artificial test for that functionality to check if it's still working as it's supposed to. I'll get back to you on that...

    EDIT: I can confirm it's indeed a bug in this new Java version. Good news is it's a very easy fix which is already in development version. I've got a couple of other things I'm working on I need to finish and then will release the fix in the next day or so. Thanks for reporting this and sorry for the trouble.
     
  18. May 24, 2009 #678 of 10413
    AudioNutz

    AudioNutz New Member

    318
    0
    Nov 9, 2008
    I'm laughing on the inside...
     
  19. May 24, 2009 #679 of 10413
    cherry ghost

    cherry ghost Active Member

    5,281
    6
    Sep 13, 2005
    Chicago
    Thanks for the update and all your work on this.
     
  20. May 24, 2009 #680 of 10413
    moyekj

    moyekj Well-Known Member

    11,150
    33
    Jan 23, 2006
    Mission...
    OK, new version just released:
    http://kmttg.googlecode.com/files/kmttg_v0p6b.zip

    FIXES
    * Fixed problem with obtaining Now Playing list of more than 256 shows.

    ENHANCEMENTS
    * Added Auto Transfers->Service menu for Windows platform to create/start/stop/view status of Windows kmttg auto transfers service.

    * Added Auto Transfers->Background Job menu for other platforms to start/stop/view status of kmttg auto transfers background job.

    NOTE: Easiest way to upgrade from v0p6a release is simply replace the kmttg.jar file with the new one in kmttg_v0p6b.zip. Then no re-configuration is needed.
     

Share This Page