How to encode av1 for royalty-free streaming
- Step 1Confirm the licensing win applies to you — AV1 is royalty-free at the codec level. If H.265 licensing has been a cost or compliance concern for your distribution, AV1 removes that per-stream/per-device fee question entirely. Note: this is about the codec — your content and music licensing are separate.
- Step 2Start from a high-quality master — Encode each ABR rung from a clean master, not from another compressed rung. Drop the master into the AV1 encoder (read locally via off-screen
<video>; nothing uploads). - Step 3Encode each rung by pinning Bitrate — For an adaptive ladder, re-run the encoder once per rung with a pinned Bitrate (e.g. 8000 / 4500 / 2500 / 1200 / 600 kbps). Auto (0) gives a single resolution-based target, which isn't what a ladder needs — pin each rung explicitly. Max is 50000 kbps.
- Step 4Keep framerate consistent across rungs — Set the same Framerate for every rung (your source's real fps) so the ladder switches cleanly. Auto's 30 will mismatch a 24 or 60 fps source — type the real number.
- Step 5Encode on the GPU, mux locally — Each rung decodes the master and re-encodes to AV1 on the hardware encoder (keyframe every fps×2 — useful for segmenting). FFmpeg.wasm muxes the AV1 stream. Repeat per rung.
- Step 6Re-attach audio and segment in your packager — The output is video-only. Feed each AV1 rung plus your audio into your packager (Shaka, MP4Box, Bento4) to build DASH/HLS with AV1 video. For audio-bearing single files, the transcoder is the better starting point.
AV1 vs H.265 for streaming distribution
The decision is licensing vs reach. AV1 is royalty-free but younger in device support; H.265 is widely decodable but patent-encumbered.
| Factor | AV1 | H.265 (HEVC) |
|---|---|---|
| Codec licensing | Royalty-free (AOMedia) | Patent pools (Access Advance, Via LA) + per-device/per-stream fees |
| Compression | ~30% smaller than H.265 (JAD auto 0.04 b/px) | Baseline (JAD auto 0.06 b/px) |
| Device decode reach | Growing — newer phones/TVs/browsers | Very wide, including many older devices |
| Hardware encode support | Narrow (RTX 40 / Arc / M3+) | Wide (NVENC, QuickSync, VideoToolbox, AMF) |
| Best for | Cost-sensitive, modern-audience OTT/VOD | Maximum compatibility incl. legacy devices |
Example royalty-free AV1 ABR ladder (1080p source)
Encode one rung per Bitrate value. Resolution per rung is set by your master/source; this tool's lever is bitrate + fps. Pin each rung; do not use auto.
| Rung | Target Bitrate (pinned) | Typical use |
|---|---|---|
| 1080p high | 8000 kbps | Fast connections / TV |
| 1080p / 720p | 4500 kbps | Broadband desktop |
| 720p | 2500 kbps | Average mobile |
| 480p | 1200 kbps | Constrained mobile |
| 360p | 600 kbps | Lowest rung / poor networks |
Cookbook
Building a royalty-free AV1 streaming pipeline. Each rung is a separate encode with a pinned Bitrate; audio is added in your packager.
Top rung of an OTT ladder
The high-quality rung for fast connections. Pin the bitrate; set fps to the source's true value.
Source : 1080p master, 30 fps Settings: Bitrate 8000 (8 Mbps), Framerate 30 Result : AV1 video-only rung, royalty-free Next : add audio + segment in your packager
Low rung for poor networks
The floor of the ladder. Same fps, much lower bitrate for resilience on weak connections.
Source : 1080p master, 30 fps Settings: Bitrate 600 (0.6 Mbps), Framerate 30 Result : lightweight AV1 rung Note : keyframe every 60 frames (fps × 2) aids segmenting
VOD single-file delivery (auto bitrate)
For a simple progressive-download VOD file rather than a ladder, auto bitrate gives a small, quality-balanced AV1 file.
Source : 1080p, 30 fps Settings: Bitrate 0 (auto ≈ 2.5 Mbps), Framerate 30 Then : add audio + faststart for web via /video-tools/web-optimizer
Match framerate across rungs
All rungs must share the source fps so adaptive switching is seamless. The mistake is leaving some on auto.
Source : 60 fps live capture Every rung: Framerate 60 (not auto/30) Wrong : one rung at auto → 30 fps → switching glitches
Audio-bearing single file — use the transcoder
If you just need one AV1-ish delivery file with audio and don't want a packager, the transcoder keeps audio in one pass.
Need : single file, audio kept, no packager This tool: AV1 video-only rungs (audio added downstream) Alt : /video-tools/video-transcoder
Edge cases and what actually happens
Audio must be added downstream
By designThe hardware AV1 encoder emits a video-only stream. For DASH/HLS that's actually fine — audio is a separate track you mux in your packager — but you must remember to add it. For single-file delivery with audio, use the transcoder.
Used auto bitrate for a ladder
Wrong tool configAuto produces one resolution-based target, not a ladder of distinct bitrates. For ABR, re-run the encoder per rung with a pinned Bitrate. Auto is for a single delivery file, not a multi-rung ladder.
Device-reach gap vs H.265
Compatibility trade-offAV1 decode support, while growing fast, is narrower than H.265 on older devices and some TVs. For audiences with legacy hardware, ship an H.265 (or H.264) rung alongside AV1 — encode those with the H.265 encoder.
No hardware AV1 encoder
Not availableHardware-only encode: without AV1 encode silicon (RTX 40-series / Arc / Apple M3+) the tool throws 'Hardware encoding for AV1 is not available on this device.' There's no software AV1 fallback. Encode on qualifying hardware, or ship H.265.
Codec licensing vs content licensing
Scope noteAV1 being royalty-free covers the video codec only. Music, fonts, stock footage, and other content licensing in your stream are entirely separate — switching to AV1 doesn't change those obligations.
Keyframe alignment for segmenting
ExpectedKeyframes are forced every fps×2 frames (a 2-second interval at the chosen fps), which is convenient for HLS/DASH 2-second segments. There's no per-segment GOP control beyond setting fps; for tighter segment alignment you may need a dedicated packager pass.
Container for packager ingest
Re-muxOutput downloads as <name>-av1.mp4. Most packagers prefer AV1 in MP4/fMP4 or MKV; if yours rejects this file, re-mux without re-encoding via the web optimizer or transcoder before segmenting.
10-bit HDR streaming source
8-bit outputThe encoder uses an 8-bit AV1 Main profile (av01.0.04M.08); HDR/10-bit is not preserved. For HDR OTT you need a 10-bit AV1 pipeline outside this hardware path.
Encoding a full ladder
SupportedEach rung is a separate encode; on Pro + Media each streams to disk, so encoding a five-rung ladder doesn't accumulate in RAM. Single file per encode — run them sequentially.
Requires Pro + Media tier
Tier gateHardware AV1 encode is gated to the Pro + Media tier. Free/Pro tiers can't run it. Streaming operators building ladders will want that plan; per-file ceiling is 100 GB streaming.
Frequently asked questions
Is AV1 really royalty-free?
Yes — AV1 is developed by the Alliance for Open Media and licensed royalty-free, which is precisely why streaming giants (Netflix, YouTube, Meta, Amazon) adopted it. It avoids H.265's patent-pool licensing and the per-device/per-stream fees those pools charge.
How much can AV1 save over licensed H.265?
Two ways: licensing cost (AV1 has none at the codec level) and bandwidth — AV1's auto target is ~0.04 bits/pixel vs H.265's 0.06, roughly a third less data at matched quality. For high-volume streaming both add up.
Can I build an adaptive (ABR) ladder with this tool?
Yes — encode each rung separately, pinning the Bitrate field per rung (e.g. 8000/4500/2500/1200/600 kbps) and keeping Framerate constant. Then add audio and segment in your packager. Don't use auto bitrate for a ladder.
Why is the output video-only?
The hardware AV1 path encodes video frames and muxes just the video stream. For DASH/HLS that's fine — you add audio as a separate track in your packager. For a single delivery file with audio, use the transcoder.
What about devices that can't decode AV1?
AV1 decode is narrower than H.265 on older devices. Best practice for streaming is to ship an AV1 ladder plus an H.265/H.264 fallback ladder. Encode the fallback with the H.265 encoder.
Does royalty-free mean my whole stream is license-free?
No — only the video codec. Music, stock footage, fonts, and other content carry their own licensing. AV1 removes the codec patent question, nothing else.
Do keyframes line up with my segments?
Keyframes are forced every fps×2 frames — a 2-second interval at the chosen fps — which suits 2-second HLS/DASH segments. For other segment durations, align via your packager.
Do I need special hardware?
Yes — AV1 hardware encode needs an RTX 40-series, Intel Arc, or Apple M3/M4. Without it the tool refuses (no software fallback). H.265 has much broader hardware-encode support if your encoding machines are older.
Is anything uploaded to JAD?
No. Masters and rungs are encoded in your browser on your GPU and never reach a server. Only the files you choose to publish leave your control.
Can I do 10-bit / HDR AV1 streams here?
No — this tool encodes 8-bit AV1 Main (av01.0.04M.08). HDR/10-bit streaming requires a separate 10-bit AV1 pipeline.
Why does each rung have to be a separate encode?
Because the tool's lever is a single Bitrate value per run. AV1 encode is single-file, so re-run it once per ladder rung with the appropriate pinned bitrate.
What plan do I need?
Pro + Media for hardware AV1 encode and streaming-to-disk. The per-file video ceiling there is 100 GB streaming.
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.