What hardware/software video encoder for Mac?

SNiXmusic

New Member
Hi folks.

Working step by step on a better performance.
Can anypone help me out?:
What hardware video encoder for Mac is best for livestreaming on facebook and youtube?
A software encoder is also an option. Any thought on one or the other?

I work on a Mac Mini (2018) with 32 Gb RAM en a 3,2 Ghz i7 intel processor

Thanks!
 

AaronD

Active Member
If you can use a hardware encoder, do. It's often a dedicated chunk of silicon that does nothing else anyway, and it takes a sizeable load off of the CPU so it can do other things. Much better performance all around.

As for *which* hardware encoder, if you have that choice, it doesn't really matter. And the streaming server doesn't care either. All it knows is that you're sending it a valid stream of bits. How you come up with that stream of bits is a matter of choice or practicality on your end.
 

Breakoutboy99

New Member
Apple H.264. All the way. It's apple's built-in encoder. I use it all the time, and it works better than software encoders. What I mean by "it works better" is that it doesn't have a huge performance impact, and doesn't get overloaded easily even when playing an intensive game.
 

umesh300

New Member
Hi folks.

Working step by step on a better performance.
Can anypone help me out?:
What hardware video encoder for Mac is best for livestreaming on facebook and youtube?
A software encoder is also an option. Any thought on one or the other?

I work on a Mac Mini (2018) with 32 Gb RAM en a 3,2 Ghz i7 intel processor

Thanks!
choose MP4 for audio and video you can choose hevc toolbox encoder
 

AaronD

Active Member
choose MP4 for audio and video you can choose hevc toolbox encoder
MP4 is risky to record to directly. It's not meant for recording at all, but for playback. Its header structure makes the player software (somewhat) easier, but that same header structure also makes it lose the *entire* recording if something hiccups. Don't record directly to MP4.

Record to MKV, which is the default anyway. Its header structure *keeps* what was recorded before the hiccup. Exact same data, so the conversion afterward is quick and easy with no loss of quality...if you even need to convert it. OBS -> File -> Remux... You can even make it automatic if you want, so you have the best of both worlds: crash-resilient recording, AND familiar file container.

Depending on what you're doing though, you might not even need to remux. Any video editor or player worth its salt will take MKV directly, and a fair number of upload destinations will too.
 

AaronD

Active Member
For hardware encoders, you might want to look into options like the Elgato Game Capture HD60 S or the AVerMedia Live Gamer Portable 2 Plus.
Those are not encoders. Those are capture devices. NOT the same thing.

Encoders take a final, finished, mastered result as a series of full-detail frames and audio, and compress it to send to a final destination like YouTube, Facebook, Twitch, a recording file, etc. They're on the output end of the chain.
Capture devices, like you listed, are on the input end. Again, not the same thing. You might be accurate in their compatibility, but not for their purpose. Or, you simply have the terminology a bit off.

Capture devices are relatively easy to change and swap out, if you're okay with USB. (generally works for one HD video source per internal USB *controller*, NOT per external port, because an internal hub is no different from an external one...)
Encoders are (almost) always internal to the machine (*), so you're almost stuck with what you've got. You might be able to change a graphics card (GPU) to get a different hardware encoder, or to get one at all - and the same goes for some processors (CPU's) that have that much graphics on-chip - but it's always that involved.

(*) There *are* standalone hardware encoders that take their own power, their own network connection, and a standard physical A/V signal, and stream that A/V signal all by themselves. But the people who use them with OBS often have trouble getting everything to it like they want, because OBS is not meant to produce an external signal of its final result. I really wish it did; it would make a couple of *my* rigs a lot easier too!
 
Last edited:

Talonis

Member
External hardware encoder: Epiphan Pearl (any variant)

But the people who use them with OBS often have trouble getting everything to it like they want,

The Pearl works like a dream. Linked up to a Stream Deck I press one SD button and it encodes and the stream begins, another SD button and it records. I can send to multiple platforms in multiple formats at multiple bit rates, simultaneously (in my case at least 10 if I wish). It can broadcast in 4K and record in fragmented MP4 (so salvageable if needed -–not been needed). Built like a tank, internal SSD recording and will stream 24/7 for six months at a time, easily.

Another advantage. If OBS crashes on you, the streams remain active and will (obviously) instantly pick up OBS output again once OBS is re-launched.
 

AaronD

Active Member
External hardware encoder: Epiphan Pearl (any variant)



The Pearl works like a dream. Linked up to a Stream Deck I press one SD button and it encodes and the stream begins, another SD button and it records. I can send to multiple platforms in multiple formats at multiple bit rates, simultaneously (in my case at least 10 if I wish). It can broadcast in 4K and record in fragmented MP4 (so salvageable if needed -–not been needed). Built like a tank, internal SSD recording and will stream 24/7 for six months at a time, easily.

Another advantage. If OBS crashes on you, the streams remain active and will (obviously) instantly pick up OBS output again once OBS is re-launched.
Yeah the box itself is fine. Not a problem there. The problem is getting stuff *out of OBS*, and onto the wire that leads to it.

OBS does not have a Main audio out. So you have to abuse the Monitor out, which itself has at least two problems:
  1. Things don't go there by default, so you have to change the setting for every single thing individually, which is easy to forget when you haven't added anything for a while. Then you wonder why it's not working, or get mad that it didn't work and you can't fix an event that's already over.
    • The Source Defaults plugin can fix that. https://obsproject.com/forum/resources/source-defaults.1628/ It's a bit weird at first - you have to add it as a filter to the same type of source that you want to change the default settings for, and then every new source of that type has those settings instead of the original defaults - but it does work well.
  2. OBS's Monitor itself has boundlessly increasing latency when you send it to certain devices, so the A/V sync gets horribly wrong, coming from OBS on a physical wire. Whether your device has that problem or not is usually unknown until you try it.
    • My guess on that one is that OBS's Monitor was written by someone who understood networking but not live media, and therefore thought that being a long way behind but smooth was okay...and didn't think about sync'ing with something else. But that makes it useless for both its intended use of the producer's headphones *and* its "hack" uses which include a soundtrack to an otherwise silent projector on the same HDMI cord.
    • If the device that you send it to has the *exact* same clock as OBS uses, it's fine. But if it has its own clock, then even the same nominal setting will gradually drift out of sync, which causes a buffer overrun or underrun. When that happens, the networking mentality just increases the buffer...again...and again...and again...and pretty soon the audio is noticeably far behind and then uselessly far behind.
 

Talonis

Member
Weird.

In my case, no issues encountered. HDMI out from OBS straight to the box. OBS audio routed the same via virtual cables.

No latency, no issues. Reliable.
 

AaronD

Active Member
OBS audio routed...via virtual cables.
That's probably why it works. OBS's immediate destination is the virtual cable, which uses the *exact* same clock as OBS, and so OBS is fine. Something *else* then, not OBS, gets to deal with the hardware sync, and *it* gets it right.
 

AaronD

Active Member
Thanks for the insightful tip! It's crucial to consider the right file format for recording, especially when dealing with valuable content like cryptocurrency strategies.
Uhh... You been hacked? I didn't say anything about crypto, like you (seem to have) quoted, and both the added part and your reply to it look like chatbot-gibberish anyway. I reported that one post as spam because of the link that it adds to the quote.
 
Top