Stream a pre-recorded video live on Twitch.

Twitch’s upload button does not go live. Here is what it does, and three ways to air a file as a real broadcast.

Setup 4 min read

Written by Augustin Bégué, who builds and runs VOD247. Published Updated

Twitch’s own upload adds an on-demand video, not a live broadcast. It is limited to Affiliates and Partners, and counts inside the 100-hour cap shared with Highlights. To air a file live, send it through an encoder as a stream, labelled as a rerun. OBS, FFmpeg and hosted services all do that.

A Twitch upload is not live.

The upload button in the Video Producer adds a file to your Videos tab. Viewers watch it on demand, the way they watch a past broadcast. The channel does not go live.

Twitch limits that upload to Affiliates and Partners. A standard account cannot push an external file into the Videos tab.

Uploads also count against a cap. Highlights and uploads share 100 hours per channel, and they do not expire.

Three ways to air a file.

To go live with a recorded file, a stream has to leave an encoder and reach Twitch. Three setups do it, ordered by what they ask of you.

An OBS media source.

Add a Media Source to a scene, pick the file, and tick the loop option if it should repeat. Then start streaming with your Twitch stream key.

It is free and it works. The PC stays on for the whole broadcast, and the stream ends the moment OBS closes.

  • Sources, then Add, then Media Source, and pick your file.
  • Tick Loop if the file should repeat.
  • In Settings, Stream, choose Twitch and paste your stream key.
  • Click Start Streaming.

One FFmpeg command.

FFmpeg can push a file to Twitch without OBS. Replace the key with your own.

ffmpeg -re -i video.mp4 -c copy -f flv rtmp://live.twitch.tv/app/<key>

The -re flag reads the file at its natural speed, and -c copy sends it without re-encoding. That works only when the file is already H.264 video and AAC audio with a short keyframe interval. Otherwise the file has to be encoded first.

The stream stops when the file ends. A loop or a playlist needs a script around the command.

A hosted service.

A hosted playout service runs the encoder for you. You upload the file once, and it streams from a server, so your PC can be off.

The trade-offs are the upload itself, a storage cap and a monthly bill. Check that it labels the stream as a rerun.

Which one to pick.

One file, shown once, from a PC that stays on: OBS is enough. A scripted loop on a machine you already run: FFmpeg.

A channel that has to stay on air when you are away: a hosted service, because everything else depends on your PC.

Label it as a rerun.

A file aired live is a rerun like any other, so it takes the same label. Tick the Rerun checkbox, then put “[Rerun]” first in the title and again in the go-live notification. The reruns page has the steps, with Twitch’s wording.

One broadcast lasts 48 hours at most, so a loop has to reconnect before that. The 48-hour limit page explains how.

A file that airs cleanly.

A file with these settings can be sent as it is, without re-encoding. Anything else has to be converted first.

  • Video: H.264, 8-bit, 4:2:0.
  • Audio: AAC.
  • Size: 1080p or lower.
  • Frame rate: 60 fps or lower.
  • Keyframes: one every 2 seconds.

The same settings in OBS.

In OBS, pick the x264 or NVENC H.264 encoder, AAC audio and a keyframe interval of 2 seconds.

Record with them and the file is ready to air later, with no conversion.

Only what you own.

Your own past broadcasts and recordings are yours to rerun. A film, a series or another creator’s video is not, unless a licence says otherwise.

A tool that streams the file does not change who holds the rights. The person who airs it does.

Old VODs Twitch already deleted.

Once Twitch deletes a past broadcast, nobody can bring it back. A copy you kept can still air.

An OBS local recording, or a VOD you downloaded before it expired, is an ordinary file. The three methods above work on it, if the format fits.

Upload the file, skip the encoder.

VOD247 does it without a PC. Upload a file from the catalogue with “Upload a video”: one at a time, up to 50 GB and 6 hours, in mp4, mov, m4v, mkv, flv or ts. It is checked after the upload and never re-encoded, then airs like any archived VOD: chat vote, !request, series and the public site.

Upload my first video

On Solo, Pro and Studio. Counts against your archive storage.

Questions about airing a video.

Can I upload a video to Twitch without Affiliate?

Not to the Videos tab: that upload is limited to Affiliates and Partners. You can still air a file live from any account, by streaming it through an encoder and labelling it as a rerun.

Does the stream stop when the video ends?

With OBS or FFmpeg, yes. The encoder has nothing left to send, so the broadcast ends. OBS can loop one file. A playlist of several files needs a script, or a service that queues the next one.

Can I stream a film or someone else’s video?

Only with a licence from the rights holder. Streaming a file does not change who owns it, and a film or another creator’s video is not yours to air. Your own broadcasts and recordings are the safe case.

Why does OBS re-encode my file?

A Media Source decodes the file, then OBS encodes the whole scene again with its own settings. That costs CPU and can lose picture quality. FFmpeg with -c copy skips the step when the file is already H.264 and AAC.

Can I put back VODs Twitch deleted?

Only from a copy you kept. Twitch cannot restore a deleted past broadcast. An OBS recording or a file saved in time can air again as a rerun.