Question / Help Question about hardware encoding for Macbook Pro's & local recording

dchebib

New Member
Hey everyone, I currently use OBS for local recordings only (no streaming) and ...
I'm looking to buy a new laptop (macbook pro)
I use it to record two webcam's plus an external mic (2 Logitech Brio's + 1 Yeti mic) into one file.

My question is:

Does it make a difference what graphics card I get in my Macbook Pro in terms of using OBS for recording?
The Macbook Pro 15 inch has the option of Radeon graphics cards but I don't know if that will make any difference in terms of my video encoding capabilities for recording on OBS.

I've read some posts here that say Macs can't use the hardware encoders as OBS doesn't currently support that for Macs.
Other posts have said that you can use Quicksync through Video Tools. No clue if that's true or even what that means.

I'm a bit of a newbie in terms of video recording so apologies if I'm missing some info here. Would seriously appreciate any tips/feedback.
 

Narcogen

Active Member
You can use QuickSync on Macs that have integrated Intel GPUs in them. I believe this displays as "Apple VT 264 Hardware Encoder". (VT in this case stands for Video Tools).

OBS on MacOS cannot make use of the encoder hardware in Nvidia and AMD discrete GPUs because the necessary APIs do not exist for MacOS. However, having a more powerful GPU always helps because OBS has to render frames before it can encode them. It just can't use the specialized hardware to make encoding nearly free the way it can under Windows (or even Linux).

MacOS is honestly not in a good place right now with regard to getting good performance and functionality out of OBS; laptops always require a certain number of compromises and Mac laptops require even more.
 

dchebib

New Member
Thank you SO much for your response. Super helpful.

I ended up getting the Macbook 15 inch with a video card (discrete AMD Radeon Pro 560X graphics processor with 4GB of dedicated GDDR5 video memory). I have already noticed a difference in the recordings in comparison to the OBS recordings I made previously with my Macbook 13 inch from 2013. I also upgraded to 32 GB of RAM. I'm no longer getting the CPU overloaded messages I used to get before.

Currently I can't switch to PC as I use a lot of apps that are only available on the Mac.

I really appreciate your quick response and the time you took to answer. I'm a psychotherapist teaching myself how to use OBS to record my clients for research and training :-)
 

Jabo

New Member
Hey everyone, I currently use OBS for local recordings only (no streaming) and ...
I'm looking to buy a new laptop (macbook pro)
I use it to record two webcam's plus an external mic (2 Logitech Brio's + 1 Yeti mic) into one file.

My question is:

Does it make a difference what graphics card I get in my Macbook Pro in terms of using OBS for recording?
The Macbook Pro 15 inch has the option of Radeon graphics cards but I don't know if that will make any difference in terms of my video encoding capabilities for recording on OBS.

I've read some posts here that say Macs can't use the hardware encoders as OBS doesn't currently support that for Macs.
Other posts have said that you can use Quicksync through Video Tools. No clue if that's true or even what that means.

I'm a bit of a newbie in terms of video recording so apologies if I'm missing some info here. Would seriously appreciate any tips/feedback.

So I have the exact same thing, a MacBook Pro 15" and 2 Logitech Brio's with external mic's. How are you using both brio's at the same time?? I called Logitech and they said it wasn't possible... Yes, I'm a noob as well. Thanks in advance
 

sirbryan

New Member
You can use QuickSync on Macs that have integrated Intel GPUs in them. I believe this displays as "Apple VT 264 Hardware Encoder". (VT in this case stands for Video Tools).

OBS on MacOS cannot make use of the encoder hardware in Nvidia and AMD discrete GPUs because the necessary APIs do not exist for MacOS. However, having a more powerful GPU always helps because OBS has to render frames before it can encode them. It just can't use the specialized hardware to make encoding nearly free the way it can under Windows (or even Linux).

Aaaactually....

From Apple's Documentation for VideoToolbox:

VideoToolbox is a low-level framework that provides direct access to hardware encoders and decoders. It provides services for video compression and decompression....

