Skip to content

Play a streamer’s clip when you shout them out

Add a Clip player to your overlay, and !so plays one of that streamer’s most-viewed clips on stream after the shoutout.

5 min readUpdated

Before you start

You need an overlay in OBS. Add an overlay to OBS takes you from New overlay to a Browser Source; the Clip player is one more layer on it. The clip comes from Twitch and plays with its sound, so the streamer you shout out needs at least one public clip on Twitch.

1. Add a Clip player

  1. Open Overlays, open the overlay you use in OBS, and choose Add at the top of the left panel.
  2. Under Chat & info, open Clip player and choose Add. It lands in the middle of the canvas as a dashed card at the player’s size, so you can place and style it before any clip plays.
  3. Drag it where you want it.
  4. In Content, write the Heading. $(name) becomes the streamer’s name, so Go check out $(name)! reads Go check out PixelPal!. Switch Show heading or Show clip title off if you want only the clip.
  5. Set Player width anywhere from 400 to 1920 pixels. The height follows at 16:9, and never under 300.
  6. Keep the layer’s name, Clip player: the shoutout finds the layer by that name to show and hide it. If you rename it, change the name in the flow too (step 2).
  7. Choose Publish.
Studio's Add tab with the Clip player row under Chat & info, beside the canvas showing the Clip player's placeholder card: the heading Go check out PixelPal!, a dashed box at the player's size with a clip icon, and a sample clip title.
The Clip player tile under Chat & info, and its placeholder card on the canvas. Click to enlarge.
A Clip player selected in Studio, with its toolbar under it on the canvas and its settings beside: Show heading, Heading set to Go check out $(name)!, Show clip title, Player width 640 and Scale fixed at 1, with the note that the player keeps its own size.
A Clip player’s Content tab: the heading, the clip title, Player width, and Scale fixed at 1. Click to enlarge.

Scale shows 1 and can’t be changed, and the layer has no resize or rotate handles: the player keeps its own size, because Twitch stops a clip playing by itself when its player is scaled or covered. Use Player width to make it bigger or smaller. The layer’s Style and Parts still dress the panel round the clip — its background, frame, heading and title — but the player itself can’t be styled.

2. Turn on the !so shoutout

The Starter pack’s Shoutout flow plays the clip. When you or a moderator type !so pixelpal, it shouts PixelPal out in chat, sends Twitch’s own shoutout, shows your Clip player, then plays one of PixelPal’s clips on it. When the clip ends, the flow hides the Clip player again. If more shoutouts are waiting their turn, it stays shown until the last of their clips has played. Twitch only takes its own shoutout while you are live, so offline the flow skips it and the Run log says so. Viewers can’t use it: the flow checks for moderators and you first. Add permissions and cooldowns shows how to change who can. The Twitch shoutout command covers /shoutout, its limits and shouting out raiders automatically.

If you don’t have Shoutout yet:

  1. Open Flows, press Marketplace, and add Shoutout on its own (it is in the Starter pack). It arrives paused.
  2. Switch it on.

If you added Shoutout before 7 October 2026, the Starter pack shows Update ready under Marketplace → Installed:

  1. Open Marketplace, then Installed, and open Starter.
  2. If you haven’t changed your Shoutout, choose Update: it gets the clip and the show and hide steps in place, and stays on or off as it was.
  3. If you have changed it, the row asks “Keep your version?”. Use the new one replaces it with the new Shoutout and keeps your version in the flow’s History. Keep mine leaves it exactly as it is; to add the steps to it yourself, see Use the step in your own flow.

Update what you added explains updates in full. Without a Clip player on your overlay, !so works as it always has: the shoutouts go out and no clip shows.

The Starter pack’s Shoutout flow on the flow canvas: the !so command, a Who can trigger check set to moderators and up, Shout out a streamer, Show a layer for Clip player with its next and error both leading to Play a shoutout clip, then from Played and No clip a second Show a layer for Clip player, with dashed data wires from the trigger’s Who typed it and Word 1 into Shout out a streamer’s fields and Word 1 into Play a shoutout clip’s Whose clip, and one from the clip step’s Busy for to its Hide again after.
Starter’s Shoutout: the !so command, the moderator check, Shout out a streamer, Show a layer for Clip player, Play a shoutout clip, then Show a layer again with Hide again after wired to how long the Clip player is busy. Click to enlarge.

Your Clip player can stay hidden in the editor. Press its eye in Studio so the placeholder card is out of your way: the shoutout still shows the layer for each clip and hides it afterwards. After the first !so, the layer stays hidden between clips even if its eye is on in Studio.

If your Clip player has another name, or sits in a group you want shown with it, open Shoutout and change Layer or group on both Show a layer steps to that name. A group’s name shows and hides every layer in it, such as a frame round the player.

What viewers see

Nothing, until a shoutout plays a clip. Then the heading, the clip and its title appear together, the clip plays with its sound, and the layer hides again a moment after the clip ends. Now and then Twitch won’t hand over a clip’s video; that clip plays in Twitch’s own player instead, which Twitch keeps muted.

  • The clip is picked at random from the streamer’s ten most-viewed clips of the past year, or of all time when they have none from the past year. When they have more than one, the next !so for them on your channel plays a different one.
  • One clip plays at a time. A !so while a clip is playing waits its turn, up to three of them; a shoutout past that plays no clip, though the chat shoutout still happens.
  • Every Clip player on your overlays plays the same clip at the same moment.
  • An OBS source that you open or refresh while a clip is playing waits for the next one.

Keep it playing: Twitch’s rules

When a clip plays in Twitch’s own player, Twitch only lets it start by itself when the player is plainly visible. Keep it that way:

  • Leave the layer unscaled and uncovered: no other layer on top of it, and no custom CSS that moves, fades or scales it.
  • In OBS, leave crop and filters off the overlay’s Browser Source.

