How to Fix FFprobe No Such File or Directory Error
The "No such file or directory" error in ffprobe
typically occurs when the tool cannot locate the target media file or
the ffprobe binary itself. This guide covers the most
common causes of this issue—including incorrect path formatting, missing
quotes around spaces, relative path confusion, and environment variable
problems—and provides straightforward solutions to resolve it.
1. Verify the File Path and File Name
The most frequent cause is a simple typo in the file name or file extension. Ensure that the file exists and that the extension matches the actual file on disk.
- Case Sensitivity: On Linux and macOS systems, file
names are case-sensitive.
video.MP4is not the same asvideo.mp4. - Hidden Extensions: Operating systems like Windows
often hide known file extensions by default. A file named
video.mp4.mp4might appear asvideo.mp4in File Explorer, causingffprobe video.mp4to fail.
2. Wrap Paths Containing Spaces in Quotes
If your directory or file name contains spaces or special characters,
command-line shells will treat the space as a separator between
arguments, causing ffprobe to look for a non-existent
truncated path.
Wrap the entire path in double quotation marks:
ffprobe -i "C:\Users\Name\My Videos\sample video.mp4"On Linux or macOS, you can also escape spaces with a backslash:
ffprobe -i /home/user/My\ Videos/sample\ video.mp43. Use Absolute Paths Instead of Relative Paths
When running ffprobe with a relative path (such as
ffprobe -i input.mp4), the shell assumes the file is in
your current working directory.
To fix this:
- Check your current directory using
pwd(Linux/macOS) orcd(Windows). - Alternatively, supply the full absolute path directly to
ffprobe:
# Windows
ffprobe -i "C:\media\input.mp4"
# Linux / macOS
ffprobe -i "/var/media/input.mp4"4. Check Scripting and Subprocess Environments
If you are calling ffprobe from Python, Node.js, or
another programming language, the script's execution directory might
differ from where the file is stored.
- Python: Avoid relative paths in
subprocess.run(). Useos.path.abspath()or Python'spathlibmodule to build the full path before passing it to the command. - Working Directory: Set the explicit working
directory in your execution call (e.g., using
cwd="/path/to/media"in Python'ssubprocess).
5. Confirm the FFprobe Executable is in Your PATH
If the error specifically states
ffprobe: No such file or directory (or
command not found), your shell cannot locate the
ffprobe binary itself.
- Verify Installation: Run
which ffprobe(Linux/macOS) orwhere ffprobe(Windows) to see if the system finds it. - Update PATH: Add the directory containing
ffprobeto your system'sPATHenvironment variable. - Direct Execution: Alternatively, specify the full path to the executable:
/usr/local/bin/ffprobe -i input.mp46. Verify File Permissions
On Unix-based operating systems, ensure the user running the command has read permissions for the file and execute permissions for every parent directory in the path:
chmod +r /path/to/video.mp4