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. Jun 19, 2009 #921 of 10413
    AudioNutz

    AudioNutz New Member

    318
    0
    Nov 9, 2008
    I like those (proposed) mockups for potential GUI improvements, but I have some dreams of my own. With the TABs, I think I would be switching back & forth too much, so I would prefer to see both TiVo's at the same time...

    I have three ideas of my own... (Sorry for the poor quality)

    This one allows you to see both TiVo's at once, but I didn't leave room for the "Files" area...
    [​IMG]

    This one has room for the "Files" area, but there's room for improvement.
    [​IMG]

    This one's my favorite... You can see everything at once, and there's room for everything.
    [​IMG]
     
  2. Jun 19, 2009 #922 of 10413
    AudioNutz

    AudioNutz New Member

    318
    0
    Nov 9, 2008
    I didn't know that you already tried the "copy" already... Hmmm... Nevermind... I'll keep thinking.
     
  3. Jun 19, 2009 #923 of 10413
    moyekj

    moyekj Well-Known Member

    11,149
    33
    Jan 23, 2006
    Mission...
    release_notes

    ENHANCEMENTS

    * Main GUI window updated to use a separate tab for each TiVo (and a separate tab for FILES mode).

    * TiVo basic statistics now displayed as a label for each TiVo along with last time Now Playing List was updated.

    * Configuration dialog updated to separate out settings into different tabs for a cleaner/easier view of all the settings

    * Added "Use VideoRedo GUI to review commercials" option that if set will start VideoRedo GUI following commercial detection job using the .VPrj file where you can review/adjust edits visually as desired. Then as soon as you close the VideoRedo GUI the next job in the pipe (normally would be the commercial cut job) will proceed.

    * Job Monitor now shows % complete for jobs where % complete is available and not the first running job (first running job has % complete in title so no need to duplicate).

    * Auto detected TiVos are now automatically saved to config.ini when detected.

    * Cosmetic: DATE & SIZE columns of Tivo Playlist table are now right justified so that numbers line up

    FIXES

    * Fixed endless looping error printing condition when NowPlaying List retrieval fails.

    * kmttg now limits to 1000 number of stdout/stderr messages saved per process. Previously this was unlimited which could result in JVM out of memory problem. This was especially a problem when running "comcut" with mencoder for example.

    * When enabling "Look for Tivos on network" setting in config GUI if it will now take effect in current session. Previously kmttg would not look for Tivos after this was enabled until next GUI session.

    * Tivo names with special characters such as '*' caused some exception problems that are now fixed with this release.

    * When adding a TiVo manually in config, cyclic is now updated to show the latest addition

    * Corrected bug in checking active jobs running versus "active job limit" configuration setting.
     
  4. Jun 19, 2009 #924 of 10413
    spocko

    spocko TiVo HD

    433
    1
    Feb 4, 2009
    Thanks moyekj for all your work!

    No offense to Audionutz, but I like the this tabbed design. I think it makes sense to only look at one location/source at a time.

    This begs a question: Are all jobs halted while the GUI is open? Ideally, other jobs will still be able to proceed if possible. I envision it working something like this:

    For the sake of discussion, lets define a "jobset" as a collection of jobs related to a single source file. The jobs within a jobset are processed sequentially, i.e. download, decode, fix, cut, encode. Threads are used to allow multiple jobsets to be in process concurrently.

    Thread 1: Handles a queue of jobsets with pending download jobs. This thread only processes download jobs, so as long as any download job is queued we are downloading. This would allow network utilization to be maximized. Once a download job is completed, the jobset is transferred to Thread 2 or 3. There is never more than one instance of Thread 1.

    Thread 2: Handles a queue of jobsets with pending non-interactive non-download jobs. If an interactive job is encountered, the jobset is transferred to Thread 3. On multi-core machines, there could be multiple instances of Thread 2, each having it's own queue of jobsets.

    Thread 3: Handles a queue of jobsets with pending interactive jobs. When an interactive job is closed, the jobset is transferred back to Thread 2 if it still has pending non-interactive jobs. There is never more than one instance of Thread 3.

    The goal here is to maximize network and CPU utilization by concurrently processing any jobs that can be. You may be doing something like this already, I haven't looked closely, I'm just thinking out loud here.
     
  5. Jun 19, 2009 #925 of 10413
    moyekj

    moyekj Well-Known Member

    11,149
    33
    Jan 23, 2006
    Mission...
    Yes jobs in kmttg in are setup to run in parallel. Every single background task launched gets its own thread. You can have multiple jobs running at the same time. There is a configuration option active job limit which defines how many CPU intensive jobs to allow to run at the same time.

    The kmttg job manager rules essentially boil down to this:
    * Only allow 1 playlist/download/metadata job per Tivo at a time
    * Manage job dependencies. Schedule jobs in the right order and jobs that rely on previous jobs to complete are queued waiting for the relevant jobs to complete.
    * CPU intensive jobs are defined as any job other than playlist, download and metadata.
    * Only allow up to active job limit CPU intensive jobs to run at the same time.

    Thus for example if you schedule a jobset from Tivo A and then another jobset from Tivo B you will see jobs running in parallel. If you schedule multiple FILES jobsets those will all run in parallel following the job manager rules summarized above.

    For the VideoRedo GUI job (I called it vrdreview) it will only pause the jobset it is associated with. If you have a different jobset running then the VRD GUI will have no effect on those.
    One scenario I didn't think about until this post is if you have 2 or more jobsets defined to run vrdreview. VideoRedo does not allow 2 instances of the program to run at the same time, so currently what happens is if a 2nd vrdreview job is run before the 1st one is closed, VideoRedo automatically terminates the 1st one which is not desired of course - the subsequent jobs of the 1st jobset will then run at that point even though you may not have reviewed the commercial cuts yet.
    I need to add some smarts to the Job Manager to only allow one "vrdreview" job at a time.

    EDIT: Actually for VideoRedo it's worse than I thought. The 1 at a time rule looks like needs to apply to all VideoRedo jobs, even the batch qsfix, adscan & adcut jobs.
    I guess the number of VideoRedo users must be pretty low since this was never caught/reported before.
     
  6. Jun 19, 2009 #926 of 10413
    Icarus

    Icarus New Member

    360
    0
    Jun 15, 2002
    Upcountry...
    I noticed it and worked around it by setting number of jobs to 1. Yeah, everything had to be done serially, unfortunately. If you fix that, I can try it again.

    For some reason in the windows gui, the setting for number of cpus isn't there on the config page, but I found it in the .ini file, but it didn't seem to make any difference to handbrake, as far as I could tell, after changing it to 2. I'm not complaining about it.

    -David

    lol, I can't wait until we get off this thread page because the bb software is making all the rest of the posts really wide now. :D
     
  7. Jun 19, 2009 #927 of 10413
    AudioNutz

    AudioNutz New Member

    318
    0
    Nov 9, 2008
    No offense taken. I mocked up those options as a suggestion. I knew not everyone would like them, but those of us that like to look at both TiVo's at the same time may like seeing it together.

    (This is one thing that I WISH TiVo would allow... I would LOVE it if I could look at the "To Do List", "Season Passes", and schedule recordings for TiVo#1 wile I'm sitting in front of TiVo#2.)
     
  8. Jun 19, 2009 #928 of 10413
    moyekj

    moyekj Well-Known Member

    11,149
    33
    Jan 23, 2006
    Mission...
    In latest version the configuration now has tabs. The setting is called active job limit in the Other tab (it's also in the documentation).
    I'll probably release another version shortly that limits VideoRedo jobs to 1 at a time since it's a simple and relatively minor change.
     
  9. Jun 19, 2009 #929 of 10413
    moyekj

    moyekj Well-Known Member

    11,149
    33
    Jan 23, 2006
    Mission...
    v0.6f (06/19/2009)

    FIXES

    * Discovered that VideoRedo does not allow/work with more than 1 job at a time. So now kmttg limits tasks using VideoRedo to one at a time.

    As a side note for VideoRedo users:
    I can't seem to get VideoRedo "adcut" job to run in service mode under Windows Vista.
    To be more specific, the job launches but just sits there idle doing nothing, and I have to kill it using Task Manager or it never exits.
    Yet other VideoRedo jobs such as "qsfix" run fine on same machine in service mode.

    On a Windows XP job all VideoRedo jobs run fine in service mode including "adcut", so it's not a general Windows service issue.
    (On both computers I configured services to be run as a user account as described in Wiki page).

    So I'm just wondering if it's just me, or a Vista problem? If it is a general problem then I can make a change to
    use "mencoder" to do cuts instead when in service mode which is why I ask...
     
  10. Jun 20, 2009 #930 of 10413
    Icarus

    Icarus New Member

    360
    0
    Jun 15, 2002
    Upcountry...
    If I have an entry in /etc/hosts, I can't use that name where it asks for the ip address? I have to use dotted decimal notation only?

    damn .. never mind, it does work. operator error.

    -David
     
  11. Jun 20, 2009 #931 of 10413
    Icarus

    Icarus New Member

    360
    0
    Jun 15, 2002
    Upcountry...
    It just ran the vrd ad-cut job after the manual review of one program and it ran and exited fine for me. I'm running vista 64-bit, using the latest version of kmttg.

    I have seen it misbehave once or twice with TVAP and kmttg. Sometimes after it starts it in service mode, it gets confused and opens the UI. Also, if you cancel a job when vrd is running, I've had to manually kill the process with taskmgr. That left over process will screw everything up if you try running another job when it tries to run vrd. I've seen some other odd behavior in service mode, for example, once in a while it pops up the window telling me how many frames were read and how many written and waits for me to hit ok, which is very strange when it's in service mode. So, yeah, there's some oddness with vrd, but most of the time it runs fine in service mode.

    -David
     
  12. Jun 20, 2009 #932 of 10413
    spocko

    spocko TiVo HD

    433
    1
    Feb 4, 2009
    Thanks for the explanation. Sounds like the job handling is pretty optimal already, even better than what I described, good work!
     
  13. Jun 22, 2009 #933 of 10413
    krar4

    krar4 New Member

    57
    0
    Dec 21, 2002
    IL
    KM,

    I really appreciate how easy you've made it to download & convert .tivo files to .mpg files for my Archos 5 player. KMTTG is an incredibly helpful program.

    We are now considering buying the 32GB Apple Ipod Touch for my daughter. Will my current process work just as easily with the Ipod Touch player? I think it should. The player description says the Touch plays .mpg and H264 video files.

    I'd appreciate any feedback from any Touch users on the forum.

    Thanks,
    Rick
     
  14. Jun 22, 2009 #934 of 10413
    AudioNutz

    AudioNutz New Member

    318
    0
    Nov 9, 2008
    Rick,
    I do all my conversions for an iPod 5G. My guess is that the only difference is the size (W & H) of the screen. I'm encoding at 320x240 for the 5G, but the touch can allow 480x320.
     
  15. Jun 22, 2009 #935 of 10413
    moyekj

    moyekj Well-Known Member

    11,149
    33
    Jan 23, 2006
    Mission...
    I don't own iPod or iTouch so can't verify it personally, but there are 4 ipod profiles that probably fit the bill (and probably any one of them would work):
    using ffmpeg:
    ff_ipod_low_res is for 320x240 resolution (i.e. 320 horizontal resolution)
    ff_ipod_high_res is for 640x480 resolution (i.e. 640 horizontal resolution)

    using handbrake:
    hb_ipod is for 320 horizontal resolution (vertical resolution is scaled to preserve proper aspect ratio)
    hb_iphone is for 480 horizontal resolution (vertical resolution is scaled to preserve proper aspect ratio)

    Plus of course you can always make/customize your own profile for specific needs.
     
  16. Jun 22, 2009 #936 of 10413
    Icarus

    Icarus New Member

    360
    0
    Jun 15, 2002
    Upcountry...
    I have an ipod touch. I use handbrake with the hb_iphone profile.

    The ipod touch has the same screen as the iphone.

    -David
     
  17. Jun 22, 2009 #937 of 10413
    moyekj

    moyekj Well-Known Member

    11,149
    33
    Jan 23, 2006
    Mission...
    This reminds me and I'm surprised haven't heard any complaints about it - for cases when ffmpeg has a specific resolution set depending on the resolution of the source mpeg the resulting encoding may end up stretched one way or another. One of the (few) advantages of Handbrake is you can specify the horizontal resolution and it will automatically set the vertical resolution appropriately to preserve proper aspect ratio.
    With ffmpeg it is much more complicated in that you have to figure out yourself the proper horizontal and vertical resolution to use depending on source aspect ratio and if needed add padding options to ffmpeg to automatically add black bars when appropriate. So while that is possible to do with some work I was just wondering if I should bother looking into making the ffmpeg encodes smarter by accounting for resolution and aspect ratio? Or are people not bothered by distortion or using Handbrake anyway?
     
  18. Jun 23, 2009 #938 of 10413
    AudioNutz

    AudioNutz New Member

    318
    0
    Nov 9, 2008
    I have never seen the distortion that you're speaking of with ffmpeg.

    The handbrake functionality that you speak of has a bug on the Mac version that needs an argument that scales the video, or else it will get the distortion you speak of. That in itself isn't a problem, but the extra time that this "scaling" takes during the encode process multiplies the encode times by 4 when you use Handbrake compared to ffmpeg.
     
  19. Jun 23, 2009 #939 of 10413
    moyekj

    moyekj Well-Known Member

    11,149
    33
    Jan 23, 2006
    Mission...
    Looking at it again closely last night I realized that it is really only a problem when you explicitly set aspect ratio for the output that is different than the input. So, for the existing built in profiles only ff_psp specifies a 16:9 output ratio explicitly, which means if you start from a 4:3 aspect ratio source it gets stretched horizontally. So I think I should just remove the -aspect 16:9 in that profile and things will be OK as is.

    Before I was thinking that all the profiles that specify a 4:3 output resolution would be distorted when starting from a 16:9 aspect ratio source, but that does not appear to be the case.
     
  20. Jun 25, 2009 #940 of 10413
    cones

    cones New Member

    3
    0
    Apr 20, 2009
    I can't figure out how to install this program. I'm using ubuntu linux and i extracted the file that was downloaded, do i need to extract that .jar file too? Once i do that how do i run the program?
     

Share This Page