Skip to main content
🇪🇸 Español 🇧🇷 Português 🇩🇪 Deutsch
Image Converter Video Converter Audio Converter Document Converter
Tools Guides Formats Pricing API
Log In
Guide

H.264/AVC Video Codec: Complete Technical Guide

PC By Pablo Cirre

Frequently Asked Questions

CRF (Constant Rate Factor) controls quality in x264. The scale runs from 0 (lossless) to 51 (worst quality), with 23 as the default. For archival or high-quality masters, CRF 18 is considered "visually lossless" — most viewers cannot distinguish it from the original. CRF 20-23 is excellent for most content. CRF 24-28 is acceptable for casual viewing or streaming where file size matters. For web upload to platforms like YouTube (which re-encodes your video anyway), CRF 20 with the "slow" preset gives a clean source that survives re-encoding well. Never go above CRF 28 for video that will be distributed.

CRF (Constant Rate Factor) controls quality in x264. The scale runs de 0 (lossless) to 51 (worst quality), com 23 como o default. para archival ou alta-quality masters, CRF 18 is considered "visually sem perdas" — most viewers cannot distinguish it de the original. CRF 20-23 is excellent para most content. CRF 24-28 is acceptable para casual viewing ou streaming where tamanho do arquivo matters. para web enviar to plataformas like YouTube (which re-encodes your video anyway), CRF 20 com the "slow" preset gives a clean source that survives re-encoding well. Never go above CRF 28 para video that will be distributed.

CRF (Constant Rate Factor) controls quality in x264. The scale runs von 0 (lossless) to 51 (worst quality), mit 23 als das default. für archival oder hoch-quality masters, CRF 18 is considered "visually verlustfrei" — most viewers cannot distinguish it von the original. CRF 20-23 is excellent für most content. CRF 24-28 is acceptable für casual viewing oder streaming where Dateigröße matters. für web hochladen to Plattformen like YouTube (which re-encodes your video anyway), CRF 20 mit the "slow" preset gives a clean source that survives re-encoding well. Never go above CRF 28 für video that will be distributed.

CRF (Constant Rate Factor) controls quality in x264. The scale runs de 0 (lossless) to 51 (worst quality), con 23 como el default. para archival o alta-quality masters, CRF 18 is considered "visually sin pérdidas" — most viewers cannot distinguish it de the original. CRF 20-23 is excellent para most content. CRF 24-28 is acceptable para casual viewing o streaming where tamaño de archivo matters. para web subir to plataformas like YouTube (which re-encodes your video anyway), CRF 20 con the "slow" preset gives a clean source that survives re-encoding well. Never go above CRF 28 para video that will be distributed.

AV1 is the most efficient (royalty-free, ~30% smaller than H.265) but encoding is slow. H.265 (HEVC) saves ~30–50% over H.264 and is supported by every modern phone and desktop. H.264 remains the safest baseline for legacy compatibility. Rule of thumb: archives → AV1, daily use → H.265, broadest reach → H.264.

H.264 profiles define which encoding features are used. Baseline Profile uses the simplest tools: no B-frames, no CABAC entropy coding, maximum 2 reference frames. It was designed for low-power devices like older phones and hardware video calling. Main Profile adds B-frames and CABAC, improving compression 10-15%. High Profile adds 8×8 intra DCT transforms and custom quantization matrices for another 5-10% efficiency gain. All modern devices support High Profile. When encoding for distribution, always use High Profile unless you specifically need to target very old hardware (pre-2008 phones or early set-top boxes).

H.264 profiles define which codificação features are used. Baseline Profile uses the simplesst ferramentas: no B-frames, no CABAC entropy coding, máximo 2 reference frames. It was designed para baixa-power devices like older phones e hardware video calling. Main Profile adds B-frames e CABAC, improving compressão 10-15%. alta Profile adds 8×8 intra DCT transforms e custom quantization matrices para another 5-10% efficiency gain. All dispositivos modernoos support alta Profile. When codificação para distribution, always usar alta Profile unless you specifically precisar target very old hardware (pre-2008 phones ou early set-top boxes).

H.264 profiles define which Codierung features are used. Baseline Profile uses the einfachst Werkzeuge: no B-frames, no CABAC entropy coding, maximal 2 reference frames. It was designed für niedrig-power devices like older phones und hardware video calling. Main Profile adds B-frames und CABAC, improving Komprimierung 10-15%. hoch Profile adds 8×8 intra DCT transforms und custom quantization matrices für another 5-10% efficiency gain. All moderne Geräte support hoch Profile. When Codierung für distribution, always verwenden hoch Profile unless you specifically need to target very old hardware (pre-2008 phones oder early set-top boxes).

H.264 profiles define which codificación features are used. Baseline Profile uses the simplest herramientas: no B-frames, no CABAC entropy coding, máximo 2 reference frames. It was designed para baja-power devices like older phones y hardware video calling. Main Profile adds B-frames y CABAC, improving compresión 10-15%. alta Profile adds 8×8 intra DCT transforms y custom quantization matrices para another 5-10% efficiency gain. All dispositivos modernoos support alta Profile. When codificación para distribution, always usar alta Profile unless you specifically need to target very old hardware (pre-2008 phones o early set-top boxes).

