-
The state of streaming on macOS in 2020
Earlier this year, my partner encouraged me to get into streaming on Twitch after noticing that I spend a lot of time watching others and I myself having a substantial collection of games. When the COVID-19 pandemic began to take a foothold in British Columbia, I found that streaming was an appropriate outlet for me to engage in social activities without having to worry about needing to social distance.
I am a life-long Mac user. I’ve been using Macs on and off since childhood, but since leaving grade school I’ve always had one available to me. I’ve been through the transition from 680x0 to PowerPC, the transition from PowerPC to Intel, and likely will buy the first Mac that makes use of the ARM architecture. macOS is an operating system I prefer to use because it gives me the ability to have an operating system that provides me with a *nix environment all the while giving me enterprise-level tools that I use day-to-day.
Macs are expensive though. The lowest-end desktop model is $999 CAD for a Mac Mini and the base-model Macbook Air is $1,299 CAD. Even with my discount I get through my employer, these machines do not come spec’d with anything on par with what you’d get if you built a PC for the same price. You are paying for the privilege of using an arguably well-built operating system, and combined with the privacy features that Apple touts, you don’t become an advertising target at the same time.
Where does Twitch streaming come in? While I do have Steam installed on my Mac, I don’t in fact play any games on it minus a handful. Most of the games I play are console-based with an old PC set aside for playing any games I still wish to play. My console games are primarily on the Super Nintendo and Sega Genesis, but I do stream from my Nintendo Switch too.