It's kind of a black box, in that they don't specifically say which hardware is (or isn't) supported. On machines with QuickSync support (i3/i5/i7/i9 and some Xeon CPU's), VT routines will use that. On my iMac Pro, VideoToolbox is either using the Radeon Vega 64 or the T2 (it has been suggested that the T2 handles some video work), or a combination of both; I know for sure the Radeon GPU utilization goes up during ffmpeg h264_videotoolbox encodes, and that it maxes out at the same level as QuickSync (12-15 1-2Mbps HD + SD streams simultaneously was the test).

As for anyone else looking to answer the same questions as the OP, any MacBook Pro, 2015 or later, with an Intel Core (i3-i9) CPU will be fine at live transcoding and recording.

To get the best quality (with QuickSync, at least), you have to set your buffer to be around 2x the bitrate of your stream. I've noticed pixelation at the beginning of every keyframe interval (usually 2 or 4 seconds) if the peak buffer setting (don't remember exactly what it's called in OBS) isn't set high enough.
 

Narcogen

Active Member
Did not know that.

Okay, to be more specific:

I am not aware of any way to use NVENC under MacOS, and NVENC is a reason to own an Nvidia card, and is the preferred method for recording and even streaming and achieving a good balance of quality, performance, and cost.

Even under Windows it does not seem that the framework for hardware encoding on AMD cards provides quality as good or performs as well as NVENC, at least with OBS.
 

Narcogen

Active Member
Depends on intended usage. There's no one collection of "best settings for a MacBook Pro".

Start by running the Auto-Configuration Wizard from the Tools menu.
 

Noctaire

New Member
Unfortunately, those settings aren't getting me anywhere. Something changed in the ether a few months back and my streams went super-lag. I've been troubleshooting all day and getting nowhere. My initial goal has been process of elimination. I keep seeing dropped/lagged frames but cannot nail down the cause.
 

Narcogen

