Menu

mac_osx_installation  Edit

KMTTG MAC OSX INSTALLATION

1. INSTALL JAVA 8-10 IF NEEDED

(For a suggested update to the instructions in step 1, please scroll down to the comments section to view the post from user "Brian" on 2019-03-10.)

Kmttg is written in Java and latest versions requires Oracle Java version 1.8.0_40 or later. You can download Java Runtime Environment (JRE) from here:

http://java.com/en/download/manual.jsp

IMPORTANT: Java versions earlier that 1.8.0_40 will NOT work. Java 11 not currently supported.

Looks like for some reason, JRE 8 installs on Mac no longer put java in path, so you have to add java to your path manually. One way to do that is execute following from command line:

sudo rm /usr/bin/java; sudo ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java

2. DOWNLOAD KMTTG INSTALLATION ZIP FILE

Download kmttg current platform independent installation zip file from Files area:
http://sourceforge.net/projects/kmttg/files/?source=navbar

  • kmttg_vxxx.zip file – This contains the platform independent kmttg installation files

3. UNPACK ZIP FILE

  • Unpack kmttg_vxxx.zip file to your desired location. In this example: /home/moyekj/kmttg

UPGRADE INSTALLATION TIPS (Version v1p0a or later)

  • Starting with version v1p0a you can now update kmttg installation to latest official version automatically using Help-Update kmttg... menu entry. kmttg will check your installed version against the latest available official version and prompt to update if they are different.
  • You can also update helper tools now automatically using Help-Update tools... menu entry if running on Windows or Mac platforms. Note that there is no tools version check so this can be used to install the latest available tools zip package regardless if you have installed it before or not.

UPGRADE INSTALLATION TIPS (older versions of kmttg)

  • If upgrading from an older Java kmttg installation you can normally unzip over the previous installation. That way you can preserve the kmttg configuration and avoid having to re-configure. NOTE: In some cases there are other files and folders aside from kmttg.jar updated as part of a release, so you should unzip the zip file over the top of your previous installation to make sure you overwrite all files that make up an installation. When unzipping be sure to let the system overwrite previous files. If you want to install to same location and make sure to get a clean new installation then remove everything except *.ini files. That way you get a full new installation but preserve all your previous settings.
  • For some releases the 3rd party tools are also updated. To force kmttg to download and install the accompanying 3rd party tools simply remove the tivodecode folder. Then when you start kmttg GUI allow it to download and install the tools package (it will overwrite the files in current installation).

STARTING KMTTG

  • Double click on kmttg.jar in the installation folder to start kmttg (/home/moyekj/kmttg/kmttg.jar in this example).
  • The first time launch you will be prompted to allow kmttg to download and install required tools. Choose Yes and wait for the download and installation to complete.
  • Also the first time you launch kmttg you will be prompted for your 10 digit Media Access Key (MAK) which is needed to download & decrypt programs from your Tivos.
    NOTE: kmttg may detect Tivos on your network before you have a chance to enter the 10 digit MAK, and will not be able to get listings for detected Tivos without MAK, so after entering MAK you will need to click on Refresh button for each Tivo to get listings.
  • You will probably want to further configure kmttg after installation. Consult the [configuring_kmttg] wiki page for details.

NOTE: By default installation uses Intel version of tivodecode. For Mac OS before Lion you MUST install and use the PPC binary of tivodecode (see below) since the tivodecode in the default Mac package won't run.

captions task for Mac OS

The kmttg tools file for Mac OSX does not include "ccextractor" which is used for the captions task. You can download ccextractor for Mac from here:
http://macappstore.org/ccextractor/

Under kmttg--config--Programs tab use the following entry from ccextractor field:
/usr/local/Cellar/ccextractor/0.88/bin/ccextractor

PPC Platform tivodecode binary

  • The Mac OSX tools package contains mostly "universal" binaries, however tivodecode was compiled on Intel platform. Thus if you are on PPC platform and would like to have a PPC binary of tivodecode you can find it under: tivodecode/tivodecode_MacOSX_ppc folder. Replace the files in tivodecode folder with those or simply point kmttg configuration to tivodecode in that folder instead.

