OBS on Apple Silicon

jemannin

New Member
Can someone compile the stream deck plugin for m1 plz

Do you mean that? (the last one in the list)

 

bymaxgames

New Member
EDIT:Version is not important when i tried the newest intel plugin on the older stream deck version in intel obs and that worked
 

dodgepong

Administrator
Community Helper
I'd like to note to everyone on this thread that we plan to include official support for Apple Silicon in the first release after 27.2, and will be sure to announce it widely when official test builds are available. (Twitter announcement: https://twitter.com/OBSProject/status/1488224619907715074)

Also, I would be remiss if I didn't remind everyone in here to be extremely cautious of links to filesharing sites hosting unofficial builds of OBS & OBS plugins. I'm not suggesting anyone in this thread is doing anything malicious, but I am suggesting that it would be very easy for somebody to do something malicious if they wanted to. We typically delete random filesharing site links, but I'll make an exception for this thread for the time being. My general recommendation is to just sit tight and be patient -- it will come soon enough.
 

risekevin

New Member
So I just bought the new 16" MacBook Pro M1 w/ 16gb. Definitely didn't work with the current release of OBS as you know, so i installed the beta that came out 5 days ago for M1. It greatly reduced my dropped frames, but my video quality is now horrible and pixelated even at 720p60.

Has anyone figured out a way to fix this? I'm assuming it had to do with how video is being encoded as it is output for streaming. Help! I figured by waiting about 2 years from the first M1 chip that this would be figured out by now.
 

KCR

New Member
I'd like to note to everyone on this thread that we plan to include official support for Apple Silicon in the first release after 27.2, and will be sure to announce it widely when official test builds are available. (Twitter announcement: https://twitter.com/OBSProject/status/1488224619907715074)

Also, I would be remiss if I didn't remind everyone in here to be extremely cautious of links to filesharing sites hosting unofficial builds of OBS & OBS plugins. I'm not suggesting anyone in this thread is doing anything malicious, but I am suggesting that it would be very easy for somebody to do something malicious if they wanted to. We typically delete random filesharing site links, but I'll make an exception for this thread for the time being. My general recommendation is to just sit tight and be patient -- it will come soon enough.

Hi dodgepong

I saw some chatter about this thread on the Discord and was hoping that folks would also make a comment on this thread.

I upgraded to an M1 MBA as a risk because the previous Intel MBP I had was pretty under powered and I had heard good things about the M1s even using Rosetta. While I did find OBS to run ok under Rosetta it wasn't amazing. I ended up finding a few threads about compiling OBS yourself for ARM and followed a few of the guides. I am pretty tech savy person and the only real issue I seemed to find was the browser sources did not work, this of course is a bit of an issue for folks who use those for things like Twitch alerts/chat ect.

I'm pretty impressed with the work that some of the folks who have been compiling and sharing with the rest of us have done. I, though having some reservations (I work in Web Security) had about the sites to share the downloads from, haven't found any suspicious traffic on my Mac nor my network firewall since installing the pre-complied versions that seem to include browser sources.

I appreciate the reminder to be cautious but was wondering if I could ask a few follow up questions.

1 - if folks like callimeron have this compiled and working does this mean M1 official support is very close?

2 - if not can you give us a high level of what the roadblocks are?

3 - is the work callimeron has done here anything the OBS team can pull from?

I understand and appreciate this is not a huge company and you folks have to prioritize. That being said if the file sharing sites themselves are the issue that makes you nervous could OBS provide a safer way for the community to help? I guess I just saw this as a great example of open source working and while I get the official team having to work on other priorities we saw some folks stepping up and helping support a new chipset that seems to be pretty powerful.

Additionally, not sure if you can comment on this but I became a Patreon and I know OBS also opened up a bounty program - is there anyway myself and any others who are willing to chip in financially can move Apple M series chips towards a higher priority?

Thanks - again all of this is completely understanding of how slammed the OBS team is and how grateful macOS users are that this application is out there.
 

dodgepong

Administrator
Community Helper
I am unfamiliar with any of the work that callimeron has done, and to my knowledge, none of the OBS team members have had any contact with them.

The work to support M1 machines is largely already done, but it's based on a necessary rewrite of our CMake system, which is a very large change that affects how the whole project is maintained and thus makes it impractical to maintain test builds in parallel with our regular releases. The rewrite is already done, but we're waiting until 27.2 is out the door before we review and merge it due to how large of a change it is. The pull request (including the CMake changes and M1 support) can be found here: https://github.com/obsproject/obs-studio/pull/5155

