How do I extract DTS core from a DTS-HD MA track using ffmpeg or alternative linux based tool?

12,576

Solution 1

There is now dca_core bitstream filter, so use:

ffmpeg -i DTS-HD_MA.dts -bsf:a dca_core -c:a copy TS-Core.dts

Solution 2

In addition to Anssi Hannula's response on the ffmpeg mailing list I found two alternative methods for extracting the DTS core from a DTS-HD MA that are linux friendly.

tsMuxeR

Available from the Doom9 forum. Can be ran via command line using a .metafile, which itself can be generated from the tsMuxerGUIor you can use the GUI directly.

Application is 32 bit which can make it tricky to install on 64 bit systems. Alternatively, you can lesser the burden by using third party repositories e.g. for Debian try deb-multimedia.org

MakeMKV

Can be compiled for Linux (e.g. debian based systems) using the instructions on the MakeMKV forum. Run MakeMKV, select the source .mkvfile and then just select the DTS core audio stream. You cannot deselect the video stream.

ffmpeg vs. tsMuxeR vs. MakeMKV

ffmpeg was quickest on my Debian box, followed by tsMuxer and then MakeMKV. The latter required you to copy a video stream in addition to the audio. The resultant output is an .mkv file that contains a video stream and the DTS core audio.

Both ffmpeg and the MakeMKV approach seemed to produce the same bit perfect output files, whereas tsMuxer was marginally different as shown by file sizes and md5 hashes:

MakeMKV approach  1103097108   7b0c0fb9f8db27e9bf7aef351eb4fbda   
tsMuxer_approach  1103097236   021552f6ae4387b15635f9d0f0a9d7f0
ffmpeg_approach   1103097108   7b0c0fb9f8db27e9bf7aef351eb4fbda

So in summary, Anssi Hanula's method using ffmpeg is the most effective.

Solution 3

According to this page, eac3to can do what you’re trying to:

eac3to input.dtshd output.dts -core

Since it doesn’t support a lot of containers, I suggest running your ffmpeg command first to extract the audio stream.

Be aware though: For eac3to to decode DTS-HD, you’ll need DLLs from commercial software, either “Sonic Cinemaster Audio Decoder 4.3” or various versions of “Arcsoft TotalMediaTheatre” (recommended). AFAIK this isn’t entirely legal, so I won’t directly link it.

Share:
12,576

Related videos on Youtube

fswings
Author by

fswings

Updated on September 18, 2022

Comments

  • fswings
    fswings almost 2 years

    I'm trying to extract the DTS core from a DTS-HD MA track using ffmpeg running on a Linux dedicated server.

    I've tried:

    ffmpeg -i input.mkv -vn -sn c:a copy output.dts
    
    Note switches -vn and -sn disable video and subtitle track copying respectively.
    

    This obviously copies the entire DTS core and HD MA track across.

    If ffmpeg is the wrong tool then please state alternative, preferably Linux friendly.

    Thanks

  • fswings
    fswings almost 10 years
    Thanks Daniel, was looking for something more linux friendly. That's not to say I'm averse to Windows of course.
  • fswings
    fswings about 8 years
    Can you add what version of ffmpeg this is valid from
  • Elisa Cha Cha
    Elisa Cha Cha about 8 years
    @fswings It was added in commit ff982e0 two days ago, so you'll need a recent build from the current git master branch.
  • fswings
    fswings about 8 years
    I think its worth adding to this answer and also updating once it's released otherwise many people will pull it from their distribution repo and wonder why it doesn't work.
  • Elisa Cha Cha
    Elisa Cha Cha about 8 years
    @fswings It is encouraged for general users use a build from current git master branch. Usually it's as easy as downloading a binary via links on FFmpeg Download page. The releases are targeted for distributors, and new features don't get backported to existing releases.