How to match a video bitrate to a broadcast delivery spec
- Step 1Read the spec and pull out the numbers — Find the required video bitrate and audio bitrate. Confirm they're in the units you expect (Mbps vs kbps) and note the required codec/container so you can check it matches H.264 MP4.
- Step 2Drop your master onto the bitrate setter — Add the source (
.mp4,.mov,.mkv,.webm,.avi,.m4v,.ts). It loads into FFmpeg.wasm locally — no upload. - Step 3Enter the spec's Video kbps — Convert Mbps to kbps (x1000) and type it.
8 Mbpsis8000. The field allows 100–50000 →-b:v <value>k. - Step 4Enter the spec's Audio kbps — Type the required audio bitrate (48–320). Audio is re-encoded to AAC at this value. If the spec demands a non-AAC audio codec, this tool can't meet it.
- Step 5Encode and download — The tool runs
libx264 -preset medium -b:v Xk -maxrate (1.2X)k -bufsize (2X)k -c:a aac -b:a Yk -movflags +faststart. Download the faststart MP4. - Step 6QC against the spec before submitting — Verify with
ffprobe/MediaInfo: measured average bitrate, audio bitrate, codec, container, and faststart flag. Single-pass lands within a few percent — set the target just inside a hard ceiling if the spec is strict.
Delivery-spec checklist: what this tool covers
Match each spec clause to whether the bitrate setter satisfies it. Clauses marked 'use sibling' need a different tool.
| Spec clause | Covered here? | Tool to use if not |
|---|---|---|
| Video bitrate (kbps/Mbps) | Yes — Video kbps field | — |
| Audio bitrate (kbps) | Yes — Audio kbps field, AAC | — |
| Codec = H.264 / AVC | Yes — always libx264 | — |
| Container = MP4 + faststart | Yes — always | — |
| Codec = H.265 / HEVC | No | h265-encoder |
| Codec = ProRes / mezzanine | No | prores-encoder |
| Resolution / frame size | No (pass-through) | video-resizer |
| Wrapper (IMF/MXF/AS-11/DPP) | No | Dedicated broadcast pipeline |
Common H.264 delivery bitrates by use
Representative targets you'll see on submission and delivery forms. Always defer to the actual spec document.
| Delivery context | Video kbps | Audio kbps |
|---|---|---|
| Web/festival 1080p submission | 8000 | 256 |
| 1080p house spec (mid) | 10000 | 192 |
| 720p broadcast review copy | 5000 | 192 |
| 4K H.264 submission | 35000 | 256 |
| SD 480p archive delivery | 2000 | 128 |
Tier limits
Video family limits from lib/tier-limits.ts. File-size and batch only; no duration cap.
| Tier | Max file size | Files per batch |
|---|---|---|
| Free | 1 GB | 1 |
| Pro | 10 GB | 5 |
| Pro-media | 100 GB | 50 |
| Developer | 100 GB | Unlimited |
Cookbook
Real-world delivery specs translated into the two numbers you type — and a note on which specs need a sibling encoder instead.
Festival submission: H.264 MP4, 8 Mbps / 256k AAC
A classic film-festival or stock-portal spec that this tool fits exactly.
Spec: H.264, MP4, 8 Mbps video, 256 kbps AAC, faststart Video kbps: 8000 Audio kbps: 256 ffmpeg -i master.mov -c:v libx264 -preset medium \ -b:v 8000k -maxrate 9600k -bufsize 16000k \ -c:a aac -b:a 256k -movflags +faststart out.mp4 QC: ffprobe should show ~8 Mbps, AAC 256k, faststart
Watch the units: 10 Mbps spec
The single most common spec mistake is typing the Mbps figure into a kbps field.
Spec: 10 Mbps video CORRECT -> Video kbps: 10000 WRONG -> Video kbps: 10 (= 10 kbit/s, fails QC instantly)
720p review copy at 5 Mbps
A lighter review/approval copy from a 1080p master (resize first if the spec wants 720p frames).
Step 1 (if 720p required): video-resizer -> 1280x720 Step 2: Video kbps 5000, Audio kbps 192 ffmpeg ... -b:v 5000k -maxrate 6000k -bufsize 10000k ... -c:a aac -b:a 192k -movflags +faststart
Stay just under a hard ceiling
When the spec says 'max 8 Mbps', leave headroom so single-pass drift doesn't push you over.
Spec: video MUST NOT exceed 8 Mbps Set: Video kbps 7600 (5% margin) Then QC the measured average; the auto maxrate caps peaks at 9120k but the average stays comfortably under 8M
Spec demands HEVC — wrong tool
Some OTT specs require H.265. This tool only does H.264, so route to the sibling.
Spec: HEVC Main10, 12 Mbps -> bitrate-setter cannot emit HEVC. Use h265-encoder, then set its bitrate target there. (/video-tools/h265-encoder)
Edge cases and what actually happens
Spec requires a codec other than H.264
Wrong toolThis tool always encodes H.264. A spec demanding HEVC/H.265, AV1, ProRes, or DNxHD cannot be met here. Use the H.265 encoder, AV1 encoder, or ProRes encoder, each of which has its own bitrate/quality controls.
Spec requires a broadcast wrapper (IMF, MXF/AS-11, DPP)
Not supportedOutput is always MP4. The tool does not author professional wrappers like IMF packages, MXF/AS-11, or DPP. Those need a dedicated broadcast packaging pipeline — the bitrate setter only handles the H.264 MP4 'mezzanine/review' tier of specs.
Spec requires a specific resolution or scan type
Wrong tool for that clauseBitrate setting doesn't change resolution, and there's no interlace/PsF control here. Resize with the video resizer and deinterlace with the deinterlacer first, then set bitrate.
Measured bitrate drifts a few percent off the spec number
ExpectedSingle-pass b:v targeting lands close but not exact. For a hard ceiling, set the target a few percent below the limit; for a minimum-bitrate spec, set a touch above. Always QC the measured average with MediaInfo/ffprobe.
Spec wants a non-AAC audio codec
Not supportedAudio is always re-encoded to AAC. A spec requiring PCM/WAV, AC-3, or Dolby can't be met by this tool. Extract/handle audio separately with the audio-track extractor and your audio pipeline.
Faststart required and you got it
SupportedEvery output uses -movflags +faststart, so the moov atom is at the front — which review portals frequently require. Confirm in MediaInfo (the IsStreamable / faststart indicator).
Master over the tier size cap
RejectedFree 1 GB / 1 file; Pro 10 GB / 5; Pro-media 100 GB / 50; Developer 100 GB / unlimited. A master above your cap is rejected before encode. There's no duration cap, only size.
Large 4K spec encode exhausts WASM memory
Memory limitHigh-bitrate 4K H.264 in-browser can hit the FFmpeg.wasm heap ceiling. Split into segments or work at 1080p where the spec allows.
Spec is satisfied by 'H.264 MP4 at X kbps'
SupportedThis is the sweet spot. For submission/web-delivery specs phrased as a codec (H.264), container (MP4), and bitrate, the bitrate setter meets every clause — just QC the numbers before you submit.
Frequently asked questions
Can this tool meet a full broadcast mezzanine spec?
Only the subset phrased as 'H.264 in MP4 at a given bitrate'. It does not produce ProRes/DNxHD, HEVC, or broadcast wrappers (IMF, MXF/AS-11, DPP). For those clauses you need the dedicated encoders or a professional packaging pipeline.
How do I convert an Mbps spec to the kbps field?
Multiply by 1000. 8 Mbps is 8000, 10 Mbps is 10000. Typing the small number (e.g. 8) produces 8 kbit/s and fails QC immediately.
Will it hit the exact bitrate the spec demands?
Single-pass targeting lands within a few percent. For a strict ceiling, set the target slightly below the limit; for a minimum, slightly above. Always verify the measured average with ffprobe or MediaInfo before submitting.
Does it support interlaced or PsF delivery?
No interlace/scan-type control exists here. Deinterlace first with the deinterlacer if your delivery target is progressive; true interlaced broadcast delivery needs a dedicated pipeline.
Can I get faststart, which my portal requires?
Yes — -movflags +faststart is applied on every encode automatically, so the moov atom is at the front. Confirm in MediaInfo's streamable/faststart indicator.
What if the spec needs a specific audio codec?
Audio is always AAC at your Audio kbps. Specs requiring PCM/WAV, AC-3, or Dolby can't be met here — handle audio with your own pipeline and the audio-track extractor.
Does it change resolution to match the spec?
No, resolution passes through. Resize to the required frame size with the video resizer before setting the bitrate.
What's the maximum bitrate for a high-end spec?
50000 kbps (50 Mbps) video, 320 kbps audio. That covers most H.264 4K submissions. Beyond that, specs usually call for HEVC or a mezzanine codec anyway.
Is constrained VBR acceptable for delivery specs?
Usually yes — most H.264 specs assume an average target with capped peaks, which is exactly what the auto -maxrate/-bufsize produces. If a spec explicitly mandates strict CBR, this tool's constrained VBR may not satisfy that clause.
Is my master uploaded for encoding?
No. Everything runs in your browser via FFmpeg.wasm, so a pre-release or embargoed master never leaves the tab. Free allows up to a 1 GB source.
How do I QC the result against the spec?
Open the output in MediaInfo or run ffprobe. Confirm overall video bitrate, audio bitrate, codec (AVC/H.264), container (MP4), and the faststart flag against each spec line item.
Which sibling tool for an HEVC delivery spec?
Use the H.265 encoder; for AV1 the AV1 encoder; for ProRes the ProRes encoder. Each has its own bitrate or quality target controls.
Privacy first
Every JAD Video tool runs entirely in your browser via WebCodecs and FFmpeg (WebAssembly). Your video files never leave your device — verified by zero outbound network requests during processing.