---
title: "Rush conformity checker"
url: https://postproduction.studio/en/tools/rush-conformity-checker
language: en
description: "Paste ffprobe JSON or MediaInfo text to check codec, resolution, 23.976 vs 24 fps, chroma, colour, audio and timecode against a delivery spec, with ffmpeg fix."
updated: 2026-10-25
---

# Rush conformity checker

Paste a file's ffprobe (JSON) or MediaInfo output, pick a target profile: the tool lists what passes, what fails, and generates the ffmpeg command to fix it. Nothing leaves your browser.

For a plain readable view of the metadata, use the [MediaInfo parser](https://postproduction.studio/en/tools/mediainfo-parser); this tool checks a file against a delivery spec.

## 1. Probe the file in a terminal

ffprobe ships with ffmpeg; MediaInfo exists as a CLI (mediainfo) and as a desktop app.

File to probe

ffprobe (JSON)

```
ffprobe -v error -show_streams -show_format -of json A003C012_250612_PROXY.mov > A003C012_250612_PROXY_probe.json
```

MediaInfo

```
mediainfo A003C012_250612_PROXY.mov > A003C012_250612_PROXY_mediainfo.txt
```

## 2. Paste the output

Detected: **ffprobe JSON** — A003C012\_250612\_PROXY.mov

## 3. Target profile

Delivery specProject frame rate (fps)

Common editorial offline spec for Premiere Pro, Resolve and Final Cut Pro: ProRes 422 LT in QuickTime, 1920×1080, project frame rate, source timecode preserved, PCM 48 kHz / 24-bit audio. Adapt to your editor's own spec.

Not conform

A003C012\_250612\_PROXY.mov → Editorial proxies — ProRes 422 LT (1080p) · 23.976 fps

13 Pass1 Warning1 Fail0 Check

QuickTime (.mov)Apple ProRes 422 LT1920×108024 fps10-bit 4:2:2TC 14:22:31:07

## Conformity checklist

Check

Expected

Found

Status

* Container / wrapperPass

  Expected: QuickTime (.mov)

  Found: QuickTime (.mov)

  Pass
* Video codecPass

  Expected: Apple ProRes 422 LT

  Found: Apple ProRes 422 LT — prores / LT (apcs)

  Pass
* ResolutionPass

  Expected: 1920×1080

  Found: 1920×1080

  Pass
* Frame rateFail

  Expected: 23.976 fps

  Found: 24 fps (24/1)

  Fail

  24 vs 23.976: the classic 0.1 % mismatch (1000/1001). Over one hour it drifts by 3.6 s and audio goes out of sync. Conform (re-interpret every frame) instead of converting — no frames should be dropped or duplicated.
* Scan typePass

  Expected: Progressive

  Found: Progressive

  Pass
* Bit depthPass

  Expected: 10-bit

  Found: 10-bit

  Pass
* Chroma subsamplingPass

  Expected: 4:2:2

  Found: 4:2:2 — yuv422p10le

  Pass
* Colour primariesPass

  Expected: BT.709

  Found: BT.709

  Pass
* Transfer characteristicsPass

  Expected: BT.709

  Found: BT.709

  Pass
* Audio codecPass

  Expected: PCM (uncompressed)

  Found: pcm\_s16le

  Pass
* Audio channelsPass

  Expected: ≥ 2

  Found: 2 ch

  Pass
* Sample ratePass

  Expected: 48 kHz

  Found: 48 kHz

  Pass
* Audio bit depthWarning

  Expected: 24-bit

  Found: 16-bit

  Warning

  16-bit leaves less headroom for the mix; the sound team expects 24-bit.
* TimecodePass

  Expected: Embedded source TC

  Found: 14:22:31:07

  Pass
* DurationPass

  Expected: > 0

  Found: 42.500 s · 1020 frames

  Pass

## Recommended transcode settings

Codec
:   Apple ProRes 422 LT (prores\_ks profile 1)

Wrapper
:   QuickTime .mov

Resolution
:   1920×1080 (letterbox/pillarbox if aspect differs)

Frame rate
:   23.976

Bit depth / chroma
:   10-bit 4:2:2 (yuv422p10le)

Colour
:   Rec.709 (BT.709 tags), LUT baked in for log footage

Audio
:   PCM 24-bit 48 kHz, all source channels

Timecode
:   Source timecode + reel/clip name preserved

## ffmpeg fix command

Source file (path)

```
# Conform 24 → 23.976: "-r" before "-i" re-times every frame (no drop/dup);
# audio follows with atempo (0.1 % speed change, pitch preserved). First-frame timecode is kept.
ffmpeg -hide_banner -r 24000/1001 -i A003C012_250612_PROXY.mov \
  -map 0:v:0 -map "0:a?" \
  -c:v prores_ks -profile:v 1 -vendor apl0 -pix_fmt yuv422p10le \
  -color_primaries bt709 -color_trc bt709 -colorspace bt709 \
  -c:a pcm_s24le -ar 48000 -af "atempo=0.999000999" \
  -timecode 14:22:31:07 -map_metadata 0 \
  A003C012_250612_PROXY_PRORES-LT.mov
```

Only fixes what a transcode can fix (codec, size, 0.1 % rate conform, tags, audio). Resolution, bit depth or chroma lost at the source cannot be recovered. Test on a short clip before batch processing.

Profiles are practical summaries of common delivery specs, not official documents. Broadcasters, platforms and labs publish their own (often updated) specs, which always take precedence. No file is ever uploaded: only the pasted text output is analysed, locally.

## Related tools

[MediaInfo parser

Parse video file metadata.](https://postproduction.studio/en/tools/mediainfo-parser)[FFmpeg command builder

Build ffmpeg encode commands.](https://postproduction.studio/en/tools/ffmpeg-builder)[Platform specs

Netflix, Disney+, broadcast delivery specs.](https://postproduction.studio/en/tools/platform-specs)[Frame rate converter

23.976 / 24 / 25 / 29.97 / 50 / 60 fps.](https://postproduction.studio/en/tools/framerate-converter)

## About this tool

The rush conformity checker compares a media file's technical metadata with a target delivery profile and returns a pass / warning / fail checklist. You paste the JSON produced by ffprobe (-show\_streams -show\_format -of json) or the default text view of MediaInfo; the page parses it locally and checks container, video codec and profile, resolution, frame rate (including the classic 23.976 vs 24 fps mismatch and variable frame rate), scan type and field order, bit depth, chroma subsampling, colour primaries and transfer characteristics, audio codec, channel count, sample rate and bit depth, embedded timecode and duration. Seven profiles cover the most common situations: editorial proxies in ProRes 422 LT or DNxHR LB, a summary of streaming-style camera original requirements, broadcast HD in XDCAM HD422 50 Mb/s or AVC-Intra 100, a DCP source master and web H.264. For every profile the tool lists recommended transcode settings and writes an ffmpeg command that fixes what a transcode can fix. It is aimed at DITs, assistant editors, post supervisors and QC operators who need a fast sanity check before a turnover. Platform profiles are indicative summaries: the official specification always prevails.

### How to use it

1. Run the ffprobe or MediaInfo command shown on the page on your file and copy the output.
2. Paste it into the text box; the tool detects whether it is ffprobe JSON or MediaInfo text.
3. Choose the target profile and the project frame rate.
4. Read the checklist: each line shows the expected value, what was found and a status with an explanation.
5. Copy or download the report (.txt or .json) and, if needed, the generated ffmpeg fix command.

### Frequently asked questions

Why is 23.976 fps flagged as a failure in a 24 fps project?

23.976 (24000/1001) and 24 fps differ by 0.1 %. The difference looks harmless but accumulates to 3.6 seconds per hour, so picture and sound drift apart and conform from an EDL or AAF no longer lines up. The fix is to conform the clip, re-interpreting every frame at the new rate without dropping or duplicating any, and to slow down or speed up the audio by the same 0.1 %. The generated ffmpeg command does this with -r before -i and an atempo filter.

Which ffprobe command should I use?

Use ffprobe -v error -show\_streams -show\_format -of json yourfile.mov. The streams section gives codec, profile, pixel format, field order, colour tags and audio parameters, and the format section gives the container, duration and the timecode tag. Pasting only part of the output may hide the timecode or audio streams, so copy everything from the first brace to the last one.

Can a transcode make a file compliant?

Only partly. A transcode can change the codec, wrapper, frame size, colour tags, audio format and conform a 0.1 % frame-rate difference. It cannot recover resolution, bit depth or chroma information that was never recorded: an 8-bit 4:2:0 HD file upscaled to 4K 10-bit 4:2:2 still carries 8-bit 4:2:0 HD detail. That is why the camera original profile gives no fix command.

Are the Netflix-style and YouTube profiles official?

No. They summarise the kind of requirements those platforms publish, such as minimum photosite count, intra-frame or RAW recording, 10-bit capture and high data rates for streaming originals, or H.264 High profile and AAC audio for web uploads. Specifications change and depend on the contract, so always confirm against the platform's current partner documentation and approved-camera list before shooting or delivering.

What is the difference with the MediaInfo parser?

The MediaInfo parser turns a raw dump into a readable view and highlights HDR and codec information. The conformity checker goes further: it normalises ffprobe or MediaInfo data, compares every parameter with a delivery profile, explains each failure and generates a corrective ffmpeg command. Use the parser to explore a file and the checker to validate it against a spec.

### Glossary terms

* [QC (Quality Control)](https://postproduction.studio/en/glossary/qc-quality-control)
* [Proxy](https://postproduction.studio/en/glossary/proxy)
* [Transcode](https://postproduction.studio/en/glossary/transcode)
* [Frame Rate](https://postproduction.studio/en/glossary/frame-rate)
* [Chroma Subsampling](https://postproduction.studio/en/glossary/chroma-subsampling)
* [Bit Depth](https://postproduction.studio/en/glossary/bit-depth)
* [Timecode](https://postproduction.studio/en/glossary/timecode)

### Further reading

* [Quality control and deliverable compliance](https://postproduction.studio/en/formats/quality-control)
* [Codecs and containers: understanding video files](https://postproduction.studio/en/formats/codecs-and-containers)
* [Dailies workflow: from set to editorial](https://postproduction.studio/en/workflows/daily-workflow)
