published 2/20/2026

libmoq + OBS = MoQBS

Oh hey, long time no chat.

As part of the Montevideo Tech Summer Camp, we worked on an OBS plugin. I’m here to announce the culmination of that effort… a temporary fork of OBS.

MoQBS

I drew the logo myself. At least you know it’s not AI generated.

How Do Download?

If you want to build it yourself:

git clone https://github.com/moq-dev/moqbs
cd moqbs
cmake --preset=macos
cmake --build --preset=macos
# Idk I think that's all you need.

If you’re lazy and want to use pre-built binaries:

Claude built these so no promises. I’m not going to set up a proper CI/CD pipeline because we want to delete this fork as soon as possible.

Why Do Fork?

The MoQ OBS plugin does work with stable OBS… but it’s not exposed via the UI.

Seriously, we had to fork OBS just to add a “MoQ” dropdown to the UI. Go +1 this PR so the UI becomes dynamic. Then we can delete the abomination that is MoQBS.

How Do Use?

You can publish to any moq-relay server:

Settings Page

Open up the OBS settings. Change test to a unique broadcast name and remember that this endpoint is PUBLIC.

And you can watch from any moq-relay server too. I literally tested this for the first time ever just to take a screenshot. Huge shoutout to pangaea and Claude for coding this beast.

Watch Page

Wow it actually works. Note that you won’t need the ?jwt token for the /anon endpoint. I’m just lazy and used the bbb demo.

What Do Support?

How Do Work?

If you ever see me writing a C++ implementation of MoQ, shoot. It’s not the real @kixelated.

That’s why we created libmoq instead. It’s a C binding on top of the Rust library providing both publish and subscribe functionality. It basically converts async Rust code into a bunch of C callbacks.

You can download the latest version if you want to give it a try yourself. The gross async networking stuff is handled by Rust+Tokio in a separate thread, dramatically simplifying the API. It’s a static library so hopefully it just works™.

What Do Next?

Go forth and use libmoq in all of your favorite tools still using C for some reason. The current API is media-specific, but we’re going to add support for generic tracks too.

Software Mansion just started on native iOS/Android support for MoQ using libmoq. It took them a day to get playback working on iOS. They do some neat open source stuff so go pay them if you’re a big corpo flush with cash.

There’s also an ffmpeg fork if forking OBS was not good enough. Unfortunately, ffmpeg doesn’t have a plugin system so you’re stuck with a fork.

If you’re bored, vibe code a binding for your favorite language/platform/application and we’ll throw it into the moq-dev organization. Bonus points for VLC.

Who Do Did?

Again a huge shoutout to pangaea, bpmedley, emilsas, and everyone from Qualabs for all of their hard work. It feels great delegating the hard parts to others.

I could get used to this.

Written by @kixelated.

@kixelated