CRF (Constant Rate Factor) is the best default for offline files: ffmpeg picks the bitrate frame-by-frame to maintain perceived quality. Two-pass is only better when you must hit an exact final size (DVD targets). Constant bitrate is for streaming with a fixed channel. For "smallest at quality X" always use CRF.

This is usually because the MP4 moov atom (the metadata header that tells players how to decode the file) is at the end of the file instead of the beginning. Web players need the moov atom before they can start playing, so they buffer the entire file first. Fix this by adding the -movflags +faststart option to your FFmpeg command: ffmpeg -i input.mp4 -c:v libx264 -crf 23 -movflags +faststart output.mp4. This moves the moov atom to the beginning of the file, enabling progressive streaming without buffering the whole file.

This is Geralmente because the MP4 moov atom (the metadata header that tells players how to decode o arquivo) is at the end of o arquivo em vez de the beginning. Web players need the moov atom antes they can start playing, so they buffer the entire arquivo first. Fix this by adding the -movflags +faststart option to your FFmpeg command: ffmpeg -i input.mp4 -c:v libx264 -crf 23 -movflags +faststart output.mp4. This moves the moov atom para o beginning of o arquivo, enabling progressive streaming sem buffering the whole file.

This is Normalerweise because the MP4 moov atom (the metadata header that tells players how to decode die Datei) is at the end von die Datei anstatt the beginning. Web players need the moov atom vor they can start playing, so they buffer the entire Datei first. Fix this by adding the -movflags +faststart option to your FFmpeg command: ffmpeg -i input.mp4 -c:v libx264 -crf 23 -movflags +faststart output.mp4. This moves the moov atom zum beginning von die Datei, enabling progressive streaming ohne buffering the whole file.

This is Normalmente because the MP4 moov atom (the metadata header that tells players how to decode el archivo) is at the end de el archivo en vez de the beginning. Web players need the moov atom antes they can start playing, so they buffer the entire archivo first. Fix this by adding the -movflags +faststart option to your FFmpeg command: ffmpeg -i input.mp4 -c:v libx264 -crf 23 -movflags +faststart output.mp4. This moves the moov atom al beginning de el archivo, enabling progressive streaming sin buffering the whole file.

Common causes: (1) variable framerate source rendered as constant (use <code>-vsync vfr</code> to preserve VFR); (2) different audio sample rates not resampled (add <code>-ar 48000</code>); (3) container limitations (MP4 with variable framerate misbehaves — prefer MKV during editing, encode to MP4 only at the end). Always run <code>ffprobe</code> on both source and output to compare timing.

For maximum compatibility, use H.264. It plays on every device and every browser without exception. For best quality-per-file-size ratio, use H.265 (HEVC) — it achieves the same quality as H.264 at roughly half the bitrate, ideal for storage or high-bandwidth content. For web delivery, consider AV1 (supported by Chrome, Firefox, Edge) or H.265 for browsers that support it. The practical rule: H.264 if your primary concern is compatibility; H.265 if your primary concern is file size while maintaining high quality; AV1 if you target modern browsers and want the best compression. Many workflows use H.265 for storage and H.264 for delivery.

For máximo compatibilidade, usar H.264. It plays on every device e every browser sem exception. para melhor qualidade-per-file-size ratio, usar H.265 (HEVC) — it achieves the same quality as H.264 at roughly half the bitrate, ideal para storage ou alta-bandwidth content. para web delivery, consider AV1 (supported by Chrome, Firefox, Edge) ou H.265 para browsers that support it. The practical rule: H.264 if your primary concern is compatibilidade; H.265 if your primary concern is tamanho do arquivo while maintaining alta qualidade; AV1 if you target moderno browsers e want the best compressão. Many workflows usar H.265 para storage e H.264 para delivery.

For maximal Kompatibilität, verwenden H.264. It plays on every device und every browser ohne exception. für beste Qualität-per-file-size ratio, verwenden H.265 (HEVC) — it achieves the same quality as H.264 at roughly half the Bitrate, ideal für storage oder hoch-bandwidth content. für web delivery, consider AV1 (supported by Chrome, Firefox, Edge) oder H.265 für browsers that support it. The practical rule: H.264 if your primary concern is Kompatibilität; H.265 if your primary concern is Dateigröße while maintaining hohe Qualität; AV1 if you target modern browsers und want the best Komprimierung. Many workflows verwenden H.265 für storage und H.264 für delivery.

For máximo compatibilidad, usar H.264. It plays on every device y every browser sin exception. para mejor calidad-per-file-size ratio, usar H.265 (HEVC) — it achieves the same quality as H.264 at roughly half the bitrate, ideal para storage o alta-bandwidth content. para web delivery, consider AV1 (supported by Chrome, Firefox, Edge) o H.265 para browsers that support it. The practical rule: H.264 if your primary concern is compatibilidad; H.265 if your primary concern is tamaño de archivo while maintaining alta calidad; AV1 if you target moderno browsers y want the best compresión. Many workflows usar H.265 para storage y H.264 para delivery.

Yes if you only change the container: <code>ffmpeg -i in.mkv -c copy out.mp4</code>. This remuxes the stream without re-encoding, takes seconds even for hours of footage. Limitations: codec must be supported by the target container (e.g. you cannot put H.264 in WebM, only VP8/VP9/AV1). To shrink size you must re-encode.

We use cookies and similar technologies to personalise content and ads, and to analyse traffic. Learn more about cookies.