How to Use the FFmpeg Experimental DTS-HD Encoder

This article provides a quick, step-by-step guide on how to encode audio using FFmpeg’s native DTS (DCA) encoder. You will learn the exact command-line arguments required to enable the experimental encoder, configure audio bitrates, map channels, and troubleshoot common errors during the encoding process.

Enabling the Experimental DTS Encoder in FFmpeg

FFmpeg includes a native DTS Coherent Acoustics (DCA) encoder, which is currently classified as experimental. To use this encoder, you must explicitly instruct FFmpeg to allow experimental codecs by using the -strict -2 or -strict experimental flag. Without this flag, FFmpeg will halt the process and return an error.

The basic syntax for encoding an audio file to DTS is:

ffmpeg -i input.wav -c:a dca -strict -2 output.dts

Command Breakdown:


Configuring Bitrate and Channels

The native DTS encoder supports various bitrates and multi-channel configurations, most commonly 5.1 surround sound.

Setting the Bitrate

Standard DTS bitrates typically range from 768 kbps to 1536 kbps (1.5 Mbps). You can set the bitrate using the -b:a flag:

ffmpeg -i input.wav -c:a dca -b:a 1536k -strict -2 output.dts

Encoding 5.1 Surround Sound

If your input file has 6 channels (5.1 surround sound), FFmpeg will automatically map them. To ensure the correct channel layout, you can explicitly define the channel configuration:

ffmpeg -i input_6ch.wav -c:a dca -b:a 1536k -ac 6 -strict -2 output.dts

Troubleshooting Common Errors

“The encoder is experimental but experimental codecs are not enabled”

If you receive this error, it means you forgot to include the strictness flag. Ensure -strict -2 is placed after the input file in your command line.

“Invalid channel layout”

The native dca encoder has limitations regarding supported channel layouts (typically mono, stereo, and 5.1). If your source file has an unsupported layout (like 7.1), you must downmix the audio to 5.1 using the -ac 6 option:

ffmpeg -i input_71.wav -c:a dca -ac 6 -strict -2 output.dts