← 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 OBS Plugin.

  2. Set up OBS

    Drop the plugin into your OBS plugins folder, restart OBS, then add a SLAY Media Receiver source 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