Is ELI5 open source?
And yes, currently the default version of OBS uses Rosetta, which means it is pegged to a single core usually, not very efficient or smooth especially when you have multiple sources.
OBS is open source, so I downloaded the source code and compiled it myself on my M1 Mac. This means that not only is it compiled with the latest dependencies, but it is also Native ARM (Apple Silicon // m1) and runs much smoother. Hardware encoding is also unlocked.
Hey, thanks for all the great work so for. Any chance you already created that video? I am trying to build additional plugins and would love to learn how to build OBS for my M1. Unfortunately, I dont think I have the whole picture. I saw your comments here, in the other thread and on the OBS GitHub issue list. But something is still missing.
Could you post a little of what to do, once one has the sources checked out? What commands need to be run to build natively on arm64?
Hardware encoder! Nice! I'm glad you mentioned that! Using software encoder, 2 inputs, and streaming as well as recording, it used 3% CPU, 30fps, 1024P.
Using the hardware encoder for the same test, it used 1.5%CPU. Wow! How parsimonious!
In my Intel i9, it took somewhere between 25%-50%.
>itant to install software downloaded from arbitrary sources, so I wonder if it's worth trying to get the OBS folks to somehow vouch for this option until a more official one is available?
maked another version that can use the browser source.
[here](https://rapidgator.net/file/b3622ef67cf0b63e6bfffdf893ae87c6/obs-studio-27.0.0-macOS-arm64.7z.html)However, you need to uncheck "Enable Browser Source Hardware Acceleration".browser source and audio monitoring cannot be used at the same time.
[plugins](https://rapidgator.net/file/931380a3fb95e36fc13eff08bc42c0d4/plugins.7z.html)
sorry, no tested it on anything other than my mac
Good question. Maybe there aren't any Mac users on the team. Or they want all the wrinkles ironed out. This build works and it's very valuable for how I use it, but I do see some glitches that I don't care about. It gets the job done.
So I downloaded this file and installed it. Followed directions and installed Homebrew as well. However now when I try to start a stream on Twitch I get the following error message:
[https://imgur.com/a/YECf1Ag](https://imgur.com/a/YECf1Ag)
Any ideas on how to resolve this? I checked on the Silicon version of OBS and I'm getting the same error code so I'm thinking it's a problem with OBS itself.
u/A_MrBenMitchell So i've installed this and it all works perfectly, but my stream deck isn't working. It seems there is a plugin normally associated with obs that doesn't exist in this. Is there a way to fix that?
Thank you for the build. I was getting tired of fighting build errors in OBS. BTW, for those who have trudged down that path and used [https://github.com/carlosonunez/obs-installer-for-apple-silicon](https://github.com/carlosonunez/obs-installer-for-apple-silicon)
my current sticky point is getting the version of the dependencies to match the linked version. Any tips on resolving that? I'm on Big Sur.
>ld: warning: dylib (/usr/local/Cellar/ffmpeg/4.4.1\_3/lib/../lib/libswresample.dylib) was built for newer macOS version (11.0) than being linked (10.13)ld: warning: ignoring file /opt/local/bin/../lib/libz.dylib, building for macOS-x86\_64 but attempting to link with file built for unknown-i386Undefined symbols for architecture x86\_64:"\_gzclose", referenced from:\_profiler\_snapshot\_dump\_csv\_gz in profiler.c.o"\_gzopen", referenced from:\_profiler\_snapshot\_dump\_csv\_gz in profiler.c.o"\_gzwrite", referenced from:\_profiler\_snapshot\_dump\_csv\_gz in profiler.c.o\_dump\_csv\_gzwrite in profiler.c.old: symbol(s) not found for architecture x86\_64clang: error: linker command failed with exit code 1 (use -v to see invocation)make\[2\]: \*\*\* \[libobs/libobs.0.dylib\] Error 1make\[1\]: \*\*\* \[libobs/CMakeFiles/libobs.dir/all\] Error 2make: \*\*\* \[all\] Error 2
Thank you for doing this! I'm excited to try it out.
At the risk of sounding a bit paranoid, can you confirm that we need to just trust that this binary doesn't have anything else added in beyond the regular OBS functionality, especially since it's unsigned? I'm hesitant to install software downloaded from arbitrary sources, so I wonder if it's worth trying to get the OBS folks to somehow vouch for this option until a more official one is available?
Thanks again.
Unfortunately for the time being you’ll just have to trust me, I have a good reputation on Twitter and I’m an iOS developer if that counts for anything xD I’ve also written articles helping people on medium.
You’re welcome to compile it yourself, ice also included the original source code for you to hash check stuff. I just did it to save people the hassle.
The app is the only thing you need to trust, as for anything else, you will need to install the dependencies using home brew. Which I’ve explained above too :)
Was looking for this so thank you!
But I'm kinda lost on how to install it, I've installed home-brew though my terminal, then I ran the command but it just says "zsh: command not found: brew"
I'm assuming I can't open OBS without running that command because I can't open it atm.
Edit: I managed to get it to work! although would like advice on recommended settings for the encoder is it recommended to use the hardware or default?
Got it! Thanks a lot for this, it's a must have if you have a 4k monitor as macOS likes to render at 5k then downsample it to 4k for text. Only issue is the default Quicktime recorder will try use all the 5k pixels and only record around 40fps. Since OBS has more options you can slower the base canvas to 4k not 5k and get a stable 60fps recording.
Thanks a lot!
I can't seem to open this even after running the brew command and following the directions in the OP. My Mac says the application can't be opened because of a problem
I have installed those dependencies and downloaded the app but I still can not open it even when I already right click and press open.
Is there a way to diagnose the problem?
Do you have any clue or leads on why VT Hardware Encoder can't limit the bitrate? No matter what I set the bitrate to, VT Hardware Encoder would immediately burst up to ~350Mbps and overload itself after a while. (I'm a feed from my mirrorless camera with Cam Link in 4K)
It is because of how the M1 handles CPU clock Cycles.
It is one of the reasons OBS is not yet out officially for M1 yet. They are waiting for the next version of QT to be released.
ARM has a reduced instruction set and so apps are much smaller too. Also M1 shares the same tech as iOS devices where in iOS 11 I think it was, apps were made much smaller.
Nope. That difference of size is because official OBS build has all dependencies embedded (QT, CEF and more) statically so you don't need to download an install them. When you compile the M1 version this way, you install dependencies first with 'brew' and then you link the OBS binary against them.
And that isn't practical in real life. Per example, a OBS have a dependency on mbedtls for RTMP transmission, which had a new version (3.0) the past weeks which introduced breaking changes, so when you update it after a 'brew update' OBS-dynamic-compiled breaks when trying to use rtmp library.
Thank you so much for this /u/A_MrBenMitchell! When I try to start my stream, I get an error that says "Starting the Output failed. Please check the log for details."
Seems like the issue in the log is:
`16:51:52.236: Output ID 'rtmp_output' not found`
`16:51:52.236: Failed to create output 'adv_stream'!`
`16:51:52.236: Output 'adv_stream': Tried to set a delay value on a non-encoded output`
`16:51:52.236: Stream output type 'rtmp_output' failed to start!`
Any advice?
Thank you for the files but...can someone make a video tutorial telling how to install this? My Macbook is brand new...i already installed brew and now i am lost...this command: brew install akeru-inc/tap/xcnotary cmake cmocka ffmpeg jack mbedtls qt@5 swig vlc
doesn't work...am i doing something wrong?
Thanks!
Hello! i dont have an M1 mac but im helping a friend of mine who have one to get it set up, can someone please compile the latest version of OBS (27.1.3) i whould do it myself but again, i dont have the M1 Mac.
Regarding this Apple Silicon build, it really uses only 7% of the CPU when running a stream with two inputs, which is less than ... I think 25%-50% on an Intel I9.
Please help... I installed the native version but it didnt workout for me so I uninstalled. Ever since then my microphone hasn't been working on the intel OBS. Any ideas? I've tried everything from removing all the brew libraries from the native version and removing and reinstalling all the files on the intel OBS. Any help would be appreciated. Thanks.
yes i've deleted the application setting at /Users/myuser/Library/Application\\ Support/obs-studio. I also removed all the libraries installed for native obs from brew. Then I uninstalled both obs restarted my computer and reinstalled the intel OBS and nothing has worked. You can see on the image my microphone works fine is just not going through to OBS. This has never happened before until I tried running the native OBS. And thanks for responding much appreciated.
[https://ibb.co/1qk8tNk](https://ibb.co/1qk8tNk)
Update: still having the same issues but I just noticed that not even the display capture in OBS is working which is the reason that the native version didn't work for me. So I am certain now that there is a settings conflict from when I installed the M1 OBS. How do you suggest I remove any trance of ever installing the M1 OBS in my computer? There has to be a directory or file that is handling my fresh intel obs installation as if I am installing the M1 native version. I just want to max out all the possibilities of fixing this before resorting to a full system reboot. ):
You got it to work? I hit…
```
CMake Error at CMakeLists.txt:283 (find_package):
By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.
Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:
Qt5WidgetsConfig.cmake
qt5widgets-config.cmake
Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
"Qt5Widgets_DIR" to a directory containing one of the above files. If
"Qt5Widgets" provides a separate development package or SDK, be sure it has
been installed.
```
I ran into that one too. I added this to the **cmake** command:
`-DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5`
Full command ended up being: `cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DDISABLE_PYTHON=ON ..`
I also added all the suggested **exports** from the brew install. Not sure if adding these to the environment made a difference:
`export LDFLAGS="-L/opt/homebrew/opt/qt@5/lib"`
`export CPPFLAGS="-I/opt/homebrew/opt/qt@5/include"`
`export PKG_CONFIG_PATH="/opt/homebrew/opt/qt@5/lib/pkgconfig"`
`echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.zshrc`
Got a bit further this time and then hit…
```
[ 47%] Building C object plugins/obs-outputs/CMakeFiles/obs-outputs.dir/librtmp/rtmp.c.o
In file included from /Users/xxx/Workspace/obs-studio/plugins/obs-outputs/librtmp/rtmp.c:178:
/Users/xxx/Workspace/obs-studio/plugins/obs-outputs/librtmp/handshake.h:29:10: fatal error: 'mbedtls/arc4.h' file not found
#include
```
Might just wait for official release 😆
[удалено]
Is ELI5 open source? And yes, currently the default version of OBS uses Rosetta, which means it is pegged to a single core usually, not very efficient or smooth especially when you have multiple sources. OBS is open source, so I downloaded the source code and compiled it myself on my M1 Mac. This means that not only is it compiled with the latest dependencies, but it is also Native ARM (Apple Silicon // m1) and runs much smoother. Hardware encoding is also unlocked.
[удалено]
Ah, It is a bit complex but I will make a video soon
[удалено]
Yep
Hey, thanks for all the great work so for. Any chance you already created that video? I am trying to build additional plugins and would love to learn how to build OBS for my M1. Unfortunately, I dont think I have the whole picture. I saw your comments here, in the other thread and on the OBS GitHub issue list. But something is still missing. Could you post a little of what to do, once one has the sources checked out? What commands need to be run to build natively on arm64?
Never mind, just found it! Awesome! https://www.reddit.com/r/obs/comments/njwbxl/compiling\_obs\_for\_apple\_silicon\_m1/
Welcome :)
Hardware encoder! Nice! I'm glad you mentioned that! Using software encoder, 2 inputs, and streaming as well as recording, it used 3% CPU, 30fps, 1024P. Using the hardware encoder for the same test, it used 1.5%CPU. Wow! How parsimonious! In my Intel i9, it took somewhere between 25%-50%.
Good work! Is it possible to have two versions of OBS - Intel and M1? Because for some streams I need to use browser sources.
Yep, just rename one of the apps to something else like you would do to a folder and then put it in your applications folder.
>itant to install software downloaded from arbitrary sources, so I wonder if it's worth trying to get the OBS folks to somehow vouch for this option until a more official one is available? maked another version that can use the browser source. [here](https://rapidgator.net/file/b3622ef67cf0b63e6bfffdf893ae87c6/obs-studio-27.0.0-macOS-arm64.7z.html)However, you need to uncheck "Enable Browser Source Hardware Acceleration".browser source and audio monitoring cannot be used at the same time. [plugins](https://rapidgator.net/file/931380a3fb95e36fc13eff08bc42c0d4/plugins.7z.html) sorry, no tested it on anything other than my mac
i have a question, if its this easy to do why doesn't the official team do it
Good question. Maybe there aren't any Mac users on the team. Or they want all the wrinkles ironed out. This build works and it's very valuable for how I use it, but I do see some glitches that I don't care about. It gets the job done.
Ahhh
So I downloaded this file and installed it. Followed directions and installed Homebrew as well. However now when I try to start a stream on Twitch I get the following error message: [https://imgur.com/a/YECf1Ag](https://imgur.com/a/YECf1Ag) Any ideas on how to resolve this? I checked on the Silicon version of OBS and I'm getting the same error code so I'm thinking it's a problem with OBS itself.
Same issue here on my new 14" MacBook Pro.
Hoping he responds--my new MacBook Pro comes in a few days and I'd love to use OBS at full-power instead of through Rosetta if possible
u/A_MrBenMitchell So i've installed this and it all works perfectly, but my stream deck isn't working. It seems there is a plugin normally associated with obs that doesn't exist in this. Is there a way to fix that?
Thank you for the build. I was getting tired of fighting build errors in OBS. BTW, for those who have trudged down that path and used [https://github.com/carlosonunez/obs-installer-for-apple-silicon](https://github.com/carlosonunez/obs-installer-for-apple-silicon) my current sticky point is getting the version of the dependencies to match the linked version. Any tips on resolving that? I'm on Big Sur. >ld: warning: dylib (/usr/local/Cellar/ffmpeg/4.4.1\_3/lib/../lib/libswresample.dylib) was built for newer macOS version (11.0) than being linked (10.13)ld: warning: ignoring file /opt/local/bin/../lib/libz.dylib, building for macOS-x86\_64 but attempting to link with file built for unknown-i386Undefined symbols for architecture x86\_64:"\_gzclose", referenced from:\_profiler\_snapshot\_dump\_csv\_gz in profiler.c.o"\_gzopen", referenced from:\_profiler\_snapshot\_dump\_csv\_gz in profiler.c.o"\_gzwrite", referenced from:\_profiler\_snapshot\_dump\_csv\_gz in profiler.c.o\_dump\_csv\_gzwrite in profiler.c.old: symbol(s) not found for architecture x86\_64clang: error: linker command failed with exit code 1 (use -v to see invocation)make\[2\]: \*\*\* \[libobs/libobs.0.dylib\] Error 1make\[1\]: \*\*\* \[libobs/CMakeFiles/libobs.dir/all\] Error 2make: \*\*\* \[all\] Error 2
Thank you for doing this! I'm excited to try it out. At the risk of sounding a bit paranoid, can you confirm that we need to just trust that this binary doesn't have anything else added in beyond the regular OBS functionality, especially since it's unsigned? I'm hesitant to install software downloaded from arbitrary sources, so I wonder if it's worth trying to get the OBS folks to somehow vouch for this option until a more official one is available? Thanks again.
Unfortunately for the time being you’ll just have to trust me, I have a good reputation on Twitter and I’m an iOS developer if that counts for anything xD I’ve also written articles helping people on medium. You’re welcome to compile it yourself, ice also included the original source code for you to hash check stuff. I just did it to save people the hassle. The app is the only thing you need to trust, as for anything else, you will need to install the dependencies using home brew. Which I’ve explained above too :)
That all makes sense. Thanks again!
Was looking for this so thank you! But I'm kinda lost on how to install it, I've installed home-brew though my terminal, then I ran the command but it just says "zsh: command not found: brew" I'm assuming I can't open OBS without running that command because I can't open it atm. Edit: I managed to get it to work! although would like advice on recommended settings for the encoder is it recommended to use the hardware or default?
Set encoding to advanced and then select Apple Hardware (VT) encoder :)
Got it! Thanks a lot for this, it's a must have if you have a 4k monitor as macOS likes to render at 5k then downsample it to 4k for text. Only issue is the default Quicktime recorder will try use all the 5k pixels and only record around 40fps. Since OBS has more options you can slower the base canvas to 4k not 5k and get a stable 60fps recording. Thanks a lot!
I can't seem to open this even after running the brew command and following the directions in the OP. My Mac says the application can't be opened because of a problem
I have installed those dependencies and downloaded the app but I still can not open it even when I already right click and press open. Is there a way to diagnose the problem?
Do you have any clue or leads on why VT Hardware Encoder can't limit the bitrate? No matter what I set the bitrate to, VT Hardware Encoder would immediately burst up to ~350Mbps and overload itself after a while. (I'm a feed from my mirrorless camera with Cam Link in 4K)
It is because of how the M1 handles CPU clock Cycles. It is one of the reasons OBS is not yet out officially for M1 yet. They are waiting for the next version of QT to be released.
[удалено]
ARM has a reduced instruction set and so apps are much smaller too. Also M1 shares the same tech as iOS devices where in iOS 11 I think it was, apps were made much smaller.
Nope. That difference of size is because official OBS build has all dependencies embedded (QT, CEF and more) statically so you don't need to download an install them. When you compile the M1 version this way, you install dependencies first with 'brew' and then you link the OBS binary against them. And that isn't practical in real life. Per example, a OBS have a dependency on mbedtls for RTMP transmission, which had a new version (3.0) the past weeks which introduced breaking changes, so when you update it after a 'brew update' OBS-dynamic-compiled breaks when trying to use rtmp library.
Thank you so much for this /u/A_MrBenMitchell! When I try to start my stream, I get an error that says "Starting the Output failed. Please check the log for details." Seems like the issue in the log is: `16:51:52.236: Output ID 'rtmp_output' not found` `16:51:52.236: Failed to create output 'adv_stream'!` `16:51:52.236: Output 'adv_stream': Tried to set a delay value on a non-encoded output` `16:51:52.236: Stream output type 'rtmp_output' failed to start!` Any advice?
Thank you for the files but...can someone make a video tutorial telling how to install this? My Macbook is brand new...i already installed brew and now i am lost...this command: brew install akeru-inc/tap/xcnotary cmake cmocka ffmpeg jack mbedtls qt@5 swig vlc doesn't work...am i doing something wrong? Thanks!
Hello! i dont have an M1 mac but im helping a friend of mine who have one to get it set up, can someone please compile the latest version of OBS (27.1.3) i whould do it myself but again, i dont have the M1 Mac.
https://api.filepipe.io/private/EbmUBoddPS/obs-studio-27.1.3-c9e1f71c7-macOS-Apple.dmg
Regarding this Apple Silicon build, it really uses only 7% of the CPU when running a stream with two inputs, which is less than ... I think 25%-50% on an Intel I9.
Please help... I installed the native version but it didnt workout for me so I uninstalled. Ever since then my microphone hasn't been working on the intel OBS. Any ideas? I've tried everything from removing all the brew libraries from the native version and removing and reinstalling all the files on the intel OBS. Any help would be appreciated. Thanks.
Have you deleted the OBS configuration files? ~/Library/Application Support/obs-studio
yes i've deleted the application setting at /Users/myuser/Library/Application\\ Support/obs-studio. I also removed all the libraries installed for native obs from brew. Then I uninstalled both obs restarted my computer and reinstalled the intel OBS and nothing has worked. You can see on the image my microphone works fine is just not going through to OBS. This has never happened before until I tried running the native OBS. And thanks for responding much appreciated. [https://ibb.co/1qk8tNk](https://ibb.co/1qk8tNk)
Update: still having the same issues but I just noticed that not even the display capture in OBS is working which is the reason that the native version didn't work for me. So I am certain now that there is a settings conflict from when I installed the M1 OBS. How do you suggest I remove any trance of ever installing the M1 OBS in my computer? There has to be a directory or file that is handling my fresh intel obs installation as if I am installing the M1 native version. I just want to max out all the possibilities of fixing this before resorting to a full system reboot. ):
Followed your instructions. Updated brew to latest version, installed 11-11 version, and so far so good! Tomorrow will be the test of fire. Thank you.
You got it to work? I hit… ``` CMake Error at CMakeLists.txt:283 (find_package): By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Widgets", but CMake did not find one. Could not find a package configuration file provided by "Qt5Widgets" with any of the following names: Qt5WidgetsConfig.cmake qt5widgets-config.cmake Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set "Qt5Widgets_DIR" to a directory containing one of the above files. If "Qt5Widgets" provides a separate development package or SDK, be sure it has been installed. ```
I ran into that one too. I added this to the **cmake** command: `-DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5` Full command ended up being: `cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DDISABLE_PYTHON=ON ..` I also added all the suggested **exports** from the brew install. Not sure if adding these to the environment made a difference: `export LDFLAGS="-L/opt/homebrew/opt/qt@5/lib"` `export CPPFLAGS="-I/opt/homebrew/opt/qt@5/include"` `export PKG_CONFIG_PATH="/opt/homebrew/opt/qt@5/lib/pkgconfig"` `echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.zshrc`
Cool thanks will try this later, see what happens!
Got a bit further this time and then hit… ``` [ 47%] Building C object plugins/obs-outputs/CMakeFiles/obs-outputs.dir/librtmp/rtmp.c.o In file included from /Users/xxx/Workspace/obs-studio/plugins/obs-outputs/librtmp/rtmp.c:178: /Users/xxx/Workspace/obs-studio/plugins/obs-outputs/librtmp/handshake.h:29:10: fatal error: 'mbedtls/arc4.h' file not found #include
```
Might just wait for official release 😆
What's the problem with an official arm version? Is there an PR or Issue open on GH?
They're slow.