How to Record a Twitch Stream Live and Save It to MP4
Updated: 2026-06-29 · Written by the vodfetch founder
A simple guide to recording a live Twitch stream to MP4 as it happens, including how to start and stop capture and what to do when the broadcast ends.
Can you record a Twitch stream while it's live?
Yes. With the Twitch Downloader you can capture a live Twitch broadcast to an MP4 file in real time, while the streamer is still on air. You paste the live channel's URL, start recording, and the tool saves the feed to a video file as it plays.
One important detail: recording captures from the moment you press start, not from the beginning of the stream. If a broadcast has been running for an hour and you start recording now, your file begins now, the parts you missed are not included. To catch a full broadcast, start recording as early as possible.
How to record a Twitch live stream to MP4
Open the streamer's live page in Twitch and copy the channel URL (for example, twitch.tv/channelname). Paste that URL into the Twitch Downloader while the channel is live, then start the recording.
The tool captures the live feed continuously and writes it to an MP4 file. MP4 is widely compatible, so the result plays on phones, computers, and most video apps without conversion. You can let it run for as long as the broadcast continues or stop whenever you have what you need.
How do I start and stop recording?
Starting is as simple as pasting a live URL and clicking record. From that point, everything that airs is saved.
To finish, click stop. The capture closes and your MP4 is saved up to that moment, so you can stop early and still keep a complete, playable file of everything recorded so far. You do not have to wait for the streamer to end the broadcast.
What happens when the broadcast ends?
When the streamer ends the live broadcast, the source feed stops, so recording naturally ends too. Your MP4 is finalized with everything that was captured up to that point, and it stays on your device.
Many streamers also keep a VOD (Video on Demand) of the broadcast afterward. If a VOD is published, you can often download that full recording later instead, which is the easiest way to grab parts of the stream you missed before you started recording. VOD availability and retention depend on the channel's settings.
Live recording vs. downloading the VOD
Recording live is best when you want a clip in the moment, when you are unsure a VOD will be saved, or when you want to be certain to capture a specific segment as it airs.
Downloading the VOD afterward is best for grabbing a complete, gap-free copy of the whole broadcast, since it includes everything from the real start. The Twitch Downloader supports both: capture live now, or paste the VOD link later. Record only for personal use and respect Twitch's Terms of Service and the original creator's copyright.
Why a live capture saves as .ts, and what to do with the file
A live run is never remuxed, so what you end up with is MPEG-TS. Two conditions in the client decide it: the MP4 transmuxer is only fetched when the source is not live, and the flag that picks the container carries the same condition, so a live channel always resolves to .ts, or .aac if you selected an audio-only rendition. The first line in the log says as much: "Recording live → TS… press Stop to finish". Setting the Format switch to MP4 before you start changes nothing on a live channel, because that switch only reaches the VOD path.
The reason is failure tolerance. TS can be appended segment by segment, so each batch is written straight out and the file on disk is valid at every moment of the run. MP4 has to be assembled and closed at the end, with the transmuxer holding the video until the last segment arrives, which is exactly what the tool's own warning on very large MP4 conversions tells you: converting buffers the file in memory and may fail. For an open-ended capture that can run for hours, that is the wrong trade, because a tab that dies would take the entire recording with it.
When the run finishes the log adds "Plays in VLC; for MP4 choose Format → MP4." After a live capture, read that as advice for the archived broadcast later, not for the file you just made. In practice .ts opens as-is in VLC, mpv and most desktop players. If you need MP4 now, remux it without re-encoding: ffmpeg -i capture.ts -c copy capture.mp4 rewrites the container in seconds and leaves both the video and the audio untouched. If you can wait, download the past broadcast afterwards with Format set to MP4.
What the panel shows while recording, and the three-hour stop
There is no separate record button. A live capture starts with the same Start download button as any other job, and a Stop live recording button appears beside it once the run is going. The progress display then behaves differently from a VOD download, because a live stream has no known length: there is no percentage and no ETA. The bar sits full and pulses, the left-hand stat reads a LIVE dot followed by the number of segments written and the bytes so far, and the right-hand stat shows the current write speed.
That byte counter is your only size gauge. The estimate beside the quality dropdown stays blank for a live channel, because it is calculated as bitrate times selected duration and a live stream has no duration to multiply by. As a consequence none of the size confirmations can fire either: the 1.5 GB prompt belongs to the MP4 conversion path, which live never enters, and the 700 MB memory prompt explicitly excludes live sources. Nothing will interrupt you before the disk or the tab fills up, so plan from the bitrate in the quality label instead. A rendition labelled 6.0 Mbit/s writes roughly 2.5 GB an hour as the counter measures it, so a full three-hour run lands near 7.5 GB.
The run has a hard ceiling of three hours. After each playlist refresh the loop compares elapsed wall-clock time against that limit, and once past it prints "Live recording stopped automatically after 3 hours (abuse protection). Start it again for another 3 hours." and exits through the normal finalize path. This is not an error and not a truncated file: the .ts is closed and saved exactly as if you had pressed Stop yourself.
Restarting for the next block has one requirement that is easy to miss. Run Analyze on the channel again first. The tool keeps the media playlist it loaded when the run began and only replaces it on a fresh analysis, and a three-hour-old live playlist points at segments Twitch rotated away long ago, which surfaces as "Segment failed" a few seconds in. Two other consequences are worth planning around: the ceiling counts real time from the moment the run started rather than usable video, so a stream that stalls mid-run still burns through it, and the seconds between one run ending and the next beginning exist in neither file. Join the parts afterwards.
Your browser decides whether a long recording survives
Before the first segment is fetched, the tool asks for somewhere to write. In a Chromium desktop browser such as Chrome or Edge the File System Access API is available, so you get a native Save dialog immediately: you choose the filename before recording begins, and every batch is written straight to disk from then on. Memory stays flat whether the run lasts two minutes or three hours. Dismissing that dialog cancels the run rather than starting it.
The suggested name is the channel login plus the first part of the quality label and nothing else, so a source capture lands as something like channelname_chunked.ts, with no title and no date. That is not Twitch withholding anything: the live lookup asks only for the playback token, while the query that fetches title, date and chapters runs on the VOD path. If you want a readable name, type it into the file name field before you start, because there is no way to rename the file once the writable stream is open.
Firefox, Safari and every browser on iOS and Android lack that API. There the sink is a list of chunks held in memory, and the file only materialises when the run ends, so a multi-hour capture has to fit in the tab's RAM, and reloading, closing the tab or the OS evicting it loses the whole take. If the picker exists but fails for some other reason you will see "Could not stream to disk — buffering in memory", which leaves you in the same position.
Keep the tab in the foreground and stop the machine from sleeping. Between refreshes the loop waits on an ordinary timer, and browsers throttle timers in backgrounded tabs. The recorder can only fetch segments that are still listed in the playlist it just downloaded, so anything that rolled out of the live window while your tab was throttled is never requested at all. It does not error and it is not retried: you simply get a finished file with a jump in it that you notice on playback and nothing afterwards can repair.
How a live run ends, and what the tool actually prints
Paste a channel that is not broadcasting and you will usually see no error at all. The analysis for a channel URL is wrapped so that any failure falls through to the channel browser: the missing stream token behind "Channel offline or not found", a refused playlist request, an empty quality list. That is worth stating plainly, because it means "Usher 404 (offline/not found)", "Usher 403 (sub-only/expired)" and "No qualities available" cannot reach you from a channel link at all; those belong to the VOD path. The only alert a channel link raises is "Channel not found, or it has no public VODs or clips.", which means the login itself does not resolve.
What appears instead is more useful than an error. The browser lists the channel's 24 most recent past broadcasts behind a Load more button, plus twelve clips with today, week, month and all-time filters. On that first batch of broadcasts each card can carry an expiry estimate: the tool reads the channel's partner or affiliate role, applies 60-day retention to Partners, 14 days to Affiliates and 7 days to everyone else, and marks anything with two weeks or less remaining as "~Nd left (est.)". Cards pulled in by Load more do not carry that badge, so judge expiry from the first page.
"Playlist HTTP <code>" is the one analysis-stage error a live channel can still show you, and it appears when you press Start download rather than during analysis, because the media playlist for a channel is only loaded at that point. Live playlist URLs are signed and short-lived, so a page that sat open for a long time between analysis and recording is a common cause on its own. Analyze again, then start.
During the run, "Stream ended or unreachable." is the ordinary ending. Every refresh that brings no new segments, or fails outright, increments a counter; any refresh that brings new segments resets it to zero; at eight consecutive misses the loop exits and finalizes the file. The wait between refreshes is the playlist's own target duration, with two seconds used when the playlist does not state one, so eight misses is on the order of fifteen to twenty seconds of nothing arriving, not minutes. If a refresh returns a playlist marked as ended, the run stops on the spot instead of waiting the counter out.
"Segment failed" is the one message to treat differently. The fetch helper already gives every chunk four attempts with a growing pause between them, roughly 0.3, 0.6, 0.9 and 1.2 seconds, so by the time the message appears the connection has genuinely failed. The error also aborts the run before the finalize step, so the file is never closed and nothing is committed to the location you picked. Assume that take is gone and start again. Stop is the opposite: it sets a flag the loop checks before each batch of six segments, so the run ends within seconds, the file is closed and saved, and the log ends with the normal done line.
What live capture cannot do
Trimming is not available. The trim panel is hidden on every analysis and revealed again only for a VOD, and the segment filter that implements it sits in the non-live branch of the download function, so a live run always covers everything between start and stop. Cut the .ts in an editor afterwards, or download the archived broadcast later, where the slider works and the cut expands outward to whole segment boundaries at both ends.
Chat and chapters are VOD-only in the same way, and both buttons stay hidden for a channel; the chapters button additionally requires the VOD to carry chapter markers at all. Both query a video ID that does not exist until the broadcast is archived, so there is no live chat capture here. If the chat matters, wait for the VOD and export it there: you get a plain text file with one message per line, each prefixed with its offset into the video.
Quality is whatever Twitch offers an unauthenticated request. The list is sorted source first, marked with a star, then by descending bitrate, which puts any audio-only rendition last, and a bitrate only appears in a label when the master playlist reports one. Because there is no login and no user token, some channels expose nothing above 720p60 to this kind of request. That restriction comes from Twitch and applies to any downloader without an account session, so it is not something a different tool routes around. Selecting audio-only hides the Format switch and writes .aac; a live run cannot produce .m4a for the same reason it cannot produce .mp4.
There is one thing a live capture does better than the VOD. Twitch's copyright muting is applied to the stored past broadcast, so a passage that arrives silent in the VOD was not silent in the live segments. That also makes it the clearest case for keeping these files to yourself: record for personal use, and respect Twitch's Terms of Service and the creator's rights.
How to download a Twitch video
- 1
Copy the live channel URL
Open the streamer's page in Twitch while they are live and copy the channel URL from your browser's address bar.
- 2
Paste the URL into the Twitch Downloader
Paste the live channel link into the Twitch Downloader and confirm the tool detects the active broadcast.
- 3
Start recording
Click record to begin capturing the live feed to an MP4 file from this moment forward.
- 4
Let it run as the stream airs
Keep the recording running for as long as you want to capture; it saves the broadcast in real time.
- 5
Stop and save your MP4
Click stop when you are done, and the tool finalizes the MP4 with everything recorded up to that point.
- 6
Grab the VOD later if needed
If you missed the start, paste the broadcast's VOD link into the tool afterward to download the full recording.
Frequently asked questions
Does recording capture the whole stream from the beginning?
No. Live recording starts from the moment you press record, not the start of the broadcast. If you join late, the earlier part is not included. To capture an entire stream, start recording as early as possible, or download the VOD afterward if the streamer keeps one.
What format is the recorded Twitch stream saved in?
The Twitch Downloader saves live recordings as MP4 files. MP4 is widely supported, so your video plays on phones, computers, and most video apps without any extra conversion.
What happens to my recording when the streamer goes offline?
When the broadcast ends, the live feed stops and your recording ends with it. The MP4 is finalized with everything captured up to that point and saved on your device. If the channel keeps a VOD, you can often download the full broadcast later instead.
Can I stop recording before the stream ends?
Yes. Click stop at any time and the tool saves a complete, playable MP4 of everything recorded so far. You do not need to wait for the streamer to finish the broadcast.
Why does my live recording save as a .ts file instead of MP4?
The live path never runs the MP4 transmuxer. The client checks that the source is not live before loading it, so a live capture is written as MPEG-TS and the log opens with "Recording live → TS… press Stop to finish". Setting Format to MP4 beforehand has no effect on a live channel. The .ts plays in VLC and mpv as-is; for MP4, remux it with ffmpeg using stream copy (ffmpeg -i capture.ts -c copy capture.mp4), or download the VOD afterwards with Format set to MP4.
Can I record a Twitch stream for longer than three hours?
Yes, but in three-hour blocks. The limit is three hours of wall-clock time from the moment the run starts. At that point the tool reports that it stopped automatically for abuse protection and finalizes a complete, playable file. Press Analyze on the channel again before starting the next block: the tool reuses the playlist it loaded when the run began, and a three-hour-old one points at expired segments, which fails with "Segment failed". The seconds between the two runs are in neither file, so restart promptly and join the parts afterwards.
Which browser should I use to record a long stream?
A Chromium desktop browser such as Chrome or Edge. They support the File System Access API, so the tool opens a Save dialog before the first segment and writes each batch straight to disk, keeping memory flat for hours. Firefox, Safari and all mobile browsers buffer the entire recording in RAM until the run ends, so a long capture can exhaust the tab, and reloading or closing it loses everything recorded so far. The same applies if you see "Could not stream to disk — buffering in memory".
Can I record a live stream in source quality without logging in?
Often, but not always. The quality list shows whatever the master playlist offers, sorted source first with a star, then by descending bitrate. Because there is no login and no user token, some channels expose nothing above 720p60 to an unauthenticated request. That restriction comes from Twitch and applies to any downloader without an account session, so a different tool will not unlock a higher rendition on those streams.
Can I capture the live chat or trim the recording while it runs?
No to both. The chat and chapter buttons only appear for VODs, because they query a video ID that does not exist until the broadcast is archived, and the trim panel is revealed for VODs only. A live run captures everything from start to stop. Cut the .ts in an editor afterwards, or wait for the VOD, where trimming works and the chat exports as a plain text file with one message per line.
The stream is still live, so why did recording stop with "Stream ended or unreachable."?
The recorder refreshes the live playlist on the playlist's own target duration, about two seconds on Twitch, and counts consecutive refreshes that bring no new segments or fail outright. Any refresh with new segments resets that counter, and eight misses in a row end the run, so roughly fifteen to twenty seconds of nothing arriving. A network stall on either side can trigger it while the broadcast continues. The file is finalized and playable, so analyze the channel again and start a new run.
I pasted a channel URL and got a list of past videos instead of a recorder. Why?
That means the live analysis failed, which for a channel link is handled by showing the channel browser rather than an error. The usual reason is simply that the channel is not live right now. You get the 24 most recent past broadcasts with a Load more button and twelve clips filtered by today, week, month or all time; on the first page of broadcasts, ones close to expiring are flagged with an estimate based on 60-day retention for partners, 14 for affiliates and 7 days otherwise. Click any card to download it. If the login does not exist you get "Channel not found, or it has no public VODs or clips." instead.
Ready to download? Use the free Twitch Stream Downloader.
Download your Twitch video now
Paste a Twitch link and save it as MP4 in seconds — free, no account.
Open the Twitch DownloaderRelated guides
How to Use a Twitch Downloader: A Beginner's Guide (VODs, Clips, Live & More)
Never downloaded a Twitch video before? Here's the simple, no-jargon guide: what a Twitch downloader is, how to use one step by step, and how to save every kind of Twitch content — VODs, clips, live streams, audio and chat — for free, right in your browser.
How to Convert a Twitch VOD to MP4 in the Best Possible Quality
A clear, no-nonsense guide to saving any Twitch VOD as an MP4 in the best possible quality, including what "source" means, the available resolutions, codecs, and rough file sizes.
How to Download an Entire Twitch Channel: Back Up Every VOD
A practical, honest guide to archiving every VOD from a Twitch channel: how to find the Videos tab, grab each past broadcast's URL, and save the whole channel to MP4 with the free Twitch Downloader.
OBS vs a Twitch Downloader: Which Is Better for Saving Streams?
OBS and a browser downloader solve two different problems: OBS records a broadcast live as it happens, while a downloader saves an existing Twitch VOD or clip after the stream. Here's an honest comparison — system load, disk space, ease of use — so you pick the right one for archive vs broadcast.
How to Save a Twitch VOD Without OBS (No Install, Browser Only)
You do not need OBS, a desktop app, or any technical setup to save a Twitch VOD. This is the fastest, no-install way: paste the link into a free browser tool and download the past broadcast as an MP4 in seconds — no account, no configuration.
How to Download Twitch VODs on Mac and Windows (Free, In Your Browser)
To download a Twitch VOD on Mac or Windows, open the Twitch Downloader web app in any desktop browser, paste the Twitch VOD, clip, or stream URL, choose your quality, and save the MP4 to your computer. It runs entirely in the browser, so there is nothing to install on either operating system.