Active Member
That sounds like a separate issue from this thread. Make a new thread and post a logfile with a completed output session. (Open OBS, start recording or streaming, observe your issue, close the session, then upload the current log without quitting OBS.
 

Noctaire

New Member
Already opened a new thread. In searching the forums, I saw this thread with similar issues and was hoping someone had some preferred settings that worked a bit of magic here and might help there....
 

YeNA

New Member
You can use QuickSync on Macs that have integrated Intel GPUs in them. I believe this displays as "Apple VT 264 Hardware Encoder". (VT in this case stands for Video Tools).

OBS on MacOS cannot make use of the encoder hardware in Nvidia and AMD discrete GPUs because the necessary APIs do not exist for MacOS. However, having a more powerful GPU always helps because OBS has to render frames before it can encode them. It just can't use the specialized hardware to make encoding nearly free the way it can under Windows (or even Linux).

MacOS is honestly not in a good place right now with regard to getting good performance and functionality out of OBS; laptops always require a certain number of compromises and Mac laptops require even more.

Hello Narcogen,

I can select "APPLE VT H264 Hardware Encoder" from drop down menu on iMac 5K (2019, i9-9900K, Radeon Pro 580X) at my church.
But I have error message if I start record or streaming using this.
Is this what you've explained?
APPLE VT H264 Software Encoder and X264 works well.

Compared to iMac,
my Macbook Pro Retina (early 2013, NVidia GT650m) and one more at office (2017, Intel 630 + Radeon Pro 560) work well with all options.

Thanks in advance for your reply.
 

Narcogen

Active Member
Are you using an eGPU?

I have a 2010 Mac Pro running Mojave with an RX580 and I can use the Apple Hardware VT Encoder without error.
 

YeNA

New Member
Are you using an eGPU?

I have a 2010 Mac Pro running Mojave with an RX580 and I can use the Apple Hardware VT Encoder without error.

No. I’m just using iMac 5K 2019 as it is.
I could select Hardware VT Encoder but couldn’t use because iMac showed error with it.
 

tom_

New Member
You can use QuickSync on Macs that have integrated Intel GPUs in them. I believe this displays as "Apple VT 264 Hardware Encoder". (VT in this case stands for Video Tools).

not true

OBS on MacOS cannot make use of the encoder hardware in Nvidia and AMD discrete GPUs because the necessary APIs do not exist for MacOS. However, having a more powerful GPU always helps because OBS has to render frames before it can encode them. It just can't use the specialized hardware to make encoding nearly free the way it can under Windows (or even Linux).

Not true. macOS has an API for GPU acceration. Other open source programs like Handbrake are using it.

MacOS is honestly not in a good place right now with regard to getting good performance and functionality out of OBS; laptops always require a certain number of compromises and Mac laptops require even more.

not true


Use the built in macOS screen recorder in combination with the Soundflower audio device.
Setup Soundflower for recording the system audio: soundflower-capture.html
 
Last edited:

Martin (Berlin)

New Member
Aaaactually....

From Apple's Documentation for VideoToolbox:



It's kind of a black box, in that they don't specifically say which hardware is (or isn't) supported. On machines with QuickSync support (i3/i5/i7/i9 and some Xeon CPU's), VT routines will use that. On my iMac Pro, VideoToolbox is either using the Radeon Vega 64 or the T2 (it has been suggested that the T2 handles some video work), or a combination of both; I know for sure the Radeon GPU utilization goes up during ffmpeg h264_videotoolbox encodes, and that it maxes out at the same level as QuickSync (12-15 1-2Mbps HD + SD streams simultaneously was the test).

As for anyone else looking to answer the same questions as the OP, any MacBook Pro, 2015 or later, with an Intel Core (i3-i9) CPU will be fine at live transcoding and recording.

To get the best quality (with QuickSync, at least), you have to set your buffer to be around 2x the bitrate of your stream. I've noticed pixelation at the beginning of every keyframe interval (usually 2 or 4 seconds) if the peak buffer setting (don't remember exactly what it's called in OBS) isn't set high enough.

Many thanks for the post. I just bought the entry model iMac Pro (8 core, 32GB RAM) and I am also trying to reduce stream lag. While streaming, the software X264 encoding only gets the CPU up to 8%. Hardware encoding is not speeding up the lag. I am now using an Ethernet connection and a Speedify VPN for streaming. But the lag is still there. Not sure what to do. Would you mind sharing your OBS output settings?

Thanks & best wishes from Berlin,
Martin
 

sebseb

New Member
Thank you SO much for your response. Super helpful.

I ended up getting the Macbook 15 inch with a video card (discrete AMD Radeon Pro 560X graphics processor with 4GB of dedicated GDDR5 video memory). I have already noticed a difference in the recordings in comparison to the OBS recordings I made previously with my Macbook 13 inch from 2013. I also upgraded to 32 GB of RAM. I'm no longer getting the CPU overloaded messages I used to get before.

Currently I can't switch to PC as I use a lot of apps that are only available on the Mac.

I really appreciate your quick response and the time you took to answer. I'm a psychotherapist teaching myself how to use OBS to record my clients for research and training :-)
Hello @dchebib, can you explain how you select your Radeon Pro 560X? I have the same one and it doesn't show at all. (Please, see screenshot).
At the moment I'm pretty sure the the Apple VT H264 Hardware Encoder is using the Intel UHD Graphics 630, which only has 1.5Gb VRAM because I get 109.5% CPU usage in activity monitor.
the Radeon 560x has 4Gb VRAM ( so it will be 3 times better ).
Thanks
Sebastian
 

Attachments

  • radeon.png
    radeon.png
    736 KB · Views: 1,066

sebseb

New Member
Hello Narcogen,

I can select "APPLE VT H264 Hardware Encoder" from drop down menu on iMac 5K (2019, i9-9900K, Radeon Pro 580X) at my church.
But I have error message if I start record or streaming using this.
Is this what you've explained?
APPLE VT H264 Software Encoder and X264 works well.

Compared to iMac,
my Macbook Pro Retina (early 2013, NVidia GT650m) and one more at office (2017, Intel 630 + Radeon Pro 560) work well with all options.

Thanks in advance for your reply.
Hello @YeNA, can you explain how you select your Radeon Pro 560? I have the same one and it doesn't show at all. (Please, see screenshot).
At the moment I'm pretty sure the the Apple VT H264 Hardware Encoder is using the Intel UHD Graphics 630, which only has 1.5Gb VRAM because I get 109.5% CPU usage in activity monitor.
the Radeon 560x has 4Gb VRAM ( so it will be 3 times better ).
Thanks
Sebastian
 

Attachments

  • radeon.png
    radeon.png
    736 KB · Views: 763
Top