# YouTube Codecs Explained: H.264 vs VP9 vs AV1

Source: https://b-roll-6hk.pages.dev/formats/youtube-codecs-h264-vp9-av1/
Published: 2026-09-25
Updated: 2026-09-25
Author: Ema Zamboni, video editor (https://b-roll-6hk.pages.dev/about/)
Section: Formats (https://b-roll-6hk.pages.dev/formats/)

**In short:** As of September 2026, YouTube streams video in three long-GOP delivery codecs: H.264, VP9 and AV1. B-ROLL has no codec setting, so yt-dlp picks the stream, and its default ranking puts AV1 first, then VP9, then H.264. VP9 and AV1 are heavy to decode on a timeline; a ProRes or DNxHR copy edits smoothly.

## Which codecs does YouTube use?

YouTube streams video in three codecs: H.264, VP9 and AV1. As of September 2026, one video is often offered in more than one of them at the same resolution, and the codec a download gets depends on the video, the resolution and the tool that picks the stream.

All three are long-GOP delivery codecs, built to keep streams small, not to be cut. The table maps each codec to the code yt-dlp prints for it, the container YouTube usually wraps it in, what DaVinci Resolve 20 on Windows decodes according to [Blackmagic Design's supported codec list](https://documents.blackmagicdesign.com/SupportNotes/DaVinci_Resolve_20_Supported_Codec_List.pdf) (July 2025), and whether you should transcode before editing.

| Codec | Code in yt-dlp's format list | Where YouTube uses it | YouTube container | DaVinci Resolve 20 on Windows | Before editing |
| --- | --- | --- | --- | --- | --- |
| H.264 (AVC) | Starts with `avc1` | Depends on the video and resolution | Usually MP4 | Decodes 8-bit profiles in MP4, MOV and MKV; more profiles and GPU acceleration in Studio | Often fine at 1080p; transcode for 4K or heavy grading |
| VP9 | Starts with `vp09` | Depends on the video and resolution | Usually WebM | Decodes VP9 in MP4 and MOV and lists VP9 in MKV; the list has no WebM entry | Transcode to ProRes or DNxHR |
| AV1 | Starts with `av01` | Depends on the video and resolution | Usually MP4 | Decodes AV1 in MP4, MOV and MKV, GPU accelerated | Transcode to ProRes or DNxHR |
| ProRes or DNxHR | Not applicable | Not served by YouTube; B-ROLL converts to it | MOV | Decodes Apple ProRes and DNxHR in MOV | Ready to edit |

Audio follows the same logic: YouTube serves Opus or AAC, and Blackmagic's list shows Opus decoding in MOV and MP4. The codec question is practical, not academic. On Ema Zamboni's own DaVinci Resolve Studio timelines on Windows 11, 4K60 AV1 footage from YouTube was heavy to play back, and AV1 or VP9 downloads crashed Resolve at times. The wider picture of containers and edit formats lives in [codecs and formats for editing YouTube footage](https://b-roll-6hk.pages.dev/formats/).

[Download B-ROLL for Windows](https://b-roll-6hk.pages.dev/download/): free, Windows 10 and 11 today, macOS and Linux planned. No account, no ads.

## What is H.264?

H.264 is a video coding standard that ITU-T published as [Recommendation H.264, "Advanced video coding for generic audiovisual services"](https://www.itu.int/rec/T-REC-H.264), first approved in May 2003 and also called AVC. H.264 is the codec inside many camera, phone and web MP4 files.

H.264 is the oldest of YouTube's three codecs and the lightest to decode. Graphics cards and processors have decoded it in hardware for years, so a 1080p H.264 file often plays in an editor without a transcode.

H.264 is still long-GOP: most frames are stored as changes from other frames, so scrubbing backward and cutting between keyframes costs decode work. DaVinci Resolve 20 on Windows decodes 8-bit H.264 profiles that Windows supports, and Blackmagic reserves more profiles and GPU acceleration for DaVinci Resolve Studio.

A B-ROLL download rarely holds H.264. yt-dlp ranks it after AV1 and VP9 when streams tie on resolution and frame rate, so H.264 wins only when no newer codec is offered at that size.

## What are VP9 and AV1?

VP9 and AV1 are the newer, more efficient codecs YouTube streams alongside H.264. VP9 is the WebM Project's open video codec, [available since June 17, 2013](https://www.webmproject.org/vp9/). AV1 came later, from an industry group rather than a single project.

AV1 is an open, royalty-free video codec from the Alliance for Open Media, efficient for streaming and heavy to decode for editing. The alliance describes it on its [AV1 specification page](https://aomedia.org/specifications/av1/) as a codec with greater efficiency than previous codecs, aimed at high-resolution video such as 4K and 8K. The current document is the AV1 Bitstream and Decoding Process Specification, version 1.0.0 with errata 1.

Both codecs trade decoding effort for smaller files. They reach a given picture quality with fewer bits than H.264, which suits a streaming platform paying for bandwidth. The cost moves to the device that plays the file, and in an editor that device is your workstation, decoding every frame you scrub past.

VP9 and AV1 also carry container baggage. YouTube usually serves VP9 in WebM, a container many editing apps do not import, and pairs VP9 or AV1 with Opus audio, which some editors accept only in certain containers.

## Which codec will a B-ROLL download contain?

B-ROLL has no codec setting; yt-dlp picks the stream, usually AV1 or VP9. B-ROLL asks yt-dlp for the best video under your Quality cap plus the best audio, and yt-dlp's default ranking decides which codec that is.

According to the [yt-dlp README](https://github.com/yt-dlp/yt-dlp), the default sort compares language, quality, resolution, frame rate and HDR first, then the video codec in the order `av01`, `vp9.2`, `vp9`, `h265`, `h264`. Audio ranks `opus` above `aac`. As of September 2026, that ranking means a B-ROLL MP4 usually holds AV1 or VP9 video with Opus audio, not H.264 with AAC.

The Format menu only chooses the container. **MP4**, **MKV** and **WEBM** wrap whatever streams yt-dlp picked, and **ProRes** or **DNx** first save an MKV master, then convert it. Clips can differ: B-ROLL prefers YouTube's HLS streams for clip downloads, because seeking deep into a long video could stall, so a clip and a full download of one video may not share a codec.

B-ROLL cards show the real bitrate and resolution of each file, not the codec. To read the codec before downloading, list the streams with the yt-dlp copy B-ROLL keeps in its data folder:

```powershell
& "$env:LOCALAPPDATA\Broll\yt-dlp.exe" -F "https://www.youtube.com/watch?v=VIDEO_ID"
```

The VCODEC column shows `avc1`, `vp09` or `av01` for every stream. After the download, check the codec inside your editor, as shown in [YouTube video choppy in DaVinci Resolve? AV1 and VP9 fix](https://b-roll-6hk.pages.dev/troubleshooting/av1-choppy-davinci-resolve/). The bitrate side of the same question is in [what bitrate YouTube streams at 1080p and 4K](https://b-roll-6hk.pages.dev/formats/youtube-video-bitrate/).

## Why are VP9 and AV1 hard to edit?

VP9 and AV1 are hard to edit because they are long-GOP codecs with complex prediction, so an editor must decode many frames to show the one under the playhead. Scrubbing, reverse playback and cuts between keyframes multiply that work.

A long-GOP codec stores complete frames only at intervals and describes the frames between them as changes. Playing forward is manageable; jumping to a frame in the middle of a group means decoding back from the last complete frame first. [Why H.264 and AV1 are hard to edit: long-GOP explained](https://b-roll-6hk.pages.dev/formats/long-gop-vs-intraframe/) covers the mechanism in detail.

AV1 adds decoding complexity on top of the long-GOP structure. Blackmagic's list marks AV1 decoding in DaVinci Resolve 20 on Windows as GPU accelerated, so the experience depends on whether your graphics card decodes AV1 in hardware. At 4K60, every second of footage asks for 60 of those decodes.

The symptoms differ by editor. In DaVinci Resolve they range from stutter to a clip that will not play; [DaVinci Resolve media offline on a YouTube video](https://b-roll-6hk.pages.dev/troubleshooting/resolve-media-offline-youtube/) separates codec problems from moved files. Premiere Pro can reject VP9 outright with a compression error naming VP09, which [Premiere Pro VP09 not compatible: fix for YouTube files](https://b-roll-6hk.pages.dev/troubleshooting/premiere-pro-vp09-unsupported/) explains.

## What should editors download instead of VP9 or AV1?

Editors should download an intraframe ProRes or DNxHR copy instead of the raw VP9 or AV1 stream. In B-ROLL, pick **ProRes** or **DNx** in the Format menu: the app downloads the video, then converts it automatically into a `.mov` that stores every frame whole.

The conversion keeps the source resolution and frame rate, writes 16-bit PCM audio, and picks the lightest ProRes or DNxHR tier whose data rate is at least 10 times the source bitrate. DNxHR uses HQX for 10-bit sources. [Download YouTube videos in ProRes or DNxHR](https://b-roll-6hk.pages.dev/features/youtube-to-prores-dnxhr/) covers the tiers and the files you get.

A transcode does not recover detail YouTube's encode removed; it changes how cheaply your editor can decode the same picture. The conversion also runs after the download, uses every CPU core, and produces files far larger than the MP4.

MP4 still has a place: keep it for a reference bin or a quick look, and convert the clips that go on the timeline. [Best format to download YouTube videos for editing](https://b-roll-6hk.pages.dev/formats/best-format-for-editing-youtube/) weighs MP4, MKV, ProRes and DNxHR by editing goal.

> **Careful:** Download only footage you have the right to use: your own uploads, Creative Commons, licensed or permitted material.

## Frequently asked questions

Q: Is AV1 better quality than VP9?
A: Only when both streams get the same bitrate. The Alliance for Open Media designed AV1 to compress more efficiently than earlier codecs, so an AV1 stream can keep more detail per megabit than a VP9 stream. The picture in a YouTube download still depends mostly on the bitrate YouTube gave that stream, and B-ROLL shows the real bitrate on every card. Compare streams in [what bitrate YouTube streams at 1080p and 4K](https://b-roll-6hk.pages.dev/formats/youtube-video-bitrate/).

Q: Can I choose H.264 in B-ROLL?
A: No. B-ROLL has no codec setting: yt-dlp picks the stream, and among streams that tie on resolution, frame rate and HDR it ranks AV1 first, VP9 second and H.264 later. For a file every editor handles, pick ProRes or DNx in the Format menu and B-ROLL converts the download. The details are in [download YouTube videos in ProRes or DNxHR](https://b-roll-6hk.pages.dev/features/youtube-to-prores-dnxhr/).

Q: Does my GPU decode AV1?
A: Only if its video engine includes an AV1 decoder, which older graphics cards lack. Check the video decode section of your GPU maker's specification page for AV1. Blackmagic Design lists AV1 decoding in DaVinci Resolve 20 on Windows as GPU accelerated, so a card without AV1 decode leaves the work to your processor. The playback fixes are in [YouTube video choppy in DaVinci Resolve](https://b-roll-6hk.pages.dev/troubleshooting/av1-choppy-davinci-resolve/).

## Sources

1. [ITU-T Recommendation H.264: Advanced video coding for generic audiovisual services](https://www.itu.int/rec/T-REC-H.264)
2. [WebM Project: VP9](https://www.webmproject.org/vp9/)
3. [Alliance for Open Media: AV1 specification](https://aomedia.org/specifications/av1/)
4. [Blackmagic Design: DaVinci Resolve 20 supported codec list (PDF, July 2025)](https://documents.blackmagicdesign.com/SupportNotes/DaVinci_Resolve_20_Supported_Codec_List.pdf)
5. [yt-dlp README: format selection and sorting](https://github.com/yt-dlp/yt-dlp)

---

B-ROLL is a free, donation-supported desktop YouTube downloader for video editors: it downloads videos, clips, playlists and channels, converts them automatically into edit-ready ProRes or DNxHR (or saves MP4, MKV, WEBM or audio), and includes built-in trimming, subtitles and automatic creator credit files. Part of [Codecs and Formats for Editing YouTube Footage](https://b-roll-6hk.pages.dev/formats/) on the B-ROLL website. Download B-ROLL, free for Windows 10 and 11 (macOS and Linux planned): https://b-roll-6hk.pages.dev/download/
