Before adding a video to an OBS playlist, check it in three stages: inspect its container and streams with FFprobe, attempt a complete decode with FFmpeg, then play it through the OBS source you intend to use. Each stage answers a different question, and only the last tests the playback route that will be live.
A file that passes one check can still fail another. Keep the original unchanged while you investigate, and treat command-line results as evidence about that file on that computer, not as a guarantee of trouble-free broadcast playback.
What a corruption check can catch
“Corrupted” can mean several things: a file may be truncated, its container index may be damaged, a stream may contain unreadable data, or the video and audio may simply be encoded in a way your chosen player does not handle. A clip that plays on one computer can also fail in OBS because the source uses a different playback route or has different software dependencies.
That distinction matters before a 24/7 channel runs unattended. If a devotional playlist moves from one bhajan to the next while you are away, a clip that stops at its opening frames or plays without sound can interrupt the channel even though its filename and file size look ordinary. A quick open-and-close test might never reach the faulty part.
The preflight below moves from cheap evidence to a practical playback check:
| Check | What it can tell you | What it cannot establish |
|---|---|---|
| FFprobe inspection | Whether FFmpeg recognises the input and can report container and stream details | Whether every frame and packet can be decoded |
| FFmpeg null-output decode | Whether FFmpeg can read and decode the streams it selects through the run | Whether OBS will play the clip correctly, or whether every alternate track was exercised |
| Playback in the intended OBS source | Whether that source and local setup play the clip as expected | Whether a different machine or later configuration will behave the same way |
The checks also help separate a damaged file from a compatibility problem. If FFmpeg can decode the file but OBS cannot play it, do not immediately conclude that the media is corrupt. The source, codec support, VLC installation, or OBS setup may be the difference.
Install or locate FFprobe
FFprobe is the inspection utility distributed with FFmpeg. If FFmpeg is already installed, FFprobe may be available alongside it. Open a terminal or command prompt and enter ffprobe -version. If you see version information, the command is available. If the system says the command is not recognised or not found, install FFmpeg from its official distribution source or use the location where it is already installed.
On Windows, you may need to open the folder containing ffprobe.exe in a terminal, or add that folder to your PATH. On macOS or Linux, a package installation may put the command on PATH automatically. The exact installation steps depend on your operating system and how you manage software; avoid downloading a random executable just to complete this check.
You can also use the executable's full path instead of changing PATH. For example, replace ffprobe in the command below with a path such as C:\tools\ffmpeg\bin\ffprobe.exe on Windows, or /path/to/ffprobe on macOS or Linux. Quote paths that contain spaces, and keep the quotation marks around the video path as well.
Work on a copy if you are considering any repair or conversion later. The inspection commands do not need to alter the source clip, and preserving it means you can compare a converted version or try another player without losing the original evidence.
Probe the container and streams
Run this command, replacing clip.mp4 with the real path and filename:
ffprobe -v error -show_error -show_format -show_streams -of json "clip.mp4"
The options request different kinds of information. -v error limits routine logging to errors; -show_error asks FFprobe to include an error section if it encounters a probing error; -show_format requests container information; and -show_streams requests information about the video, audio, subtitle, or other streams it recognises. -of json makes the output easier to read and compare.
Look for an error section or a message that the input could not be opened. Then check whether the reported format and streams fit what you expect. A video intended to show a single image sequence with music might reasonably report a video stream and an audio stream. Missing audio, an unexpected stream type, or no recognised video stream merits investigation, though it does not on its own prove the file is damaged.
The format name and stream details are clues, not a verdict. FFprobe can often read metadata from a file even when some later media data is incomplete or unreadable. Conversely, a probe failure can result from an unsupported or unusual container rather than physical damage. FFprobe’s documentation describes its reporting options, including error, format and stream information.
If a file is part of a long-running rotation, maintain a simple preflight note beside the playlist: filename, probe result, decode result and OBS test result. This is useful when several exports have similar names, or when someone else needs to replace a clip. It is not a substitute for the checks; it makes their outcome traceable.
Interpret errors and missing stream details
A probe that exits with an error or prints an error section is a reason to investigate, not an automatic diagnosis. Note the exact message, confirm that the path is correct and that the file can be read, then retry against a known-good copy if you have one. A typo in the filename or a permissions issue can look like a file problem until you verify the path.
If FFprobe identifies the container but reports no streams, the file may be empty, incomplete, or not the media you expected. If it shows video but no audio, establish whether the clip was meant to have audio. For a silent ambience visual, that could be correct; for a bhajan video, it is a warning worth checking in a player and in OBS.
Duration and stream metadata can be missing or surprising in some files without proving that playback will fail. Some containers store their information differently, and a partial or unusual file may not report what you expect. Do not “fix” a valid clip merely because one field looks unfamiliar. Compare it with the intended output and move on to a decode and playback test.
When the playlist itself is the concern, check whether the source is a single Media Source or a multi-item source. OBS documents that Media Source plays media files and lists formats it supports; its VLC Video source can create a playlist. The OBS Media Sources guide also notes that VLC must be installed for VLC Video to appear, and that 64-bit OBS requires 64-bit VLC. For a broader explanation of how a continuous playlist fits into a YouTube setup, see whether a YouTube playlist can run continuously without OBS.
Decode the file to check for read errors
A metadata probe does not decode the whole clip. To ask FFmpeg to attempt a decode while discarding the output, run:
ffmpeg -v error -i "clip.mp4" -f null -
This uses FFmpeg’s null muxer, which produces no output file. The command reads the input and tries to decode the streams FFmpeg selects, but discards the resulting media instead of making a converted copy. The FFmpeg formats documentation describes the null muxer and includes an example of sending decoded input to it.
Let the process finish. If you stop it part-way through, you have only tested the portion read up to that point. Watch for reported decoding or demuxing errors, and check the command’s exit status after it returns. A quiet run is useful evidence that FFmpeg decoded the selected streams in that environment; it is not proof that OBS will play the file correctly.
There is another limit: FFmpeg’s default stream selection may not exercise every alternate audio, subtitle or other track in the file. If you know the clip includes a separate commentary track, multiple language tracks, or other content that matters, test those tracks intentionally rather than assuming a default decode covered them. For a simple playlist clip, make sure the audio you expect is actually selected and audible in the later OBS test.
A decode error can help locate the nature of a problem, but the text does not always tell you its cause. A damaged section is one possibility; a malformed file, a codec issue or an unusual input may also be involved. Keep a copy of the message, filename and command result, then compare against the OBS test before deciding whether to convert or replace the media.
For an always-on stream, the rest of the video rotation matters too. A clip can decode cleanly yet still be too demanding for the machine or encoder in a particular scene. If playback problems coincide with transitions or load, use a separate stream-side diagnosis such as the guide to OBS dropping frames when switching playlist videos, rather than treating every visible stutter as file corruption.
Test playback in the intended OBS source
Now test the file through the source you actually plan to use. A successful FFmpeg decode means FFmpeg could decode the streams it selected; it does not test OBS’s media source, VLC libraries, scene configuration, or audio routing. In OBS, create a temporary scene or use a safe test scene, add the relevant source and load the candidate clip.
If the live playlist is based on OBS’s Media Source, test it there. If you need a playlist of multiple clips, test using VLC Video if that is the source you intend to run. The OBS guide describes the distinction: Media Source handles an individual media file, while VLC Video supports a playlist. VLC Video depends on VLC being installed, and the OBS and VLC architectures must match as the guide specifies.
Play the clip from start to finish. Check the opening, a middle section and the ending, but do not treat spot checks as a full playback test. Keep the preview or test output visible throughout the complete run; listen for missing, distorted or abruptly cut audio and watch for a frozen image, black frames, unexpected aspect ratio or a source that stops before the file ends. If the clip is long, allow enough time for the full duration rather than seeking past the part you are trying to validate.
Check the source behaviour that will matter in your scene. For example, confirm whether it restarts or advances as intended after the clip ends, whether the next playlist item loads, and whether audio is routed to the right output. A file may play properly by itself yet reveal a transition issue when OBS moves to the next item. That is why the intended source and playlist configuration matter more than a generic desktop player test.
If you are preparing a larger YouTube channel with recurring media, keep the file preflight separate from the broadcast checklist. The quick guide to live-streaming videos on YouTube covers the wider setup; this test is specifically about establishing whether a candidate clip can be read and played by the route you plan to use.
Fix, convert or replace a failing clip
If FFprobe fails, FFmpeg reports decode errors, or OBS playback does not match expectations, preserve the original and narrow down the cause. Confirm the file path and size, try the clip in a separate player, and compare against the original export or source if one exists. If the problem is only in OBS, check the source type and its dependencies before re-encoding media that may be intact.
If the clip came from an editor or another device, exporting a fresh copy can be a sensible next step. Choose a format and codec that your intended OBS source supports, and test the new file through the same probe, decode and OBS sequence. Re-exporting may create a playable file when the original container or encoding is problematic, but it cannot recover missing picture or sound that was never present in the source.
Conversion is not a universal repair. A transcoder can sometimes create a more compatible copy from readable media, but it cannot reliably reconstruct data that is absent or irrecoverably damaged. Keep the source file and compare the converted copy at the same troublesome point. If an important segment remains unreadable or missing, replace the clip with a known-good export or source rather than quietly leaving a gap in the rotation.
If the clip passes both command-line checks but fails in OBS, check whether the selected source supports the file’s format and whether a required VLC installation is present. Then test a short known-good file in the same source to separate a source setup problem from a clip-specific one. For a 24/7 channel, add the confirmed replacement to the playlist only after a complete playback test, and keep the earlier copy out of the live rotation until you understand its failure.
A preflight is most useful when it is repeatable. Use the same commands, intended OBS source and full playback run for every new clip, whether it is a local news loop, a study ambience video or devotional music. A clean FFprobe result is one checkpoint, not the finish line.
Before committing, compare the operating options on the pricing page. When the file and channel are ready, start free — 24-hour trial, no card.
FAQ
Does a clean FFprobe result mean my clip is not corrupted?
No. FFprobe reports what it can recognise about the input, container and streams, but a metadata probe is not the same as decoding every part of the file. Run the full FFmpeg null-output decode and test the clip in the OBS source you plan to use.
Does the null-output FFmpeg command make a new video file?
No. The null muxer discards output, so the command is intended to test reading and decoding without creating a converted copy. Let it finish and review both its messages and exit status; stopping early only tests what it has read so far.
Why does a clip work in FFmpeg but fail in OBS?
The tools can use different playback routes, and OBS behaviour depends on the source you chose and the local setup. In particular, OBS’s VLC Video playlist source requires VLC installed, with matching architecture for 64-bit OBS. Test in the exact source and configuration intended for the channel.
Should I convert a file as soon as one check reports an error?
Not necessarily. First verify the path and determine whether the issue is the file, its format or the OBS source setup; keep the original unchanged. A fresh export or conversion may help with compatibility, but no tool can be assumed to repair every damaged clip.