[FFmpeg-user] How to extract core DTS / DCA stream from a DTS 96/24 stream without re-encoding

Onetel tghewett2 at onetel.com
Sat May 19 15:59:03 EEST 2018

> On 19 May 2018, at 13:28, Paul B Mahol <onemda at gmail.com> wrote:
> On 5/19/18, Onetel <tghewett2 at onetel.com> wrote:
>> I have a DVD with a DTS 96/24 stream (Peter Gabriel - Play) but where this
>> has a known authoring error where this stream is very quiet. Other owners
>> have reported the same problem, however some who have audio systems which
>> can only decode the core / legacy DTS stream (equipment too old for DTS
>> 96/24) say that it plays fine, so the problem seems to be specific to the
>> 96/24-enhanced part of the stream.
>> So I want to extract the core DTS stream to be able to play it properly. Is
>> there a way to get it extracted and have the 96/24-enhanced information
>> discarded, without any re-encoding? In essence I want to give the option
>> "-acodec copy_legacy_only".
> Yes, use dca_core bitstream filter. There is documentation on web.

Thanks - I tried this but it seems to re-encode rather than copy, taking much longer than “-acodec copy” (which is instantaneous). I tried:

ffmpeg -i in.dts -bsf:a dca_core -strict -2 out.dts

Nonetheless the result plays at a normal volume as a core DTS stream. Is it just that the extraction process is “heavy”?

The output is:

Input #0, spdif, from ‘in.dts':
  Duration: 00:04:49.28, bitrate: 1536 kb/s
    Stream #0:0: Audio: dts (DTS 96/24), 96000 Hz, 5.1(side), fltp, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (dts (dca) -> dts (dca))
Press [q] to stop, [?] for help
Output #0, dts, to ‘out.dts':
    encoder         : Lavf58.12.100
    Stream #0:0: Audio: dts (dca), 48000 Hz, 5.1(side), s32, 1411 kb/s
      encoder         : Lavc58.18.100 dca
size=   49897kB time=00:04:49.26 bitrate=1413.1kbits/s speed=3.69x    
video:0kB audio:49897kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

More information about the ffmpeg-user mailing list