Skip to content

Releases: mackworth/cTiVo

3.6.3 - Updated TiVo Certificate for RPC functions

08 May 18:27
Compare
Choose a tag to compare

New one is good through 1/24/2026
Also updated HandBrake to 1.7.3

3.6.2 notes:

Fixes a couple of rare crashes.
Should also pass through audio options better with Handbrake HW formats.
Now reloads RPC data when Cmd-Click>Reload All Info

3.6.2 - Bug fixes

20 Sep 01:58
Compare
Choose a tag to compare

Fixes a couple of rare crashes.
Should also pass through audio options better with Handbrake HW formats.
Now reloads RPC data when Cmd-Click>Reload All Info

3.6.1

17 Aug 15:52
Compare
Choose a tag to compare

For MacOS 10.15 (Catalina), 11 (Big Sur), 12 (Monterey), 13 (Ventura), 14 (Sonoma)
3.6.1 fixes 3.6.0's build problem with older Intel devices.

Any questions/issues, see here.

Features

  • Update to TheTVDB v4 API and rewrite with Swift Async. See notes
  • Hardware acceleration for M1 Macs with Handbrake See notes
  • Cutting commercials while using Handbrake

Improvements

  • Latest version Handbrake (1.6.1) with support for hardware acceleration on M1 Macs
  • New standard Formats (HB HW Default and HB HW Small)
  • Latest version of ccextractor; not ffmpeg and comskip. See notes
  • Ventura compatibility: increased max widths, fix progress indicator width
  • Any connection problem w/ TiVo displays name in red.
  • Heartbeat process to detect any round-trip problems getting to TiVo
  • Add TiVo name to text drag/dropped into other apps from Program listing

Bug Fixes

  • Turn off tivodecode's MAK verification (redundant check that blocked some PS shows from downloading)
  • Use Option-Tab instead of Cmd-Tab in Remote Control for ForwardSkip button
  • Fix for Remote control buttons scaling
  • Prevent import/Exports while editing formats
  • Edit TiVo screen cleanup (+/- button alignment); only change in final release

TheTVDB

cTiVo uses TheTVDB to validate TiVo's season/episode info and provide alternative image choices. TheTVDB has moved to a new API (v4) that now requires a paid subscription, either by the app or the end user; however, cTiVo has arranged for a license that lets us access the API without that subscription. Our thanks go to theTVDB hosts for enabling this.

This was a complete rewrite of the very old TVDB code, and now uses Swift’s Async API. This code is faster and more reliable, but this release only works with macOS Catalina (10.15) or later. Much thanks to @talientinc (Steve Schmadeke) for doing a great job on this rewrite.

HandBrake

The performance of HandBrake using the M1 HW-encoding acceleration is impressive. I've added two new Formats (HB HW Default and HB HW Small). HB HW Default generates a high-quality H.265 file, while HB HW Small generates a lower-quality but very small H.264 file, about a quarter of the size. On my MacBook Pro M1, HW Default runs about 3.7x to 3.9x the speed (450fps v 122fps; about 10MBps v 2.8MBps), while only using one core (versus 8 with sw encoding, which may eventually slow down on Airs due to heat issues). With standard def files, I get over 1,000fps; 27MBps, encoding a 30 minute show in only 50 seconds. Note that here are very few options available while using HW encoding, and while simultaneous encoding works, it does not increase throughput, i.e. with two encodings, each runs at half the speed of one.

In addition, I've written a script to finally enable cutting commercials with Handbrake (HandBrakeCLI.sh), which both those Formats use. It works well, but unfortunately Handbrake is slow at skipping to the useful sections. This adds a little bit of time to the encoding, although one also saves some time by not encoding the commercial sections. Here's some sample results:

Speed Size Cut speed
HB HW Default* 391% 123% 155%
HB HW Small 354% 36% 143%
HB Default* 108% 133% 80%
Default* 100% 100% 71%
Smaller 56% 55% 65%
Faster 162% 64% N/A

