Browser processing Input is processed on your device. Privacy & storage

Media Info

Point it at any video or audio file and read exactly what is inside: container, codec, resolution, frame rate, bitrate, duration and every individual stream. Nothing is uploaded.

Source file
Engine loads on first use
Drop a video or audio file here or click to choose one
MP4 · MOV · MKV · WebM · AVI · MP3 · WAV · FLAC · OGG and anything else FFmpeg reads

What ffprobe tells you

Containers hide a lot. A file ending in .mp4 might hold H.264 or H.265 video, AAC or AC-3 audio, several subtitle tracks and a thumbnail stream — and the extension says none of it. ffprobe is FFmpeg's inspection companion: it demuxes the file without decoding it, so it returns the real codec names, pixel formats, frame rates, channel layouts and bitrates in well under a second for most files.

Knowing the answer matters more than it sounds. If a clip is already H.264/AAC, the compressor and trimmer can copy the streams instead of decoding them, which turns a minute-long job into a second-long one. If the frame rate reads 30000/1001 you have 29.97 fps drop-frame video, not 30 — the distinction that decides whether an edit drifts out of sync.

Reading the numbers

Container
format_name — mp4, matroska/webm, mov, mpegts and so on
Streams
One entry per video, audio, subtitle or data track
r_frame_rate
The real rational frame rate, e.g. 30000/1001 = 29.97 fps
bit_rate
Bits per second for the whole file and for each stream
pix_fmt
Colour layout such as yuv420p (broadly compatible) or yuv422p10le (10-bit)

FAQ

Is my file uploaded anywhere?

No. The file is read from your disk into your browser's memory and inspected on your device. No network request carries the file.

Why does the first run download something?

The inspection is done by ffprobe compiled to WebAssembly — around 32 MB. It downloads once, is cached by your browser, and every BasaltKit media tool reuses it afterwards.

Can it read files with no extension or a wrong one?

Yes. FFmpeg identifies formats by their magic bytes, not by the file name, so a mislabelled file usually still opens fine.