Hear the clip in OBS

The clip’s sound is part of the overlay’s Browser Source. For your viewers to hear it, tick Control audio via OBS in that Browser Source’s properties. OBS then mixes the source’s sound into your stream and recording.

With Control audio via OBS ticked, you won’t hear the clip yourself until OBS monitors it:

  1. In OBS, open Advanced Audio Properties from the Audio Mixer’s gear or three-dot menu (or from Edit → Advanced Audio Properties).
  2. Find the overlay’s Browser Source in the list and set its Audio Monitoring to Monitor and Output.

Until monitoring is on, OBS sends that sound only to your stream and recording. Your viewers hear it; this only lets you hear it too.

With Control audio via OBS off, which is OBS’s default, the page’s sound goes to your computer’s own audio output instead. Your viewers only hear it if OBS also captures your Desktop Audio.

Try it without going live

  1. In the overlay editor, open Simulate and choose Play one of my clips. It picks one of your own clips the same way !so picks one.
  2. If the canvas isn’t at actual size, Studio asks: “Twitch only starts a clip in a canvas at actual size, as OBS shows it. Show the canvas at actual size while it plays? It goes back afterwards.” Choose Show actual size and play. While the clip plays, the canvas is drawn at one screen pixel per overlay pixel whatever your zoom, and scrolled to your Clip player. The Simulate panel closes for the run so nothing covers the player, and a line above the canvas tells you it is playing until the clip is done. Nothing is drawn over the overlay meanwhile. When the clip ends, the canvas goes back to your zoom and where you had scrolled to. Your zoom setting is never changed. Choose Cancel to leave the canvas as it is.
  3. To play it in OBS too, tick Also play on the live overlay in OBS before you choose Play one of my clips. Viewers will see it.

The canvas is only a preview of where the clip sits; OBS shows the real thing. The canvas plays sound only while its speaker button is on.

Use the step in your own flow

The step is Play a shoutout clip. Its one field, Whose clip, takes a name or a variable: $(1) is the first word after a command, and $(raiderlogin) the raiding channel on a Raid trigger. A leading @ is ignored.

It leaves by Played once the clip is playing or waiting its turn, and by No clip when the name isn’t a Twitch account, the streamer has no public clips, Twitch doesn’t answer, or three clips are already waiting. The run log says which. When Twitch refused the clip’s file and it plays muted in Twitch’s own player, the run log says why. Connect a Chat message to No clip to say so in chat. Test fire plays no clip: the run log says whose clip it would have played.

Both ways out hand on Seconds the Clip player is busy (its card calls it Busy for): how long until this clip, and every clip waiting before it, has played. On No clip it is how long the clips already playing or waiting have left, and at least 1 second. To show and hide the player the way Starter’s Shoutout does:

  1. Put a Show a layer step for Clip player before Play a shoutout clip, with Hide again after empty. Connect both its next and its error to Play a shoutout clip, so a clip still plays if no layer has that name.
  2. After Play a shoutout clip, add a second Show a layer step for Clip player. Connect both Played and No clip to it.
  3. On the canvas, drag a data wire from Busy for in Play a shoutout clip’s tray to the second step’s Hide again after. The field then reads Busy for, from Play a shoutout clip; its × button takes the wire out so you can type a time again.

The first step shows the player before the clip arrives, because a hidden layer isn’t on the page to receive it. The second keeps it shown exactly as long as it has clips to play, then hides it.

Troubleshooting

  • No clip plays, and the run log says they have no public clips. That streamer has no clips Twitch shows publicly. The chat shoutout still went out.
  • In Studio, the clip plays with no sound. The canvas’s sound starts off. Turn it on with the speaker button beside the zoom, then play the clip again. OBS plays it with sound.
  • A clip plays silently. It played in Twitch’s own player, which Twitch mutes when it starts by itself, because Twitch refused to give that clip’s file or the file wouldn’t play in the browser. When Twitch refused, the run log’s Play a shoutout clip line says why. The next shoutout asks Twitch again.
  • You hear the clip but viewers don’t. Your Browser Source has Control audio via OBS off, so its sound goes to your computer’s audio output and not into your stream. Tick Control audio via OBS in the Browser Source’s properties (Hear the clip in OBS), or have OBS capture your Desktop Audio.
  • Viewers hear the clip but you don’t. Your Browser Source has Control audio via OBS ticked: set its Audio Monitoring to Monitor and Output (Hear the clip in OBS).
  • You added the Clip player while OBS had the overlay open, and it stays empty. The overlay reloads itself once when it finds a Clip player it wasn’t ready for. If the player is still empty, refresh the overlay’s Browser Source.
  • It doesn’t start in OBS. The clip is playing in Twitch’s own player, and something covers the player or it is scaled: move other layers off it, remove custom CSS that moves or scales it, and leave crop and filters off the Browser Source.
  • !so shouts them out, but no clip plays and the run log has no Play a shoutout clip step. Your Shoutout is an older version: update Starter, or add the step yourself (step 2).
  • The clip plays in the run log, but the Clip player never shows in OBS, and Show a layer says no layer or group has that name. Your Clip player isn’t called Clip player, and its eye is off in Studio. Change Layer or group on both Show a layer steps in Shoutout to the layer’s name.
  • The Clip player stays hidden although its eye is on in Studio. The shoutout hid it after its last clip, and Studio’s eye doesn’t undo that. The next !so shows it again. To show it now, run a flow with a Show a layer step for it (Show or hide layers from a flow).
  • Nothing happens when a viewer types !so. Only moderators and you can use it.
  • Simulate says your channel has no public clips yet. Make a clip of your stream, then try again.
A little guidance. A lot of possibilities.Something not working?