mackworth / cTiVo

TiVo Show Downloads for MacOS
220 stars 36 forks source link

iVI Pro Faster Vs? #504

Closed tadgill closed 1 year ago

tadgill commented 1 year ago

Maybe not an issue but not sure where else to put this one -

I use iVI pro for a few things and am embarking in getting some stuff off my 96% full Tivo.

What I found as I've been testing some things before setting a bunch of shows to run is this:
If I take a decrypted Tivo file and run through their system (4K Apple TV profile which just keeps resolution and passes audio through. ) a 2hr 8Gb Tivo file pops out at 3.6Gb and does so in 20minutes on my M1 Mac mini.

On the flip side when I choose 1080p on cTivo it takes at least double the time and pops out at the same size / quality. Seems as it is not using hardware in cTivo?

I'm running 3.5.2 and it says I'm up to date - even tried setting the hardware flag on a profile but that fails (I'm way over my head)

mackworth commented 1 year ago

To be clear, cTiVo itself doesn't do video encoding, it calls ffmpeg and Handbrake to actually do that. (BTW, one apples/oranges question: are you counting the download time from TiVo in cTiVo's time measurement?)

I haven't looked at ffmpeg performance for a while, but I know there's an issue with Handbrake. I haven't gotten around to updating the copy embedded in cTiVo yet., but simply updating their CLI has an big impact on performance. See issue #481 , specifically Handbrake CLI. Note that you'll need to use an HB format, such as HB Default to see the benefit here.

Folks have successfully experimented with using the Toolbox HW acceleration, but were not happy with the quality.

tadgill commented 1 year ago

Before posting this last night I recorded the screen externally to watch for when the download stopped and encoding started, timing just the encoding.

I had looked at all the open and closed issues I could find and reading #481 it seems as the result quality was more about looking for too much space savings / compression. I'm just trying to say "take this mpeg2 and make it a h264 (or h265") file size irrelevant " when I take a decrypted file to ffmpeg directly using hardware encoding it does well.

Here is really what I'm after either.... 1) know how to call hardware encoding from CTivo (My command line skills rank is currently "dangerous cut and paster" - I can trash a fresh Linux instance in minutes!) So translating how to take ffmpeg command line switching into the CTivo gui in a custom profile fails)

OR

2) Have available skip data accompany the decrypted (since we can't chapter mark without encode) as an.edl so that when the finished file makes it to Channels dvr the commercial marks are there. The skip data is still better than Channels marking system.

I'd say say "2)" is the preferred BUT I understand it's not solveable today #493 .

Also still have a use for #487 !

Thank you as always!

mackworth commented 1 year ago

1) Happy to translate an ffmpeg command line into a cTiVo format for you; just let me know what it looks like.

2) You may be able to use Decrypt MP4, which downloads a stream into an MP4 container without recoding. Normally cTiVo auto-switches to an MPG container, but you can turn that off in Adv Prefs (Allow MPEG2 in Transport Streams). Then commercial marking will be done as normal w/ either SkipMode or comskip.

487 Yup. Just need to get back to doing a release.

mackworth commented 1 year ago

Happy to help, just let me know what the ffmpeg command looks like...

mackworth commented 1 year ago

And looks like Handbrake has improved the situation here. Here's a couple of Formats to Import and try:
HB HW Formats

mackworth commented 1 year ago

Note revised version of Formats: HB HW Formats