Four HDMI sources passing through various devices before reaching my computer and display.
The above setup is based on a lot of headaches I’ve had with capturing content from my devices to my computer. I like the setup physically as with three buttons and a single connection, I can have my stream live in OBS (Open Broadcaster Software) with little effort. However, to get it to this point has required a lot more effort than would have been required if I were using Windows and even Linux.
Performance on macOS is abysmal. A thread on OBS’ support forums shows a number of shared complaints about using a Mac with OBS: it really pushes the limit of the hardware due to limitations in macOS. This is not the fault of the hardware specifically but rather how macOS has effectively abandoned OpenGL in favour of Metal. This decision means that a Mac made in 2013 has more or less the same performance when capturing video and live-streaming it as a Mac made in 2018, that being my Mac Mini with a six-core i5 and 32 GB of RAM.
If one were to boot their newer model Mac into Windows, they’d not run into these problems. In fact, without having to add an external GPU, the performance would be night and day but then you’re dealing with a computer that is spec’d no better than a Dell laptop that is half the price and includes input devices and a display.
The 2018 Mac Mini does have the option of using the Apple VT hardware encoder, which provides h264 encoding via an interface with Intel QuickSync, but that means you’re sacrificing one of your CPU cores to video encoding. There is no option to make use of NVidia’s NVENC or AMD’s VCE, both of which would off-load to the GPU, because macOS doesn’t provide any level of support for those features.
Basically this means that you cannot use an external GPU to speed things along. You are stuck with CPU-based video encoding.
This also means that buying an iMac Pro or a Mac Pro with a Xeon processor will not be helpful from a cost-perspective as you’re still going to have CPU-based video encoding and you’re still going to have to spend unnecessary amounts of money for such little gain in performance.
Compounding this is the fact that streaming anything from the computer itself is problematic. Performance suffers greatly when you do a window capture versus full-screen, meaning that you run the risk of exposing information you may not want to share. Window capturing means that the frame rate from the software is cut to less than half — it’s that bad and this only started with changes to the graphics sublayer to the operating system a few versions ago.
The short answer you’re probably looking for here is that don’t bother streaming from your Mac if you have any intention of using it for anything else in parallel. You should not mix audio from it, you should not run any heavy applications alongside OBS (such as browsers or anything Electron-based), and you should not expect to stream your own games from it.
OBS cannot help us any further than they have because the operating system is the real culprit. If you’re doing work in Final Cut Pro and you want to do streaming as a side thing, it’s fine and you’ll manage, but if you want to have the same flexibility as our friends running Windows, it’s going to be unpleasant.
Update — 12:15 PM PT, July 21, 2020
I was asked about whether or not I saw this article regarding video performance on macOS, and I should say that I have, but it isn’t going to provide a solution.
The performance gains when encoding using H264 are negligible unless when using specific external GPUs and even those have problems.
When using the T2 chip on newer Macs, it actually only improves the performance of H265 encoding. H265 is in fact more efficient than H264, with suggestions that it reduces resource consumption by 30% when processing video.
The 2018 Mac Mini, which I have, does have a T2 chip built-in and this would be great news if it weren’t for the fact that OBS cannot send H265 data to Twitch. The only benefit I get from H265 is if I record to disk which defeats the purpose of what I am trying to do.
Now I could install an external GPU (such as the tested AMD RX 5700 X), which appears to be supported by macOS, but Apple has been breaking support for GPUs on point releases of their operating systems.
The biggest problem isn’t so much leaning on the use of an external GPU, which would cost $700 alone, it’s the lack of VP9 support in macOS. Twitch announced in late 2018 that they’d be using VP9 instead of H265, meaning that it’s up to Apple to provide that acceleration with the built-in chipset.
Apple’s Video Toolbox (which is what the “VT” in “Hardware VT” references to) requires them to support for VP9 for video-encoding which at the time of writing is not the case and is unlikely to change with Catalina.
There is a tinge of hope on the horizon, though. macOS “Big Sur” (aka macOS 11) could support VP9 as upcoming tvOS and iOS releases will, but there has been no mention of support in Safari and whether or not we can encode and decode via the T2 chip. For now, those of us still using Catalina are stuck using H264 encoding on one of our cores.
-
My grandmother taught me to use a computer
Back in the late 1980s when I was three or four, my grandparents bought an IBM PC clone to manage the affairs of their restaurant and catering business. Its specifications are unknown to me now, but it was capable of running Wordperfect, Lotus 1–2–3, and some other office productivity software. It also ran one thing that was important to me at the time: games.
The sort of games the computer could run then were pretty basic: Jeopardy, Wheel of Fortune, Commander Keen, and my favourite, Tetris.
Almost every Saturday, my parents would go to the restaurant for lunch and often I’d find myself going to the back to play on the computer provided that my grandmother wasn’t doing any work. She’d encourage me to play on it when I was there and eventually got me to a point that I could launch whatever I wanted to from DOS.
This experience extended to my grandparents’ home where they had a slightly more powerful computer that ran Windows. I’d find myself playing all sorts of games that had far more colours than the what was back at the restaurant.
Eventually my grandparents received a Commodore 64 from my aunt after she had moved back east to Toronto. They had no use for it so they gave it to my parents and in turn it became our family’s first home computer. It came with a standard Commodore colour monitor, a disk drive, printer, and a tonne of floppy diskettes with all sorts of games and utilities.
One thing that made the Commodore stood out in contrast to the PC was the fact that out of the box I was able to write software for it. In fact, the C64 shipped with a book on Commodore BASIC and I soon figured out how to make the computer do things based on the examples within.
Eventually we did buy a PC and since then I’ve had many, many different computers but the time spent in my grandmother’s office were the most memorable.
My grandparents — my grandmother specifically — made sure that I was doing something on my computer other than playing games. They’d get me applications to help me with my studies, a new (to me) monitor when mine bit the dust, and much more.
One thing I regret is that growing up I eventually surpassed my grandmother in terms of knowledge on how these things work and as such I began to bemoan having to help her or anyone else for that matter on their computer issues or questions.
When I graduated from high school, it really seemed to me that everyone expected me to either make a million dollars on the Internet during the post-Dotcom boom or somehow go on to become some brilliant programmer who’d come up with something like Pied Piper and ruin the behemoth that is Hooli.
For many years in some sort of rebellious-like manner, I had instead pursued a career in teaching, avoiding anything to do with computer science. All the while I was attending local 2600 meets, was actively programming, and still kept playing games.
That said, it was always a point of pride that I could boast that my grandmother was an adept computer user and had been so since the 1980s.
I eventually relented on my decision to pursue a career in teaching and found myself landing a job as a systems administrator — now I am working on a cyber security team for one of Canada’s largest companies. This career has lead me to travelling, meeting fascinating people, speaking at companies and conferences, and making friends with people that I otherwise could have never met.
The most recent and last thing I did for her computer was that over the summer I discovered that she was having problems because of a forced-upgrade from Windows 7 to Windows 10. Combined with some nonsense from her anti-virus software, her Internet browser failed to open and she was struggling to take care of her online banking. A few minutes of reading Event Logs and some reboots later, I had everything fixed and suggested to my dad that we give her computer an upgrade.
Unlike when I was in my late teens, I did not bemoan this visit to help her out.
Last Monday, my grandmother passed away at the age of 82. She leaves behind a legacy that I cannot ever forget.