Basically, once the release process is done for 27.2, we're free to start reviewing the pull request so we can merge it and start making test releases. Due to the enormity of the pull request, we want to wait until after 27.2 is out. So that is the blocker: releasing 27.2. There's not really anything else we need other than to wait for that process to complete. The best thing the community can do is test the pre-release builds of 27.2 to ensure it's as bug-free as possible so that we can get to new developments as soon as possible: https://obsproject.com/forum/threads/obs-studio-27-2-release-candidate.151781/

As for priority, M1 support is already pretty much as high-priority as it can get. This is why I'm telling you to just be patient.
 

KCR

New Member
I am unfamiliar with any of the work that callimeron has done, and to my knowledge, none of the OBS team members have had any contact with them.

The work to support M1 machines is largely already done, but it's based on a necessary rewrite of our CMake system, which is a very large change that affects how the whole project is maintained and thus makes it impractical to maintain test builds in parallel with our regular releases. The rewrite is already done, but we're waiting until 27.2 is out the door before we review and merge it due to how large of a change it is. The pull request (including the CMake changes and M1 support) can be found here: https://github.com/obsproject/obs-studio/pull/5155

Basically, once the release process is done for 27.2, we're free to start reviewing the pull request so we can merge it and start making test releases. Due to the enormity of the pull request, we want to wait until after 27.2 is out. So that is the blocker: releasing 27.2. There's not really anything else we need other than to wait for that process to complete. The best thing the community can do is test the pre-release builds of 27.2 to ensure it's as bug-free as possible so that we can get to new developments as soon as possible: https://obsproject.com/forum/threads/obs-studio-27-2-release-candidate.151781/

As for priority, M1 support is already pretty much as high-priority as it can get. This is why I'm telling you to just be patient.

Sure - thank you for the reply was just curious. To be clear don't want to come across as ungrateful or impatient. Thank you for the additional information!
 

kellemar

New Member
Anyone able to get the latest M1 Spectralizer working yet? Doesn't seem to appear on my M1 OBS build (it was working previously)
 

StrayTexel

New Member
I built it like this.
Code:
git clone https://github.com/Palakis/obs-ndi.git
cd obs-ndi
git checkout "4.9.1"
cmake -DLIBOBS_INCLUDE_DIR=../obs-studio/libobs \
-DLIBOBS_LIB=../obs-studio/libobs \
-DOBS_FRONTEND_LIB=/Applications/OBS.app/Contents/Frameworks/libobs-frontend-api.dylib \
-DQTDIR=/tmp/obsdeps \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-B build .
cmake --build build --config Release
packagesbuild ./installer/obs-ndi.pkgproj

I finally got around to trying this (obs-ndi build) myself, and I followed the commands explicitly. It appeared to compile, build and package cleanly. But whenever I actually go to use it, OBS just crashes at startup.

This is the tail of the OBS log (note how there is no error):
15:23:14.088: [obs-ndi] Trying ''
15:23:14.089: [obs-ndi] Trying '/usr/lib'
15:23:14.089: [obs-ndi] Trying '/usr/local/lib'
15:23:14.089: [obs-ndi] Found NDI library at '/usr/local/lib/libndi.4.dylib'
15:23:14.310: [obs-ndi] NDI runtime loaded successfully
15:23:14.310: [obs-ndi] NDI library initialized successfully (NDI SDK APPLE 12:24:55 Nov 2 2021 5.0.10)


And the MacOS crash report is showing:

Process: obs [48890]
Path: /Applications/OBS.app/Contents/MacOS/obs
Identifier: com.obsproject.obs-studio
Version: 27.2.0-rc1-3aa90f707 (27.2.0-rc1-3aa90f707)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
User ID: 501

Date/Time: 2022-02-05 15:56:32.4389 -0500
OS Version: macOS 12.2 (21D49)
Report Version: 12
Anonymous UUID: 7E0B52E4-4271-F0A2-F988-779856C22F67

Sleep/Wake UUID: D7660B39-C1F7-446F-9B2C-9528D8AA6E71

Time Awake Since Boot: 140000 seconds
Time Since Wake: 2224 seconds

System Integrity Protection: enabled

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Application Specific Information:
abort() called


