
H.264 vs H.265: A Video Encoding Guide for 3D Artists
Overview
When we render 3D assets in After Effects, Blender, or Cinema 4D, we're working with either video files or image sequences. The final step—encoding those renders into a deliverable format—often determines whether clients will actually use our work and whether it'll stream smoothly across platforms. After Effects CC 2014+ removed direct video exporters, which forced many artists to learn encoding workflows in tools like Adobe Media Encoder or FFmpeg. Today, we're facing more codec choices than ever: H.264 remains the industry standard, H.265 offers better compression, and AV1 is emerging as the future-proof option. In this guide, we'll walk through the practical encoding decisions we make at our farm, from understanding codec differences to configuring render outputs for seamless export.
| Spec | H.264 (AVC) | H.265 (HEVC) |
|---|---|---|
| Full name | H.264 / MPEG-4 AVC (Advanced Video Coding) | H.265 / MPEG-H HEVC (High Efficiency Video Coding) |
| Year released | 2003 | 2013 |
| Compression efficiency | Baseline — industry standard since 2003 | ~40–50% smaller files than H.264 at equivalent perceived quality |
| Bitrate (1080p, same quality) | 8–10 Mbps (CRF 18–20) | 4–5 Mbps (CRF 20–24) |
| File size (10-min 1080p sample) | ~700 MB at 10 Mbps | ~350–400 MB at 5 Mbps |
| Encoding speed / CPU load | Fast — lighter CPU load; hardware encoders (NVENC, QuickSync) are mature | ~2–5x slower in software; newer NVENC/QuickSync handle it, but slower than H.264 |
| Decoding / playback support | ~98% of devices, browsers, and players | ~85% — limited on older hardware, some Chrome/Firefox builds, older Android |
| Typical use cases | Client delivery, web, social, maximum-compatibility portfolios | 4K archival, internal storage, portfolio on modern devices, bandwidth-constrained streaming |
| License / royalty | Patent pool (MPEG LA) — complex for commercial use, mostly handled by OS/browser vendors | More complex patent pool (multiple pools) — historically slowed adoption; royalty-free alternatives (AV1) emerging |
Understanding Video Codecs: What We Actually Need
A codec is a compression algorithm. It defines how video data gets squeezed into smaller files without (ideally) losing visual quality that matters for our work. The three codecs dominating 3D artist workflows are H.264, H.265, and AV1. ProRes occupies a different niche—it's designed for editing and post-production, not delivery, but we'll cover it since render farm outputs sometimes use it as an intermediate format.
H.264 (MPEG-4 AVC): Released in 2003, H.264 is still the most widely supported codec across devices, platforms, and streaming services. Nearly every phone, browser, and media player understands H.264. For client deliverables where we have no control over playback environment, H.264 is the safe choice. The trade-off: it's not the most efficient. A 4K H.264 file at broadcast quality is larger than the same content in H.265.
H.265 (HEVC): The newer standard from 2013 offers approximately 50% better compression than H.264 at equivalent visual quality. For archival, portfolio work, and internal storage, H.265 is compelling—we save significant hard drive space. However, H.265 patent licensing is more complex, and some devices (particularly older hardware and certain browsers) don't support it natively.
AV1: Developed by the Alliance for Open Media, AV1 is royalty-free and delivers compression between H.265 and H.264 depending on bitrate. It's gaining adoption on YouTube and streaming platforms, but encoding is CPU-intensive and playback support is still rolling out on consumer devices. For future-proofing content, AV1 is worth learning.
ProRes: Not a delivery codec, but a professional intermediate format. ProRes files are larger than H.264 or H.265, but they're designed for fast editing and color grading. We use ProRes when our output is heading into a post-production pipeline, not directly to clients.
Codec Comparison: When We Use What
| Codec | Compression | Device Support | Use Case | Bitrate (1080p) |
|---|---|---|---|---|
| H.264 | Standard | Excellent (98%+) | Web, client delivery, archives | 5–12 Mbps |
| H.265 | 50% better | Good (85%) | Portfolio, internal storage, 4K | 2.5–6 Mbps |
| AV1 | Similar to H.265 | Emerging (60%) | YouTube, future-proofing | 1.5–4 Mbps |
| ProRes 422 HQ | Large | Editing systems | Intermediate/post-production | 80–150 Mbps |
Choosing Your Codec by Delivery Context
Client Delivery & Web: Default to H.264. Clients don't ask what codec we used—they ask if it plays. H.264 plays everywhere. We encode at 8–10 Mbps for 1080p, 15–20 Mbps for 4K, adjusting based on content complexity (motion, particle effects, fine detail).
Portfolio & Self-Promotion: H.265 if our audience uses modern devices (likely for design/creative portfolios). We save 40–50% storage without visible quality loss. If distribution is uncertain, stick with H.264.
Archival & Render Farm Output: H.265 or ProRes. When we store renders long-term, compression matters. H.265 gives us efficient archival; ProRes gives us editing-friendly intermediate files if the content will be used in post.
YouTube & Streaming Platforms: H.264 for maximum reach, though YouTube accepts H.265 and AV1. We've started encoding critical portfolio pieces in AV1 alongside H.264—it's future-proofing with minimal overhead once encoding is done.
Exporting Video from After Effects & Media Encoder
After Effects CC 2014+ doesn't include direct video exporters. Instead, we use Adobe Media Encoder as a separate application, which handles encoding tasks for After Effects, Premiere Pro, and standalone projects.
Workflow: After Effects → Queue for Media Encoder → Media Encoder applies encoding settings → Encoded video file.
Open After Effects, right-click your composition in the timeline, and select "Add to Adobe Media Encoder Queue." Media Encoder launches automatically (or opens if already running). In Media Encoder, select your composition in the queue and click the preset dropdown next to "Format."
Adobe ships presets for H.264 (called "High Quality 1080p" or similar) and ProRes. These presets are safe defaults, but we usually customize them:
For H.264 Web Delivery (1080p):
- Format: H.264
- Preset: Custom
- Bitrate: 10 Mbps (variable)
- Frame rate: Match composition (typically 24p or 30p)
- Keyframe interval: Every 2 seconds (120 frames at 60fps)
For H.265 Portfolio (1080p):
- Format: HEVC (H.265)
- Bitrate: 5 Mbps variable
- Profile: Main
- Frame rate: Match source
- Keyframe interval: Every 2 seconds
In the right panel, click "Export Settings" to customize bitrate, frame rate, and other parameters. Always set bitrate to "Variable" (VBR) rather than constant—variable bitrate allocates more bits to complex scenes and fewer to simple ones, improving perceived quality at the same average bitrate.
Media Encoder queues multiple compositions. We often render an entire project's worth of assets, set encoding jobs overnight, and review the output the next morning. This is one of our farm's staple workflows: render all client deliverables simultaneously in After Effects, queue them all in Media Encoder, and walk away.
Encoding Image Sequences from Blender
Blender renders typically output as image sequences (EXR, OpenEXR, or PNG frames) rather than video files. Blender does have video export options, but they're limited—the real power comes from Blender's compositing or external encoding tools.
Within Blender: In the Output properties, set your image format (EXR for maximum quality and dynamic range). Render your sequence. Then, in the VSE (Video Sequence Editor), import your image sequence as a strip, apply color correction or effects if needed, and export as H.264 or other formats directly from the VSE.
Blender's VSE Export Settings:
- Go to Render → Output Format
- Codec: H.264 (or FFmpeg codecs if FFmpeg is installed)
- Bitrate: 8000–15000 kbps for 1080p
- Container: MP4 or Matroska (MKV)
- Preset: Slower encoding = better quality (trade CPU time for file size)
For professional render farm work, we usually don't encode in Blender—we export the EXR sequence and encode externally with FFmpeg or Media Encoder, where we have finer control.
Batch Encoding with FFmpeg
FFmpeg is the backbone of our automated encoding pipelines. It's command-line based, free, and handles nearly every codec combination we might need. For render farms processing hundreds of shots, FFmpeg scripts are indispensable.
Basic H.264 encoding from an image sequence:
ffmpeg -framerate 24 -i frame_%04d.exr -c:v libx264 -crf 18 -preset slow output.mp4
This command takes a numbered frame sequence (frame_0001.exr, frame_0002.exr, etc.), encodes at 24fps with H.264, quality level 18 (lower = better, 0–51 scale), and uses slow encoding (more compression). The output is an MP4 file.
H.265 encoding (higher compression):
ffmpeg -framerate 24 -i frame_%04d.exr -c:v libx265 -crf 20 -preset slow output.mp4
CRF (Constant Rate Factor) is a quality scale. For H.264, CRF 18–22 gives broadcast quality. For H.265, use CRF 20–26 for similar perceived quality (H.265 is more efficient, so the same CRF value looks slightly worse).
AV1 encoding (slower but future-proof):
ffmpeg -framerate 24 -i frame_%04d.exr -c:v libaom-av1 -crf 30 -preset 4 output.mp4
AV1 CRF values run 0–63 (higher = lower quality). CRF 28–35 is typical for quality work. Presets 0–8 control encoding speed; preset 4 is a reasonable balance between quality and encoding time.
Encoding with explicit bitrate (instead of CRF):
ffmpeg -framerate 24 -i frame_%04d.exr -c:v libx264 -b:v 10M output.mp4
The -b:v 10M flag sets bitrate to 10 Mbps. This is useful when you have strict file size requirements or when working with clients who specify bitrate targets.
FFmpeg can also read from video files, not just sequences. To transcode an existing H.264 file to H.265:
ffmpeg -i input.mp4 -c:v libx265 -crf 20 -preset slow output.mp4
Bitrate and Quality Settings for Different Purposes
Bitrate is the amount of data encoded per second, measured in kilobits per second (kbps) or megabits per second (Mbps). Higher bitrate = larger files but better quality. Our farm sets bitrate based on content type:
1080p H.264 Delivery Bitrates:
- Minimal quality (social media, preview): 3–5 Mbps
- Standard quality (web, portfolio): 8–10 Mbps
- High quality (broadcast, archival): 12–15 Mbps
4K H.264 Delivery Bitrates:
- Standard: 25–30 Mbps
- High quality: 35–50 Mbps
H.265 Bitrates (reduce by ~50% for equivalent quality):
- 1080p standard: 4–5 Mbps
- 1080p high: 6–8 Mbps
- 4K standard: 12–15 Mbps
- 4K high: 18–25 Mbps
When in doubt, we encode a 10-second test clip at multiple bitrates, compare them on the actual playback device, and choose the lowest bitrate where quality is visually acceptable. This is faster than guessing and helps us calibrate settings for each client's expectations.
Handling Render Farm Output: From Sequences to Video
Our farm renders thousands of frames daily. The pipeline is: render engine → image sequence (EXR) → distributed storage → batch encoding → final deliverable.
Each render job outputs a numbered frame sequence: render_shot_001_0001.exr, render_shot_001_0002.exr, etc. We then run encoding jobs that convert these sequences into H.264, H.265, or ProRes files. For efficiency, we encode multiple shots in parallel across farm nodes.
A typical farm encoding script:
#!/bin/bash
for shot in /farm/renders/shot_*/; do
shotname=$(basename "$shot")
ffmpeg -framerate 24 \
-i "$shot/frame_%04d.exr" \
-c:v libx264 -crf 18 -preset slow \
"/deliverables/${shotname}_final.mp4" &
done
wait
This loops through all shot directories, encodes each one, and runs them in parallel (the & at the end of each ffmpeg line sends it to the background). The wait command ensures the script waits for all encoding jobs to complete before finishing.
For large-scale operations, we use FFmpeg with hardware acceleration (NVIDIA NVENC or AMD VCE) when available, which drastically reduces encoding time. Hardware encoders trade some compression efficiency for speed, but on a farm processing hundreds of shots, the time savings justify the trade-off.
Practical Encoding Settings Summary
When we're setting up encoding for a new project:
- Confirm delivery constraints: Does the client specify codec? What devices will play it? Is file size a concern?
- Choose your codec: H.264 for maximum compatibility, H.265 for efficiency, AV1 for future-proofing.
- Set quality level: Use CRF for perceptual quality, bitrate for file size targets.
- Test on playback hardware: Always encode a short test sequence and play it on the actual target device.
- Document your settings: Save your ffmpeg commands or Media Encoder presets for reuse. Consistency across projects matters.
For 1080p H.264 web delivery, we default to CRF 18–20 or 8–10 Mbps variable bitrate. For 4K, we use 35–40 Mbps. These settings consistently produce files that clients accept without requesting re-encodes.
FAQ
Q: Is H.265 better than H.264? A: H.265 is more efficient than H.264 — it produces roughly 40–50% smaller files at equivalent perceived quality. That makes H.265 the better choice for archival, 4K work, and storage-constrained pipelines. H.264 remains the better choice for client delivery and web playback because it is supported on nearly every device and browser, while H.265 still has gaps on older hardware and some browsers. "Better" depends on whether you are optimizing for file size or for compatibility.
Q: Which is faster to render, H.264 or H.265? A: H.264 encodes significantly faster than H.265 on the same hardware — roughly 2 to 5 times faster in software encoders, because H.265 uses more complex algorithms to achieve its compression gains. Hardware encoders (NVIDIA NVENC, Intel QuickSync, AMD VCE) narrow the gap, but H.264 still finishes first in most workflows. On our farm, we default to H.264 for high-volume batch encoding where throughput matters, and switch to H.265 only when file size is the constraint.
Q: Should I use H.264 or H.265 for 3D animation delivery? A: For client delivery, use H.264 unless the client specifies otherwise — it plays on every device without codec headaches. For portfolio work aimed at designers and agencies using modern hardware, H.265 is fine and saves roughly half the storage. For 4K animation or long-form sequences headed to archive, H.265 is the more practical choice because the file-size savings compound over hundreds of shots.
Q: Does H.265 have smaller file sizes than H.264? A: Yes. At the same perceived visual quality, H.265 files are typically 40 to 50 percent smaller than H.264 files. A 10-minute 1080p clip that encodes to roughly 700 MB in H.264 at 10 Mbps will encode to around 350 to 400 MB in H.265 at 5 Mbps with comparable quality. The savings are even larger at 4K, which is why H.265 became the default for 4K streaming and Blu-ray.
Q: What render engines and 3D applications export directly to H.265? A: Most 3D applications export image sequences rather than video, so H.265 encoding usually happens in a separate step. Adobe Media Encoder supports H.265 (HEVC) if the HEVC codec is installed on the system. Blender can output H.265 through its FFmpeg-backed VSE if FFmpeg is built with libx265. DaVinci Resolve supports H.265 export natively. For render farm pipelines, the most common route is to render EXR or PNG sequences and then encode to H.265 using FFmpeg with the libx265 encoder.
Q: Can I encode H.265 directly from After Effects? A: After Effects itself does not export video — it hands off to Adobe Media Encoder. Media Encoder supports H.265 (HEVC) only if the HEVC codec is installed on the host operating system. On macOS, HEVC support ships with the OS; on Windows, it requires the paid HEVC Video Extensions from the Microsoft Store. If HEVC is not available, render to ProRes or a lossless intermediate and transcode to H.265 with FFmpeg as a second step.
Related Reading: For more on squeezing time out of render jobs, see our guide to render time optimization. If you are evaluating remote rendering for encoding-heavy workflows, our cloud rendering overview explains how the pipeline works end to end. For deeper background on the rendering step itself, see the 3D rendering process.
External Resources: For detailed FFmpeg codec documentation, visit the FFmpeg H.264 Encoding Guide and the AV1 Codec Specification. Adobe's Media Encoder documentation covers export presets and custom configurations.


