Skip to main content

OBS Studio Plugin

The Moq OBS Studio plugin enables seamless integration with OBS, allowing you to publish directly to Moq relays and subscribe to Moq broadcasts as sources.
This plugin is currently under development but works well for most use cases. Contributions are welcome!

Overview

The OBS plugin provides two main capabilities:
  • Publishing: Stream directly from OBS to a Moq relay
  • Subscribing: Use Moq broadcasts as video sources in your OBS scenes

Repository

The plugin is maintained in a separate repository:

Moq OBS Plugin

View source code and installation instructions

Installation

1
Download the Plugin
2
Clone the repository:
3
git clone https://github.com/moq-dev/obs
cd obs
4
Build from Source
5
Follow the build instructions in the repository README for your platform:
6
  • Windows: Visual Studio build
  • macOS: Xcode or command-line tools
  • Linux: Standard build tools
  • 7
    Install to OBS
    8
    Copy the built plugin to your OBS plugins directory:
    9
    macOS
    cp -r build/obs-moq.plugin ~/Library/Application\ Support/obs-studio/plugins/
    
    Linux
    cp -r build/obs-moq.so ~/.config/obs-studio/plugins/
    
    Windows
    copy build\obs-moq.dll "C:\Program Files\obs-studio\obs-plugins\64bit\"
    
    10
    Restart OBS
    11
    Relaunch OBS Studio to load the plugin.

    Publishing from OBS

    Stream your OBS output directly to a Moq relay:
    1
    Open Stream Settings
    2
    Go to Settings > Stream in OBS.
    3
    Select Moq Service
    4
    In the Service dropdown, select MoQ.
    5
    Configure Relay URL
    6
    Enter your relay URL and broadcast path:
    7
    URL: https://relay.example.com/anon
    Stream Key: my-stream
    
    8
    The stream key becomes the broadcast name on the relay.
    9
    Add Authentication (Optional)
    10
    If your relay requires authentication, append the JWT token:
    11
    URL: https://relay.example.com/room/123?jwt=<token>
    
    12
    Start Streaming
    13
    Click Start Streaming in OBS. Your output will be published to the Moq relay in real-time.

    Subscribing to Moq Sources

    Use Moq broadcasts as video sources in your OBS scenes:
    1
    Add Moq Source
    2
    In your scene, click the + button under Sources and select MoQ Source.
    3
    Configure Source
    4
    Enter the connection details:
    5
  • Relay URL: https://relay.example.com/anon
  • Broadcast Path: my-stream
  • JWT Token (if required)
  • 6
    Position and Transform
    7
    Resize and position the Moq source like any other video source in OBS.

    Use Cases

    Remote Production

    Combine multiple Moq sources from remote locations into a single OBS production:
    1. Remote contributors publish to Moq using webcams or mobile devices
    2. OBS subscribes to each contributor as a separate source
    3. Mix, overlay, and produce the final stream from OBS

    Live Monitor

    View your Moq broadcasts directly in OBS:
    • Add your published stream as a source to monitor output
    • Useful for checking latency and quality
    • Preview multiple broadcasts simultaneously

    Restreaming

    Publish from one Moq relay and subscribe from another:
    1. Subscribe to a Moq broadcast as an OBS source
    2. Apply transformations (overlays, filters, etc.)
    3. Publish the modified stream to a different relay or platform

    Configuration Tips

    Encoder Settings

    For optimal Moq streaming, use these OBS encoder settings:
    • Rate Control: CBR (Constant Bitrate)
    • Keyframe Interval: 2 seconds
    • CPU Preset: Fast or faster
    • Tune: Zero Latency

    Audio Settings

    Recommended audio configuration:
    • Sample Rate: 48 kHz
    • Channels: Stereo
    • Bitrate: 128 kbps or higher

    Video Settings

    Balance quality and latency:
    • Resolution: 1920x1080 or 1280x720
    • Frame Rate: 30 or 60 fps
    • Bitrate: 2500-5000 kbps for 1080p
    Lower keyframe intervals reduce latency but increase bandwidth usage.

    Troubleshooting

    Plugin Not Showing in OBS

    • Verify the plugin files are in the correct directory
    • Check OBS logs for loading errors
    • Ensure OBS version compatibility

    Connection Errors

    • Verify relay URL is accessible
    • Check firewall and network settings
    • Ensure UDP traffic is allowed
    • Validate JWT token if authentication is required

    Poor Video Quality

    • Increase bitrate in OBS encoder settings
    • Check network bandwidth availability
    • Reduce resolution or frame rate
    • Use hardware encoding if available

    Next Steps

    Deploy a Relay

    Set up your own relay server

    FFmpeg Integration

    Publish media using command-line tools

    Web Playback

    Watch OBS streams in the browser

    Authentication

    Secure your streams with JWT tokens

    Build docs developers (and LLMs) love