Translating, this means that for this particular show (1.8Gb 60 min; 43 min after cutting), HB HW Default encodes in about a quarter of the time and results in a 23% bigger file than the Default Format, and that Cutting takes 55% longer than just Marking the commercials (but it's still 80% faster than Default for Cutting). This particular show took about 32 minutes to encode resulting in 730MB file with Default, so about 8 minutes with HB HW Default.

The * means that this Format includes both stereo and 5-channel AC3 sound; the others just have stereo. Removing the 5-channel with --noAC3 would decrease the size number by about 11%

Note that I have not tested the HB HW Formats on Intel hardware. They should work, and I'd love to hear how it goes for you if you try them.

ffmpeg

Unfortunately, ffmpeg and comskip are not updated in this release. Building the statically linked versions that cTiVo provides is very complicated, necessitating the use of a package manager such as Homebrew or MacPorts. Homebrew does not support generating a version that runs on older machines. MacPorts does, but they haven’t yet supported the v5 release, which the latest version of ffmpeg and comskip uses.

If you do wish to use ffmpeg v5 for its improvements on M1 Macs, I recommend using Homebrew to install ffmpeg, then just Duplicate the Format you wish to use, but specify the executable as /opt/homebrew/bin/ffmpeg on M1 or /usr/local/bin/ffmpeg on Intel. See Edit Formats for more info.

As always, use GitHub Issues to let us know of any problems with this release.

Full Changelog: 3.5.3...3.6.1

3.4.6 Release

16 May 23:43
Compare
Choose a tag to compare

Final release for versions 10.11 (El Capitan)
Contains new TiVo certificate; good through May 2024, with a mechanism to manually update certificate in the future:

3.4.6 (v1134) fixes a crash with TVDB.

3.4.2 Maintenance Release

  • Migration from Google Fabric to Firebase Crashlytics and Microsoft AppCenter*
  • Big Sur compatibility
  • Upgraded HandbrakeCLI (1.3.3)
  • Notes:
    * Google's Fabric Crashlytics, which notifies us of any issues, has been obsoleted; this release moves to a combination of Microsoft AppCenter and Firebase.
  • Fixes:
    * TiVos sometimes not appearing on startup on Catalina should be fixed
    * No more "Handbrake has exited" on preset list
    * Only warns about SkipMode interrupting TiVo once per session
    * Better help message while in waiting for TiVo mode
    * Extend Queue to 9999 in default Format to reduce Frames left on Queue failures

Any questions/problems, let me know in Issues

3.4.1: General Fixes

  • Get TiVo Info improvements:
    * Available in Main Window; reports on first TiVo you have
    * No double-click from Edit>TiVo Tables (was confusing with editing text)
    * On Mini, reports when in Screensaver mode; don't show "number of shows"
  • Allows resizing Remote Control window
  • Provides error on invalid Keyword in template
  • Upgrade all binaries and libraries
  • Fixes for no-name manual TiVos with and full Catalina compatibility
  • Fix for occasional missed subscription on startup
  • Marked as Version 1108 in About cTiVo or About cTV

3.4.0 (Catalina compatibility and Mac App Store version)

  • Sends videos to Apple's TV app due to obsolescence of iTunes
  • Submits Audio-only downloads to Music app in Catalina
  • Sandboxed cTV version now available in Mac App store
  • New Get TiVo Info command (disk space, network connectivity etc)

Fixes:

  • Improved reliability for finding completed videos on desk
  • Help files look better in Dark mode
  • Better logging to diagnose occasional delays in SkipMode
  • Misc minor fixes

Notes on SkipMode (from 3.3 Release notes):

Overview

With SkipMode, TiVo marks the commercials for certain shows. As TiVo's SkipMode analysis is done by humans, it is almost 100% accurate. However, there are some complications: 1) SkipMode may not appear until hours after a show ends, 2) SkipMode is only available for popular channels/shows, not news or sports, and may randomly be unavailable for an episode of a show that normally has it, 3) SkipMode is not available on TiVo Suggestions, unless you Keep the show on TiVo, and 4) most annoyingly, the only way to get the SkipMode breakpoints is for cTiVo to literally play the video and jump to each segment to find where it starts, thus disrupting viewing on the TiVo for 10-20 seconds per show. cTiVo makes it as easy as possible to take advantage of SkipMode, while falling back to Comskip as needed.

When SkipMode breakpoints become available, they can be automatically retrieved for shows in the Download Queue. If the SkipMode breakpoints aren't available when needed, the download will pause until they become available or until the four-hour wait time expires. To avoid interrupting your viewing, you can schedule a range of times in Preferences that's acceptable for cTiVo to take over your TiVo (see “Auto SkipMode Restricted to” in Preferences>General). Furthermore, in Automatic mode, cTiVo will only retrieve SkipMode breakpoints when your TiVo is playing Live-TV (as that's the default mode for an idle TiVo). cTiVo will not interrupt a show being played back.

If you prefer not to have cTiVo retrieve automatically, you can disable Auto SkipMode, and the breakpoints can be retrieved manually by selecting a Show or Download and selecting "Get SkipMode from TiVo" from the cTiVo menus (either TiVo menu or right-click contextual menu).

Best of Both Worlds (for Commercials at least):

In Preferences>General>Commercial>Strategy, you can choose whether to use Comskip or SkipMode only, or "SkipMode → Comskip", which means "Use SkipMode but if it's not available, fall back to Comskip instead". if you're concerned about losing any content due to any incorrect guesses in Comskip: set "Commercial Handling" to "SkipMode → Comskip (Mark)", then if you do a Skip on a show, and SkipMode is not available (or fails), then cTiVo will Mark using Comskip instead.

So, if you want to use SkipMode...

  • Go to Preferences>General>Commercials
  • Choose whether to Cut or Mark commercials (you can also change this for each download/subscription).
  • Set "Commercials>Strategy" to one of the SkipMode options.
  • Enable "Auto SkipMode" and give it the range of time each day that you're NOT going to be watching TV.
  • Note: if you want SkipMode for any pre-existing subscriptions or scheduled downloads, you'll need to enable it in the respective table rows.

Notes on Pushover:

Pushover (pushover.net) is a real-time notification system. Due to user requests, cTiVo will now let you know when your shows have completed. To use it, you'll have to sign up with their system, which will give you a userId. Download the attached Applescript, and save it in ~/Library/Application Scripts/com.cTiVo.cTiVo/DownloadDone.scpt . After the first successful download, the script will ask for your Pushover userId. (While this process is admittedly a little tedious, it only has to be done once, and Pushover reports back how many people are using the service. if a lot do, then I'll include turning on the script in the UI.)

More generally, you could use the same hook to do any post-processing on downloaded shows you wish. Documentation for now consists of looking at the Pushover script.

Many thanks to:

moyekj of kmttg fame for leading the way on how to extract the SkipMode info
Bill Tanner for extensive testing.

3.4.4 - Final for MacOS 10.9 and 10.10

09 Jun 16:40
Compare
Choose a tag to compare

Final release for versions 10.9 (Mavericks), 10.10 (Yosemite)
Contains new TiVo certificate; good through May 2024, with a mechanism to manually update certificate in the future.

3.5.3 Test release

09 Jun 17:32
Compare
Choose a tag to compare
3.5.3 Test release Pre-release
Pre-release

Only for use as a rollback in case of problems with 3.6.0

For all versions of MacOS since 10.12.
Contains new TiVo certificate; good through May 2024, with a mechanism to manually update certificate in the future:

3.5.0 Notes:

In terms of benchmarks, I ran a test on 18 shows for 23h:18m time, representing 42.2GB of H264 files on the TiVo, converted down to 21.1GB on the Mac, using the Default encoder (ffmpeg) as well as the HB Default encoder (Handbrake). Note these are start-to-finish numbers (downloading, commercial marking, re-encoding, and subtitling). Versus my old Intel MacBook Pro, I should also mention the blissful quiet and cool running of the M1. Foreground responsiveness during full load is also noticeably improved.

Machine       Format       Arch          Time        Speed  % Real-time
=======       ======       ====          ====        =====   ========
M1 MB Pro     Default      Rosetta  1,347 min    31 MB/min      96% 
2014 MB Pro * Default      Intel    1,015 min    42 MB/min      73% 
M1 MB Pro     Default      Native     812 min    52 MB/min      58% 

M1 MB Pro     HB Default   Native     637 min    63 MB/min      48% 
M1 MB Pro     Custom **    Native     589 min    71 MB/min      42%
* 2.5gHz quad-core

** Initially I was concerned about slower speed of Default vs HB Default (HandBrake). I realized this is an unequal comparison as HB Default is creating a much larger file, which is easier/faster to do. So Custom Format is a version of the standard Default trying to match HB Default's settings. See #469 (comment)

So far, the release looks very good. Only downside I've seen is that the universal version (having twice the code for the two architectures) uses almost twice the disk space as well.

Other minor changes:

Now allows Quit while asking for a missing disk in case an external disk is temporarily not present.
Different (hopefully better) test for Java presence for TiVoLibre.
Blue icons instead of Yellow to match newer TiVo style; still uses ! to indicate potential imminent deletion.
Folder with any recordings in progress now shows recording icon to match TiVo's style.