Soundbar won't play DTS audio

I’m having an issue playing movies encoded with DTS audio.

I read somewhere that DTS cannot be played over optical cable. My sound bar is connected using an optical cable and has no hdmi input.

Is there a solution to this that I could implement? Is there a way to force my PMS to transcode the audio from DTS movies to a different format like AC3 or something?

I use the Samsung TV app and it doesn’t appear to have an option within the app unless I’m missing something.

I don’t think you can choose what format the audio transcodes to, but Idk. It might just be easier to add an extra audio track to the file(s): convert the DTS to something like AC3 and add the converted audio to the file. I often convert surround to stereo and add it as the first audio track so I can Direct Play everything on all my devices. I personally use FFmpeg, which makes it really easy. When you just convert audio and copy everything else, it’s pretty fast. I hope you can find a solution that works for you.

Is it possible to have an alternate audio encoding as a separate file rather than altering the original movie file by add different audio encode?

Some soundbars have this limitation, yes, I have a Sonos Playbar and it only support Dolby Digital. The most elegant solution is an Xbox One which you can set to convert DTS to DD, it works perfectly without you even noticing the conversion - it’s Plex app is also very good. Of course that comes with a price, but with the Xbox media remote it’s a slick and powerful media center

@tomlarose said:
Is it possible to have an alternate audio encoding as a separate file rather than altering the original movie file by add different audio encode?

I don’t think Plex can do that from a quick Google search. It’s really easy to add or remove a track from a media file though. Most people seem to use MKVToolNix. I personally use it to add chapters from ChapterDb and it’s easy to use. I find it easier to just convert and add the track at the same time with FFmpeg though. That way, I can batch convert files for a season of a TV show or something by wrapping the command in a loop and iterating over files in a directory. I can just execute the command and come back later to everything being done. The bad thing is that you have to figure out the command you want for FFmpeg. I barely know anything about FFmpeg, but I do have that command whenever I need to add a stereo track.

Here’s the command I use batch convert video files with similar contents (a video in the 1st stream, a surround track in the 2nd stream). This just copies the video, converts the audio to stereo AAC 256k bit rate to add to the 1st audio stream, then copies the original audio to the 2nd audio stream. Sometimes it needs modification depending on what the video file contains, but this is usually what I do. For instance, there may be another stream which contains subtitles or something. In that case, you may have to add another -map (e.g. -map 0:2) to the command.

By the way, this is on Windows using Cygwin, which would be almost equivalent to what it would be in Linux and maybe OS X. For normal Windows command line, you may have to use some other kind of loop to do batch converting. To just do one file, replace “$i” with the file name/path. For any command line work on Windows, I highly recommend getting Cygwin (with zsh instead of bash; it makes things easier) and learning how to use it. I also use small reusable commands to do batch renaming to Plex compatible names.

Anyways, I hope this is helpful, or that you at least find something that’s good for you. I’m sure there’s a much easier way to do this, but I find this to be easy enough.

for i in *.mkv ; do
  ffmpeg -i "$i" \
    -map 0:0 -map 0:1 -map 0:1 \
    -c:v copy \
    -c:a:0 aac -b:a:0 256k -ac 2 \
    -c:a:1 copy \
    "E:/Media/Extras/Conversions/$i"
sleep 3
done