FFmpeg - Encode AC3

From PiRho Knowledgebase
(Redirected from FFMpeg - Encode AC3)
Jump to navigationJump to search

AC-3 (Dolby Digital) is a widely supported lossy multichannel audio codec used in DVD, broadcast, set-top boxes, and legacy home-cinema systems. This article explains how to encode AC-3 audio using FFmpeg with safe, standards-compliant settings.

Summary

AC-3 audio supports mono, stereo, and multichannel output at sample rates of 32 kHz, 44.1 kHz, and 48 kHz. For stereo sources, the usable quality range begins at 160 kbps, with 192–224 kbps being typical for transparent or near‑transparent output.

This article provides a recommended FFmpeg command, bit‑rate guidance, and reference links to official documentation.

Recommended FFmpeg Command

To encode a stereo AC‑3 stream at 160 kbps:

ffmpeg -i <input.file> -c:a ac3 -ac 2 -b:a 160k <output.file>

Explanation of parameters

  • -c:a ac3 — Use the native FFmpeg AC‑3 encoder
  • -ac 2 — Downmix or encode as 2‑channel stereo
  • -b:a 160k — Audio bitrate (minimum advisable for acceptable stereo AC‑3)

Bit‑Rate Considerations

Stereo (2.0)

Bitrate Notes
160 kbps Minimum usable quality for music or mixed content
192 kbps Common DVD‑quality stereo bitrate
224–256 kbps Higher clarity, useful for rich stereo music
>256 kbps Rarely necessary for stereo; diminishing returns

Supported Sample Rates

AC‑3 allows:

  • 32000 Hz
  • 44100 Hz
  • 48000 Hz (most common for film, video, and broadcast)

FFmpeg will preserve the input sample rate unless explicitly changed.

Channel Layouts

Although this article focuses on stereo, AC‑3 supports:

  • 1.0 (Mono)
  • 2.0 (Stereo)
  • 5.1 Surround

Examples:

5.1 at 448 kbps:

ffmpeg -i input.wav -c:a ac3 -b:a 448k output.ac3

5.1 at 640 kbps (maximum AC‑3 bitrate):

ffmpeg -i input.wav -c:a ac3 -b:a 640k output.ac3

When to Use AC‑3

AC‑3 remains useful when:

  • Targeting DVD‑Video or broadcast specifications
  • Playback device requires Dolby Digital compatibility
  • You need a widely-supported legacy format
  • Building media for set-top boxes, old TVs, or home-cinema receivers

Troubleshooting

"Bitrate not allowed" Errors

AC‑3 only accepts specific bitrates depending on channel count. Try using: 160k, 192k, 224k, 256k, 320k for stereo.

"Invalid samplerate"

Ensure the sample rate is one of:

  • 32000
  • 44100
  • 48000

Audio seems quieter

AC‑3 includes Dialog Normalization (dialnorm) metadata. FFmpeg sets default values; receivers may adjust playback gain accordingly.

References