Rendering audio in videos at 16-bit instead of 32-bit

Sorry if this has been asked before. I couldn’t find any answers to my question using the search.

When rendering my videos, I would like to use 16-bit audio rather than 32-bit audio. I have tried sample_fmt=16 but the video still renders in 32-bit. What do I need to type to force 16-bit? I can’t find any other info about this on the MLT website other than the sample_fmt, which again, doesn’t change anything after the render.

My other settings are AAC codec, 48kHz.

Thanks in advance.

AAC doesn’t use a fixed bit depth, so it can’t be forced to 16-bit. The encoder changes the bit depth from sample to sample as it sees fit. This is one of many techniques AAC uses to get compression efficiency. The 32-bit reference you’re seeing in the logs simply means 32-bit audio is being fed to the encoder to ensure high fidelity input. Some probe tools also report AAC files as 32-bit float because technically that’s the widest sample it could deliver if needed, and a decoder must be able to handle every scenario. But the actual output bit depth will vary significantly throughout the stream based on the content of the audio being encoded.


Thanks for the quick reply @Austin. I wasn’t sure if it could be done. At least I know now. :slight_smile:

This topic was automatically closed after 90 days. New replies are no longer allowed.