← All tools
SLAY Cart icon

SLAY Cart

LinuxWindowsVJ SLMNDI

Fire a clip. It is in OBS before you let go of the button.

SLAY Cart main window: scene tabs, a six-column touch grid of video and audio clips, and a status bar with SHM, UDP and NDI output indicators.

What it does

SLAY Cart is a clip-trigger media player for live streaming and broadcast. Build scenes from video and audio (local files, YouTube, Vimeo, direct URLs), set in and out points, and launch them on cue from a touch-friendly grid, a StreamDeck, or any HTTP or WebSocket client.

Its output goes into OBS over SLM, the SLAY Media protocol: shared memory when the player and OBS share a machine (zero-copy, no socket limits, no kernel tuning), and UDP across the network, both at once and discovered automatically. The status bar lights an SHM, UDP or NDI indicator per active receiver. In our tests the added latency measures about 1 ms over shared memory and around 3 ms to a laptop receiving over WiFi with hardware H.264; uncompressed NV12 across a gigabit LAN lands near 20 ms.

Every clip starts and ends clean, with no frozen frame and no A/V drift; audio-only clips run a native, gapless retrigger path, so hitting the same pad twice just restarts it. NDI output runs alongside SLM, so the same triggers also feed vMix, TriCaster, or anything else on the network.

Highlights

See it in action

Quick start

  1. Get the pieces

    Download SLAY Cart and the SLM Wire for OBS Studio. If you want NDI, install the NDI Runtime on the SLAY Cart machine (optional).

  2. Set up OBS

    Drop the plugin into your OBS plugins folder, restart OBS, then add a SLM Receiver (video) and SLM Audio Receiver (for audio-only) sources to your scene.

  3. Add some clips

    Launch SLAY Cart and drag in video or audio files, or paste a YouTube link to download and add it to the grid.

  4. Hit play

    Click a clip to fire it. It appears in OBS instantly over shared memory. Watch the latency readout and the SHM badge light up in the status bar.

  5. Trigger it from anything (optional)

    SLAY Cart exposes a REST API on port 7878 for StreamDeck, Bitfocus Companion, or your own scripts:

    # Play a clip by scene and name
    curl http://localhost:7878/start/General/Get_in_the_Van
    
    # Stop all playback
    curl http://localhost:7878/stop
    
    # List scenes and their clips
    curl http://localhost:7878/list/scene

Requirements

Setup help

SLAY Cart checks for its helper tools when it starts and drops a note in the Messages panel if anything needed for the full experience is missing. Here is how to fix each one.

ffmpeg and ffprobe required

Used for clip metadata, thumbnails, waveforms, proxies and playback. Without them most of SLAY Cart will not work.

yt-dlp optional

Only needed to add clips from YouTube, Vimeo and similar links. Local files work without it.

SLM video codec fell back to raw heads-up

If you set the SLM codec to H.264 or H.265 but no matching hardware encoder is available, SLAY Cart keeps working but sends uncompressed raw video, which uses far more bandwidth. Install or enable a GPU encoder (NVENC on NVIDIA), or set the SLM codec back to raw in Settings to silence the warning.

NDI runtime required for NDI output

If you want SLAY Cart to produce an NDI output, you need to install the free NDI Tools / NDI Runtime on that machine. If you don't have it installed, SLAY Cart will warn you at start-up (once). SLM output does not depend on NDI.