Re: I want to convert all my proprietary lossless formats to FLAC
Reply #6 – 2018-01-29 01:22:31
Your ffmpeg command is correct. With that, you can transcode from any format to FLAC without loss, if ffmpeg supports decoding of the source format. As mentioned above, DTS isn't always lossless. Indeed, your DTS track seems to be lossy, if the resulting FLAC is so much bigger that the original. The bit depth increase is an indicator for lossy DTS too. In fact, most lossy audio formats actually don't have a bit depth, because their audio data isn't stored in PCM. That bit depth is more a suggestion for the playback decoder or what the original lossless source was. Decoding them to 16-bit may end up in little(!) additional loss due to rounding errors. ffmpeg is smart enough to choose the 24-bit variant of FLAC if that will occur. This small loss is a little noise at -96dB which is unable to notice unless you crank up the volume knob of your (hopefully 100% noiseless and without any audio processing enabled) sound system until it tears down your home and blows the ears of you and in your neighbourhood. So don't bother with that. It is negligible because the loss of the original DTS encoding is so much much bigger than that. There is no real reason to convert lossy formats to bit depts higher than 16-bit. So stay with 16-bit FLAC (or even better: Just keep the DTS track as-is and convert it only if really needed for compatibility reasons) and everything will be fine. If unsure, try both and compare until you get the conclusion that there is no audible difference. 24-bit is intended for professional audio production purposes but absolutely not useful for domestic use, because you can't listen that loud to hear the difference. So enter following into your console: ffmpeg -i sample.mkv -acodec flac -sample_fmt s16 -vcodec copy sample.flac.mkv and be happy. If you want high compatibility AND lossless, put the audio track two times into the mkv. One time lossy but compatible, one time lossless but "exotic".