JakeWharton / mkvdts2ac3

Bash script to convert DTS audio to AC3 within a matroska file.
Apache License 2.0
322 stars 60 forks source link

DTS-HD Audio not recognised or processed #107

Open aphirst opened 8 years ago

aphirst commented 8 years ago

I have some files I'm trying to convert which have DTS which can't be read by our TV, but some have instead "DTS-HD" audio. mkvmerge -i output gives Track ID 1: audio (DTS-HD Master Audio) for example.

Assuming it's still within the intended scope of the program (I'd expect so), it should probably consider these also as tracks needing re-encoding and replacement. As far as I can tell, there's no way to force these tracks to be reencoded by this tool.

aphirst commented 8 years ago

I was able to get my specific file to work by manually specifing the track ID, and by commenting out lines 427-432, but this is of course just a workaround.

choekstr commented 8 years ago

Yeah, DTS-HD wasn't even a glimmer when this script was created (6+ years ago!) so it was never designed to be more robust for future DTS tracks. However, in theory you should just have to remove the ')' from line 408 (and maybe 425) and it should cover all DTS tracks. Untested though...

I continue to be surprised people still need this function, DTS conversion to AC3, since there are so many modern devices that play DTS just fine. Not degrading, just reflecting and amazed that the need is still there.

JakeWharton commented 8 years ago

Same. I haven't needed this script in 6 years!

On Thu, Dec 24, 2015 at 11:42 PM Chris Hoekstra notifications@github.com wrote:

Yeah, DTS-HD wasn't even a glimmer when this script was created (6+ years ago!) so it was never designed to be more robust for future DTS tracks. However, in theory you should just have to remove the ')' from line 408 (and maybe 425) and it should cover all DTS tracks. Untested though...

I continue to be surprised people still need this function, DTS conversion to AC3, since there are so many modern devices that play DTS just fine. Not degrading, just reflecting and amazed that the need is still there.

— Reply to this email directly or view it on GitHub https://github.com/JakeWharton/mkvdts2ac3/issues/107#issuecomment-167192233 .

aphirst commented 8 years ago

Well, what can I say? My parents' relatively new "smart" TV seems incapable of reading DTS audio in any of its forms, so it has been a bit of a mad rush to find something that can automate the arduous process of reencoding and remuxing.

@choekstr I'll try that out later.

Merry Christmas, everyone!

aphirst commented 8 years ago

It might also be worth mentioning that "TrueHD" is an increasingly common audio format which is of course also not recognised by this tool.

tmchow commented 6 years ago

@choekstr Having this problem as well, and seeing tracks like DTS-ES.

More robust solution may be to just change line 410 pattern match fr

grep -m 1 \"${AUDIOTRACKPREFIX}DTS)\"

to

grep -m 1 \"${AUDIOTRACKPREFIX}DTS.*)\"

Am I missing something? Will the processing engine still work with DTS-ES tracks to convert to AC3?

(I still need to use this because Sonos Playbar does not support DTS still even though it's 2018)

choekstr commented 6 years ago

actually just removing the ) would do the same thing but as the string keeps changing, both for different variants of DTS like ES, HD, etc, but also for other ways of writing the track moniker. With all the testing we did back when this was actively developed the string matched as it was the only thing that ever showed up when a file was queried.

But there are 2 parts to this:

MATCHING BY SCRIPT Now it needs a more generic match for anything DTS related so either a .* or just removing the ) means that any line that has the string "DTS" in it will work. This will get the mkvdts2ac3 script to think there is a DTS track in the file. This is easily changed and you can experiment to find what works best.

CONVERTING VARIOUS DTS FORMATS The underlying tool to convert DTS to AC3 (remember our script is just a wrapper for various tools) must support these various types, like ES, HD, etc. So assuming the DTS variant is supported for conversion to AC3, it should complete the process properly and spit out an audible AC3 format that can be muxed back into the video. This could be a limitation though and worthy of noting.

Twirlip-of-the-Mists commented 6 years ago

You might get a few more new users (like me!). Samsung have dropped DTS support for at least some of their 2018 TVs: https://developer.samsung.com/tv/develop/specifications/media-specifications/2018-tv-video-specifications

DTS Audio codec is no longer supported on all 2018 TV Devices. If DTS Audio track is part of your manifest, make sure other audio tracks can be selected for smooth playback.