...

Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000
x4: 0x000000015ef25970 x5: 0x000000016da15ad0 x6: 0x000000000000000a x7: 0x00000000000000ee
x8: 0xaeaed20b03fc6e95 x9: 0xaeaed20a016f6b15 x10: 0x0000000000000002 x11: 0x00000000fffffffd
x12: 0x0000000000000000 x13: 0x0000000000000000 x14: 0x0000000000000001 x15: 0x0000000000000002
x16: 0x0000000000000148 x17: 0x00000001ff097530 x18: 0x0000000000000000 x19: 0x0000000000000006
x20: 0x0000000102930580 x21: 0x0000000000000103 x22: 0x000000012005de00 x23: 0x0000000000000000
x24: 0x0000000000000003 x25: 0x0000600001b60c50 x26: 0x0000600001b62c60 x27: 0x00006000031e2800
x28: 0x0000600000d01220 fp: 0x000000016da15b50 lr: 0x00000001a4860eb0
sp: 0x000000016da15b30 pc: 0x00000001a482d9b8 cpsr: 0x40001000
far: 0x000000015ecea70c esr: 0x56000080 Address size fault
Removing the plugin makes OBS work again. However, the pre-packaged version from @callimeron works just fine. No crash in OBS at all. NDI option shows up in the sources as expected. Both are versions 4.9.1 of the source obs-ndi repos.

I don't understand what I'm doing wrong with my compiled and packaged version. I am doing this NDI plugin compilation on top of the latest 27.2.0-rc1 version of obs-studio (which it references during build), if that matters.

Anyone have any ideas?
 

StrayTexel

New Member
Trying to compile obs-websocket 4.9.1 as well, and getting this:

Code:
In file included from /Code/obs-websocket/src/rpc/RpcRequest.h:23:

/Code/obs-websocket/src/rpc/../obs-websocket.h:36:7: error: type alias redefinition with different types ('OBSRef<obs_data_array_t *, ___data_array_dummy_addref, obs_data_array_release>' (aka 'OBSRef<obs_data_array *, ___data_array_dummy_addref, obs_data_array_release>') vs 'OBSRefAutoRelease<obs_data_array_t *, obs_data_array_release>' (aka 'OBSRefAutoRelease<obs_data_array *, obs_data_array_release>'))

using OBSDataArrayAutoRelease =

I modified build-plugin-macos.sh with the diff below, but I assume I'm missing some necessary changes:

Code:
-       -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 \
+       -DCMAKE_OSX_DEPLOYMENT_TARGET=12.2 \
+       -DCMAKE_OSX_ARCHITECTURES=arm64 \

Anyone know what I'm missing?
 

kolorfilm

New Member
Thank you @callimeron for the port of the plugin. Keep up the good work!

Unfortunately I get an error in the OBS Log when it tries to start the plugin. I moved the files from the "zipped" file to obs-studio/plugins/.

The log stills says on OBS 27.2.0-rc4 (mac):

Code:
10:53:08.453: os_dlopen(/Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so->/Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so): dlopen(/Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so, 0x0101): tried: '/Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/lib/obs-ios-camera-source.so' (no such file)
10:53:08.453:
10:53:08.453: Module '/Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so' not loaded

What is wrong?

 

kolorfilm

New Member
I accidentally installed the latest beta of the intel version. Of course the obs-ios-camera-source 2.8.0 ARM version isn't working for that.
Now I installed the latest ARM64 version from here.

Unfortunately I still get an error with the ARM version of the plugin @callimeron posted in this thread.

The error log of OBS (version OBS 27.2.0-13-g133f2f14d (Mac) installed) says:

Code:
22:47:05.795: os_dlopen(/Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so->/Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so): dlopen(/Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so, 0x0101): Library not loaded: @executable_path/../Frameworks/libavcodec.58.54.100.dylib
22:47:05.795:   Referenced from: /Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so
22:47:05.795:   Reason: tried: '/Applications/OBS.app/Contents/MacOS/../Frameworks/libavcodec.58.54.100.dylib' (no such file), '/usr/lib/libavcodec.58.54.100.dylib' (no such file)
22:47:05.795:
22:47:05.795: Module '/Library/Application Support/obs-studio/plugins/obs-ios-camera-source/bin/obs-ios-camera-source.so' not loaded

Sorry for the misunderstanding!
 

imniqhunter

New Member
I hope I am doing this properly, please forgive me if I'm not following the rules of the thread but I'm in wayyy over my head here and this seems to be the best resource for my specific need. I'm a videographer and use OBS in some of the legal recordings that I produce, specifically the remote depositions through zoom. I have been able to install the Beta 3 and it works great but I can't seem to get the window capture to work for the zoom window. Also I don't even know how to install the additional packages so if there's a guide I one could direct me to that would be great.
 

lzrdbfast

New Member
Hey all, has anyone been able to stream audio from a Traktor S3 through OBS on a M1 pro (or any M1/apple silicon)? I know people typically use Soundflower, but it doesn't download on my Mac.

Would love to help with this - purchased a brand new Mac entirely for streaming, only to find out that it's not working :(
 
Top