mackworth / cTiVo

TiVo Show Downloads for MacOS
220 stars 36 forks source link

Would love to see an Apple Silicon version of cTiVo #443

Closed stevehoek closed 3 years ago

stevehoek commented 3 years ago

Any plans for this?

Thanks!

mackworth commented 3 years ago

cTiVo itself works with no problem. Handbrake has released a beta, which works great, but ffmpeg and the other apps have not been recompiled yet.So I have created a “FrankenTiVo”: half Intel code, half Apple Silicon. The rest should happen over the next couple months, and I'll do a new version then.

mrfusiontm commented 3 years ago

You're the best Hugh! Thanks for all your work.

On Wed, Dec 9, 2020 at 8:37 AM Hugh Mackworth notifications@github.com wrote:

cTiVo itself works with no problem. Handbrake has released a beta, which works great, but ffmpeg and the other apps have not been recompiled yet.So I have created a “FrankenTiVo”: half Intel code, half Apple Silicon. The rest should happen over the next couple months, and I'll do a new version then.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mackworth/cTiVo/issues/443#issuecomment-741892685, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABO6K27RVBXZYCQOGFCL4D3ST6RV5ANCNFSM4UTTEEUQ .

ryanbreen commented 3 years ago

FYI, libmp4v2 is now available for M1 via homebrew: https://homebrew.bintray.com/bottles/mp4v2-2.0.0.arm64_big_sur.bottle.1.tar.gz

Haven't tried out a build with it yet, so YMMV.

mackworth commented 3 years ago

Thanks; actually had no problem with compiling that, and I doubt ccextractor and comskip will give much trouble. it’s ffmpeg and its gazillion dependencies that I’m concerned with. I see there may be a good script to do that, but haven’t tried it yet.

-- Hugh Mackworth hugh@hughm.com @mackworth (503) 816-9711

On Dec 27, 2020, at 6:40 AM, Ryan Breen notifications@github.com wrote:

 FYI, libmp4v2 is now available for M1 via homebrew: https://homebrew.bintray.com/bottles/mp4v2-2.0.0.arm64_big_sur.bottle.1.tar.gz

Haven't tried out a build with it yet, so YMMV.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

ryanbreen commented 3 years ago

Looks like the hangup on ffmpeg building in homebrew at the moment is openjdk of all things, but a plan for that should land any day now: https://github.com/Homebrew/homebrew-core/pull/65670

vtrandal commented 3 years ago

“Apple Silicon version of cTiVo,” and “cTiVo itself works with no problem,” add up to why I love projects like cTiVo. cTiVo can be recompiled to run on any target hardware supported by the development tools. Building projects like cTiVo from their source code is great fun and helps me appreciate my investment in my computer and TiVo equipment.

Building cTiVo from its source code also opens up the possibility of helping with the development and maintenance in some way. About 5 years ago I acquired some old Nvidia Tesla M2090 GPU cards and was planning to hack cTiVo to use those GPU cards for transcoding. But cTiVo worked just fine on my old 27” iMac (late 2013 model) without that (not to mention it was an ambitious undertaking for me).

Yes. Thanks, Hugh. And thanks to everyone who participates in this project. It makes owning a Mac and a TiVo a lot of fun. It’s been a while since I tried building cTiVo from source code. I’m running Catalina on my old iMac. I wonder how it would turn out if I tried to (re)build cTiVo on this old system today. My TiVo equipment consists of two Roamio boxes and four TiVo minis (for TiVo whole home as they called it).

Cheers, Vincent Randal Longmont, CO

On Wed, Dec 9, 2020 at 9:37 AM Hugh Mackworth notifications@github.com wrote:

cTiVo itself works with no problem. Handbrake has released a beta, which works great, but ffmpeg and the other apps have not been recompiled yet.So I have created a “FrankenTiVo”: half Intel code, half Apple Silicon. The rest should happen over the next couple months, and I'll do a new version then.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mackworth/cTiVo/issues/443#issuecomment-741892685, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPQPUQVVDKT4A3JTSE5OXDST6RV5ANCNFSM4UTTEEUQ .

ryanbreen commented 3 years ago

ffmpeg is good to go!

wrb@Ryans-Mac-mini ~ % file /opt/homebrew/bin/ffmpeg 
/opt/homebrew/bin/ffmpeg: Mach-O 64-bit executable arm64
ryanbreen commented 3 years ago

Blocker (for me, at least) at this point is in CocoPods, preventing me from getting dependencies installed: https://github.com/CocoaPods/CocoaPods/issues/9907

(and the blocker there is ultimately traceable through the ethon gem (https://github.com/typhoeus/ethon/issues/172) to ffi (https://github.com/ffi/ffi/issues/864). man oh man is m1 a journey.)

mackworth commented 3 years ago

Sorry didn't see your comment back then. FWIW, you can run CocoaPods with Rosetta (arch x86_64 pod install) even though everything else is targeted to both architectures.

I have a further joy that I have to compile ffmpeg statically linked for older versions of the OS. Trying to do that with either homebrew or macports is a real pain.

larsenv commented 3 years ago

@mackworth hey, is there any updates about this?

I did try to send an email about this to the email listed on your GitHub profile, but I didn't get a response.

mackworth commented 3 years ago

Sorry for delays here.. Latest update:

It is. cTiVo compilation is automatic, but building the subprograms has been the issue. ccextractor and comskip were pretty easy, Handbrake provides their CLI, but ffmpeg was the delay. Building it in the straightforward way compiles easily, but is no faster than Intel emulated version. Building it in a way that incorporates the NEON changes, and is still built on dynamic libraries that are also used in comskip while still supporting older MacOS on Intel...has been a royal pain. I'm close to a beta version through now; AFAIK, just testing remains.

mackworth commented 3 years ago

Well, I'm still not seeing quite as good a performance of ffmpeg as for HandBrake, but it's far better than Rosetta, so I'll go ahead with the beta. If anyone wants to collaborate on the ffmpeg build process, that'd be great.

mackworth commented 3 years ago

Here's the beta: https://github.com/mackworth/cTiVo/releases/tag/3.5.0Beta

Any comments/discussion, see this thread