Related

Wiki: Home
Wiki: configuring_kmttg

Discussion

  • John Clouse

    John Clouse - 2016-12-02

    "Looks like for some reason, JRE 8 installs on Mac no longer put java in path, so you have to add java to your path manually. One way to do that is execute following from command line:
    sudo rm /usr/bin/java; sudo ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java"

    Anyone who can explain to me how to do this?

     
    • Rick Carter

      Rick Carter - 2017-04-11

      You would bring up Terminal.app and then run that line. I'm guessing you're not super technical; apologies if this is overexplaining, but ... you'll have to be an administrator on the Mac (you almost certainly are if it's your own Mac and you have one account), to run that line in Terminal.app, and type your password in when it asks.

      However, I'm on MacOS 10.12 and even as root the above command fails; the /usr/bin/java link is apparently protected better with ACLs (a special way of protecting files so even the root user can't erase or move them).

       
  • John

    John - 2017-04-16

    Had to do one more Terminal command to get things to work on >10.11. No problems after that. Good job on the new version. I've been a user for a long time. Thank you for your work on this.

     
    • Vincent Randal

      Vincent Randal - 2017-04-16

      What was your additional terminal command that got things to work?

      Vincent Randal
      Longmont, Colorado

      On Sat, Apr 15, 2017 at 6:04 PM, John johnnyg08@users.sf.net wrote:

      Had to do one more Terminal command to get things to work on >10.11. No
      problems after that. Good job on the new version. I've been a user for a
      long time. Thank you for your work on this.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/kmttg/wiki/mac_osx_installation/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • John

    John - 2017-04-16

    Any solutions for video/audio sync issues on ff_h264_high_rate?

    Seems to be an issue in the HD, when I convert it to .mp4, it's a lower quality but no sync issues w/ video/audio.

     
  • Brian

    Brian - 2018-10-31

    The Java "client" or JRE versioning has become even more of a nightmare than ever to sort out for the layman. On macOS in particular, Apple Safari 12 finally dropped support for the Java "plug-in" that had been included with the OS (which up until 10.14 "Mojave" was linked to the Java 8.x series JRE installed in "/Library/Internet Plugins").

    If the user was unfortunate enough to have gotten as far as installing JRE 10 from Oracle in the past year or so (thinking they were keeping things "up to date"), it gets even worse as the "updater" they just released actually just removes all traces of all versions of the "plug-in" (and the JRE 8.x in /Library/Internet Plugins) as well as the System Preference control panel that people are used to seeing.

    If a user just tries to install the "latest" Java (as the "OR LATER" reference at the top of this page suggests), which as of this post is 11.0.1 with SE Runtime Environment 18.9 (build 11.0.1+13-LTS), then kmttg won't run at all. If the user then tries to back track and (re-)install "Oracle Java version 1.8.0_40 or later" (currently Java SE 8u191 or 192), then [kmttg will launch but Auto Transfers] -still- won't work because Java 11 links /usr/bin/java to /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java instead of the re-installed Java 8.x version in /Library/Internet/Plug Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java.

    So while the "Java Path" comment/command [in Step 1] ends up still be a somewhat inadvertent correction to that whole mess, it only works if the correct 8.x version had been re-installed prior to running that command. And users may not try that if they see version 11.x is the "latest".

    This is obviously not KMTTG's "fault". However, my suggestion in an effort to at least make this page more accurate at present, is to at least remove the "1.8.0_40 OR LATER" reference as the "or later" is currently definitely no longer true. (At least until kmttg potentially becomes Java 11's JRE compatible?)

     

    Last edit: Brian 2019-03-11
    • Tony Fabris

      Tony Fabris - 2019-03-10

      Brian, thank you for the excellent explanation of the current issues with JRE and MacOs as they relate to KMTTG.

      Do you know the correct way to work around these issues and get KMTTG working on the latest MacOs?

      My current state is:
      • I went to this link: http://java.com/en/download/manual.jsp
      • I downloaded and installed the version of Java shown there which was "Recommended Version 8 Update 201 - Release date January 15, 2019 "
      • I did not attempt to install the Java SE platform found here: https://www.oracle.com/technetwork/java/javase/downloads/index.html
      • I attempted to execute the instructions given at the top of this page and was thwarted because, as was said, these instructions no longer work because the files are protected by ACL's and Sudo doesn't work for them any more.

      sudo rm /usr/bin/java; sudo ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java
      

      So if I want to run KMTTG on my Mac now, what is my next step?

       

      Last edit: Tony Fabris 2019-03-10
      • Brian

        Brian - 2019-03-10

        Tony, this may sound like a dumb question but have you tried just double-clicking kmttg in the Finder (without trying to futz with the Java setup further)? If you installed Version 8 Update 201, it updates the JRE in /Library/Internet Plug-Ins. While this version is no longer used by Safari 12, it is still used by macOS' Jar Launcher, the core component of the OS that allows Java .jar files (like kmttg) to be double-clickable (launched) in the Finder.

        Note this won't help you with trying to start the Background Job for Autotransfers once kmttg is running. That occurs in an OS shell and is a different problem.

         

        Last edit: Brian 2019-03-11
        • Tony Fabris

          Tony Fabris - 2019-03-10

          Thank so much, Brian!

          It is not a dumb question. Indeed, I had not simply tried running it yet. I wanted to make sure I wasn't going to mess anything up by failing to follow the directions .

          I'll give it a shot and see how it does. I had only needed to run it by hand, I don't need automatic transfers. So if the issues are only with auto transfers, I shoukd theoretically be OK.

          Thank you!

           
        • JKT

          JKT - 2020-09-18

          Yes, I have just tried running it. Even though I installed the latest version of Java for OS X, I'm still told that kttmg won't run because I need to install a JRE. After banging my head against it for a while, I did get it working. I've authored a blog post to tell others how to get the Mac to recognize Java is installed and get kttmg to work. Here it is: https://kurttappe.com/2020/09/18/enabling-java-in-macos/

           

          Last edit: JKT 2020-09-18
  • Brian

    Brian - 2019-03-11

    I wrote up an updated version of the first step of these instructions to account for changes to Oracle Java and installations on macOS. I didn't want to fully modify the Wiki without permission so I am adding them here.

    1. INSTALL JAVA 8 IF NEEDED

    Kmttg is written in Java and the latest versions require Oracle Java version 8 (1.8.0_xx) where xx is any current version above 40 (i.e. 1.8.0_201). Java 11 is not currently supported.

    To determine if you have an appropriate Java 8 JRE (Java Runtime Environment) already installed, open Terminal and type (you can cut and paste the line):

    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version

    If it returns "java version 1.8.0_xx" where xx is any version above 40 then you already have an appropriate Java JRE installed and can skip to step 2 (above). If you need to update your JRE first, you can download the version 8 JRE for macOS from here:

    http://java.com/en/download/manual.jsp

    IMPORTANT NOTE: As of October 2018, Oracle is no longer offering the Java 10.x JRE. This means the "latest" pre-11.x and kmttg supported version has reverted back to 8.x (1.8.0_xx). Despite Safari 12.x no longer supporting the Java JRE either, the core component of macOS that permits a .jar file to be double-clicked (launched) in the Finder still is.

    Also note that any installations of the Java SE /Oracle JDK (this is different than the JRE) newer than 8.x (1.8.0_xx), which would be found in /Library/Java/JavaVirtualMachines, will prevent the Auto Transfers feature from being able to enable (start) the background job properly. There is no "path trick" in the shell to override this due to how the kmttg.jar file is launched using the 8.x JRE as noted above. Your options are:
    1) If you need to keep the newer JDK for other uses, you can manually start the background job via Terminal by forcing the use of the 8.x JRE (you can cut and paste the line):
    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar /Applications/kmttg/kmttg.jar -a &
    (You can close the Terminal and the job will continue to run in the background until your system is restarted.)
    2) If you don't otherwise need the newer JDK, uninstall it. Then you can start the Auto Transfer background job from the kmttg GUI.

    I hope that helps those new to kmttg on macOS!

     

    Last edit: Brian 2019-03-11
    • Tony Fabris

      Tony Fabris - 2019-03-11

      Brian, thank you so much for your help and for those updates!

      As you suggested, simply clicking on the .JAR file allowed it to run more or less just fine as long as I had instaled 1.8.0_xx. It retrieves recordings from the Tivo and decodes them as expected, as long as I'm doing the steps manually.

      Thank you!

      I have a separate problem, which, I have no idea if it is related to the command-line Java issues being discussed here. I'll describe the issue here briefly, and if you think it could be related to the command line Java issues, then let me know if you have any suggestions. If not, then I will try other locations to locate the source of the issue. Briefly, the issue is: I have the "encode" tickybox ticked in KMTTG, so that it is (I think) supposed to convert the downloaded/decoded file into an "mp4" file. However, at the end of the process, there is no "mp4" file in the destination folder. There is a ".ts" file there, and though the file plays correctly in VLC, I'm not sure the MP4 encoding step is even being done at all. I have performed an "update tools" in KMTTG, so I expect that ffempeg should theoretically be updated correctly. I wonder if the encoding step is being launched via Java command line, and thus might be failing on my system?

       
    • JKT

      JKT - 2020-09-18

      Thank you for this. I get back an acceptable Java version from this command. However, kttmg still won't run for it claims I need to install JDK. I did get it to work and documented how here: https://kurttappe.com/2020/09/18/enabling-java-in-macos/

       

      Last edit: JKT 2020-09-18
  • Brian

    Brian - 2019-03-11

    Tony, I don't want to go too off topic here as this is the feedback thread for this Wiki page. I suggest posting general question to the Discussions forum in the future but I'll reply to you directly as I know the answer. (It is not Java related)

     
    • Tony Fabris

      Tony Fabris - 2019-03-11

      Agreed, it would only be relevant here if it were java related and if the problem could be corrected by updating the installation instructions. Thanks!

       
  • jim page

    jim page - 2019-11-23

    Returning to java issues, I am relatively new to kmttg having set it successfully once previously but now struggling with a new installation on a different computer. I've read the alternate instructions and tried multiple times with no success. I'm not exceptionally techy, generally can follow what I'm reading and the cut and paste into terminal instructions are a big help.

    I have a little macmini running Mavericks (OSX10.9.5). I downloaded and unpacked all the kmttg stuff and installed the JRE. Here's the output showing my JRE:

    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
    java version "1.8.0_231"
    Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

    I've put the kmttg folder in my Applications folder and when I double-click on kmttg.jar the process launches for an instant, then shuts down and I get a Java Quit Unexpectedly error:

    Process: java [7753]
    Path: /Library/Internet Plug-ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
    Identifier: java
    Version: 1.0 (1.0)
    Code Type: X86-64 (Native)
    Parent Process: Jar Launcher [7751]
    Responsible: Jar Launcher [7751]
    User ID: 501

    Date/Time: 2019-11-23 10:46:00.577 -0600
    OS Version: Mac OS X 10.9.5 (13F1911)
    Report Version: 11
    Anonymous UUID: 5A12260C-C4EF-6CCE-BB25-D34035981E8B

    Sleep/Wake UUID: 5542CE43-7D5A-46F6-98C3-9CAB98BECA90

    Crashed Thread: 0 Dispatch queue: com.apple.main-thread

    Exception Type: EXC_BREAKPOINT (SIGTRAP)
    Exception Codes: 0x0000000000000002, 0x0000000000000000

    Dyld Error Message:
    Symbol not found: _CCRandomGenerateBytes
    Referenced from: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/libjfxwebkit.dylib
    Expected in: /usr/lib/libSystem.B.dylib

    I've uninstalled and reinstalled the JRE to no avail and am now at a loss for how to get past this error. Can anyone give me some guidance? Thanks.

     

    Last edit: jim page 2019-11-23

Log in to post a comment.