x264 vs apple H264 hardware encoder

gglife

New Member
I have not really understood whether I am leveraging the full potential of the M1 hardware encoder yet. For instance when I do 4k recording of 4k canvas keeping all other settings the same using apple H264 hardware encoder will result in choppy video (also obs indicates overload of hardware encoder during recording). Using x264 will result in good quality but significant cpu load. I thought M1 hardware encoder should be able to handle 4k encoding with ease. What am I missing?
--
Running latest nightly build 27.2.0 for arm64 M1 with basic M1 MacBook Air + external 4K Monitor
 

Talonis

Member
Do you really need 4K? I find high frame rate, high bit rate 1080p via H.264 hardware encoder (internal) scales very well (rather than trying to record directly at 4K).

Another solution: hook up OBS to an external hardware encoder/streamer and take the load off the Mac CPU.
 

gglife

New Member
The quality with scaling is very poor so far. I played around with bit rate also. What do you consider high bit rate and what scaling method do you use?

Sure, I could use additional hardware. I was just under the assumption that M1 could handle this task. Maybe its still an obs optimization issue to some extend. I am new to this forum and I could not find any M1 OBS benchmarks to compare against.
 

Lawrence_SoCal

Active Member
The issue is native M1 code (which is different from x86 code OBS is written in.. to over-simplify issue).
Other threads in this forum discuss original external dependencies that were holding up native M1 compiled OBS Studio code.
do a search on M1 - quick and easy, lots of info [though most likely not what you want to hear].
Last I recall (which I do NOT follow closely), OBS development team plan was for next OBS release (v28) to have native Apple M-series CPU support?? in my experience and opinion, such a development timeline is completely reasonable especially given OBS Studio's FOSS (free, open source software) nature
 

gglife

New Member
Hey, thanks for your reply. I was querying the forum before posting. That is how I found the link to the nightly builds 27.2.0 for arm64 M1. So technically I am running OBS with code compiled for M1 in my understanding. I also read that from v28 on it will be included in the official builds.
 

TFE

Member
What MacOS are you running? I run OBS 27.2.4 on an M1 Mac mini with only 8gb RAM running Monterey and can stream/record 1080p 60fps using the H264 hardware encoder — no problem and low (25% or so) CPU usage. Not tried 4K but will at some point and report back.
 

gglife

New Member
I am afraid my external monitor setup is one of the issues. I recently learned that GPU will do 5k upscaling and 1440p downscaling afterwards if you use 4k monitor with macos scaled to 1440p - what I usually do.
 
Top