-
-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Apple Silicon M1 encoders #196
Comments
I do not have a Mac even for testing, so nothing I could well vet, but I am not opposed to adding hardware acceleration options. I am actually working on NVENC HEVC capabilities at the moment. If you (or anyone) has access to one, please provide the output of:
and the configuration of:
Can also provide |
I'm happy to help test this as well as if you can build a native Apple Silicon build. Here are the outputs you requested
|
wow not a lot of options, makes it easier for moi! For a build have to wait on github actions support for it: actions/runner-images#2187 |
Ooh..that's going to take a while :| Is it possible for me to compile a native build myself? |
If you goal is to just run it, should be able to do that: https://github.com/cdgriffith/FastFlix#running-from-source-code Good first step to make sure of either way, I do not know if all the packages are supported on the new macs yet. If you want to actually do the work to make a redistributable executable, you could go through the steps in the build script and see how it works out: https://github.com/cdgriffith/FastFlix/blob/master/.github/workflows/build_mac.yaml |
Yep, I tried this already with Python 3.9.1 (Apple Silicon installer). Looks like the Python itself is still "Intel" architecture and hasn't transitioned to Apple Silicon. I'm assuming building the redistributable will also be an Intel version. |
Interesting readings about Apple Silicon software porting:
Hope that helps ! |
Personally, I don't mind using Fastflix with Rosetta 2. What is important to me, as mentioned in the first post, is the use of "Apple Silicon" encoders. What I did was to download the pre compiled version of ffmpeg from here: https://www.osxexperts.net/ And then pointing FastFlix to that location. If you look into top/ps/activity monitor and expand the process of FastFlix / Python you should recognize a "Apple Silicon" process while encoding. Works for me. Plus, the binary from the URL above also includes support ARM Neon, which speeds up the encoding significantly! Another way would be using Homebrew to install ffmpeg binaries. BUT, those don't include the ARM Neon patch. Resulting in lower fps - at least for me. |
Bump this to M1 MAX encoders :) What needs to be done, just getting the ARM patches into the Homebrew build? |
These are M1 Max and presumably M1 Pro encoders if that would be helpful anywhere
and dis ffmpeg version |
I have created a new branch with hevc_videotoolbox support. Any brave users willing to test would be greatly appreciated as I don't have a box to try it on.
There should be a new dropdown option for HEVC videotoolbox. Please test to make sure it works / try to break it! |
Nice, will try it out in upcoming days. :) |
Yup, will add that if this one works well. Just easier to do one at a time. |
@E-t-z I've added support for h264 in that branch as well if you can test it out! |
@cdgriffith will take a look on Sunday, sorry for the delay. h265_videotoolbox seemed to work quite well. |
* Adding #109 Support for AVC and HEVC QSV encoding with rigaya's QSVEncC (thanks to msaintauret) * Adding #196 Support for AVC and HEVC Apple Videotoolbox encoder (thanks to Kay Singh) * Adding #323 ignore errors options options for queue (thanks to Don Gafford) * Adding #331 NVEncC API v10 Quality presets: P1 to P7 (thanks to Wontell) * Fixing #321 dhdr10_opt not added for x265 commands (thanks to GizmoDudex) * Fixing #327 FastFlix Duplicates encoding task and encodes same movie to infinity (thanks to Wontell) * Fixing #324 NVEncC wrong Interlace Value set by FastFlix (thanks to Wontell) * Fixing #278 FastFlix occasionally getting stuck on a single video in a queue (thanks to kamild1996) * Fixing #330 "Remove Metadata" only removes video metadata for Rigaya's hardware encoders (thanks to wynterca) * Fixing level was not being passed to hardware encoders
H265 and H264 added with https://github.com/cdgriffith/FastFlix/releases/tag/4.9.0 ! |
How do I select videotoolbox encoder? Looking at the code I suspect the issue is
|
You are totally right @sublimal, good catch, thank you! |
Ok hopefully that did it, please let me know if not working with https://github.com/cdgriffith/FastFlix/releases/tag/4.9.4 ! |
Hi, do you have plans to support the Apple M1 hardware encoders that are supported in ffmpeg? h264_videotoolbox for H.264, hevc_videotoolbox for H.265
These are available in FFmpeg builds
https://trac.ffmpeg.org/wiki/HWAccelIntro#VideoToolbox
The text was updated successfully, but these errors were encountered: