DTS to AC3

Discussion of advanced MakeMKV functionality, expert mode, conversion profiles
bstac
Posts: 6
Joined: Mon Dec 02, 2013 7:44 pm

DTS to AC3

Post by bstac »

Hi,

I'm trying to figure out if I can skip a step in my workflow and could use some advice. I currently use Makemkv to rip my blurays and due to having a mix of players I need my mkv's to have the primary audio track be either the Dolby HD/DTS-HD but I also need a secondary audio track of AC3. Some movies already have this but many just have the DTS which some of my network players can't play.

Currently what I do is create the mkv and then extract the audio track, convert it AC3 using another program, then put it all back together.

I noticed in the release notes for 1.8.6 it contained this note "Added support for AC3 encoding (mainly for DTS->AC3 audio transcoding)". I've looked through the forums but I couldn't find any info. Is there something new in Makemkv that would allow me to keep the primary HD audio track and then create an AC3 track without having to do the extra steps?

I assume this will take a conversion profile so if anyone has any syntax or tips it would be greatly appreciated.

Thank you!
mike admin
Posts: 4065
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: DTS to AC3

Post by mike admin »

Yes this has to be changed in a profile. In short, you just need to use outputformat="AC3" in relevant section of the profile. I'll post an example profile in a day or two.
bstac
Posts: 6
Joined: Mon Dec 02, 2013 7:44 pm

Re: DTS to AC3

Post by bstac »

mike admin wrote:Yes this has to be changed in a profile. In short, you just need to use outputformat="AC3" in relevant section of the profile. I'll post an example profile in a day or two.
Great! I will play around with it and see if I can get it to work but I will be on the lookout for your example.

Thanks in advance for doing that!
ant75
Posts: 20
Joined: Mon Nov 19, 2012 8:44 pm

Re: DTS to AC3

Post by ant75 »

I wanted to do this as well. I spent a few hours playing around and got it to work.

I copied the FLAC profile and called it AC3. I changed all the options in there to AC3 instead of FLAC. I also added and additional DTS section so normal DTS audio will also be converted to AC3.

You can copy and paste the profile contents as below and save it to a new text file called AC3.mmcp.xml in your makeMKV program directory. In MakeMKV preferences select the AC3 Profile. After loading a title you will notice the options have changed when you select DTS audio. MakeMKV should now indicate a lossy conversion process. I tested it and found the bitrate to be about 448 which is exactly what I wanted.

You will also need to download and copy dtsdecoderdll.dll to your makeMKV program directory as per this directive.

/dtshd/

I downloaded it very easy by Googling the actual file name itself. You must set MakeMKV to use this file in preferences after downloading it.

Here is the contents of my AC3 Profile. Good luck. A big process... But a very useful option! This profile is from version 1.8.7 of MakeMKV.




<?xml version="1.0" encoding="utf-8"?>
<profile>
<!-- profile name - Default -->
<name lang="eng">AC3</name>

<!-- Common MKV flags -->
<mkvSettings
ignoreForcedSubtitlesFlag="true"
useISO639Type2T="false"
setFirstAudioTrackAsDefault="true"
setFirstSubtitleTrackAsDefault="true"
setFirstForcedSubtitleTrackAsDefault="true"
insertFirstChapter00IfMissing="true"
/>

<!-- Settings overridable in preferences -->
<profileSettings
app_DefaultSelectionString="-sel:all,+sel:(favlang|nolang),+sel:lossless,-sel:(havemulti|havelossless),-sel:mvcvideo,=100:all,-10:favlang"
/>

<!-- Output formats currently supported by MakeMKV -->
<outputSettings name="copy" outputFormat="directCopy">
<description lang="eng">Copy track as is</description>
<description lang="ger">Track 1:1 kopieren</description>
</outputSettings>

<outputSettings name="lpcm" outputFormat="LPCM-raw">
<description lang="eng">Save as raw LPCM</description>
<description lang="ger">Als RAW LPCM speichern</description>
</outputSettings>

<outputSettings name="wavex" outputFormat="LPCM-wavex">
<description lang="eng">Save as LPCM in WAV container</description>
<description lang="ger">Als LPCM im WAV-Container speichern</description>
</outputSettings>

<outputSettings name="AC3" outputFormat="AC3">
<description lang="eng">Save as AC3</description>
<description lang="ger">Als AC3 speichern </description>

</outputSettings>



<!-- Default rule - copy as is -->
<trackSettings input="default">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString">
</output>
</trackSettings>

<!-- Save LPCM mono or stereo as AC3 -->
<trackSettings input="LPCM-stereo">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString">
</output>
</trackSettings>

<!-- Save multi-channel LPCM as AC3 -->
<trackSettings input="LPCM-multi">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>

<!-- Save TRUEHD as AC3 -->
<trackSettings input="TRUEHD-stereo">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
<trackSettings input="TRUEHD-multi">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
<trackSettings input="MLP-stereo">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
<trackSettings input="MLP-multi">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>

<!-- Save DTS-HD as AC3 -->
<trackSettings input="DTSHDMA-stereo">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
<trackSettings input="DTSHDMA-multi">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>

<!-- Save DTS as AC3 -->
<trackSettings input="DTS-stereo">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
<trackSettings input="DTS-multi">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>


<!-- Save DTS-HD LBR (low quality) as AC3 (just to decode) -->
<trackSettings input="DTSHDLBR-stereo">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString">
</output>
</trackSettings>
<trackSettings input="DTSHDLBR-multi">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString">
</output>
</trackSettings>

</profile>
bstac
Posts: 6
Joined: Mon Dec 02, 2013 7:44 pm

Re: DTS to AC3

Post by bstac »

Thanks a ton for sharing this! I haven't had time yet to mess around with the profiles so this is a huge help.

Thanks again!
jurgenk
Posts: 8
Joined: Wed Jan 29, 2014 1:06 pm

Re: DTS to AC3

Post by jurgenk »

Great, how would I edit this profile to make a selected DTS track output as DTS & AC3? I want to preserve the DTS audio, but also have a AC3 track because my mediaplayer doesn't play DTS.
I prefer to keep the original audio in case I upgrade my hardware later on.
jurgenk
Posts: 8
Joined: Wed Jan 29, 2014 1:06 pm

Re: DTS to AC3

Post by jurgenk »

I figured it out:
Just add another output tag with the copy outputsettingsName. It will now add duplicate checkbox for the DTS or whichever track you add this tag to. One is copy, the other is AC3.

Code: Select all

</trackSettings>
<trackSettings input="TRUEHD-multi">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString">
</output>
</trackSettings>
Just tested it with a bluray rip, and it works indeed! Note that the order of tracks is the same as the output order in the xml. So if you want the original audio before the AC3 converted one in the MKV, you need to move that output tag to the top.

Full profile: (everything copy as is + AC3 conversion)

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<profile>
<!-- profile name - Default -->
<name lang="eng">AC3</name>

<!-- Common MKV flags -->
<mkvSettings
ignoreForcedSubtitlesFlag="true"
useISO639Type2T="false"
setFirstAudioTrackAsDefault="true"
setFirstSubtitleTrackAsDefault="true"
setFirstForcedSubtitleTrackAsDefault="true"
insertFirstChapter00IfMissing="true"
/>

<!-- Settings overridable in preferences -->
<profileSettings
app_DefaultSelectionString="-sel:all,+sel:(favlang|nolang),+sel:lossless,-sel:(havemulti|havelossless),-sel:mvcvideo,=100:all,-10:favlang"
/>

<!-- Output formats currently supported by MakeMKV -->
<outputSettings name="copy" outputFormat="directCopy">
<description lang="eng">Copy track as is</description>
<description lang="ger">Track 1:1 kopieren</description>
</outputSettings>

<outputSettings name="lpcm" outputFormat="LPCM-raw">
<description lang="eng">Save as raw LPCM</description>
<description lang="ger">Als RAW LPCM speichern</description>
</outputSettings>

<outputSettings name="wavex" outputFormat="LPCM-wavex">
<description lang="eng">Save as LPCM in WAV container</description>
<description lang="ger">Als LPCM im WAV-Container speichern</description>
</outputSettings>

<outputSettings name="AC3" outputFormat="AC3">
<description lang="eng">Save as AC3</description>
<description lang="ger">Als AC3 speichern </description>

</outputSettings>



<!-- Default rule - copy as is -->
<trackSettings input="default">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString">
</output>
</trackSettings>

<!-- Save LPCM mono or stereo as AC3 -->
<trackSettings input="LPCM-stereo">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString">
</output>
</trackSettings>

<!-- Save multi-channel LPCM as AC3 -->
<trackSettings input="LPCM-multi">
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>

<!-- Save TRUEHD as AC3 -->
<trackSettings input="TRUEHD-stereo">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>

</trackSettings>
<trackSettings input="TRUEHD-multi">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>

</trackSettings>
<trackSettings input="MLP-stereo">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
<trackSettings input="MLP-multi">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>

<!-- Save DTS-HD as AC3 -->
<trackSettings input="DTSHDMA-stereo">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
<trackSettings input="DTSHDMA-multi">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>

<!-- Save DTS as AC3 -->
<trackSettings input="DTS-stereo">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
<trackSettings input="DTS-multi">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>


<!-- Save DTS-HD LBR (low quality) as AC3 (just to decode) -->
<trackSettings input="DTSHDLBR-stereo">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString">
</output>
</trackSettings>
<trackSettings input="DTSHDLBR-multi">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString">
</output>
</trackSettings>

</profile>
bstac
Posts: 6
Joined: Mon Dec 02, 2013 7:44 pm

Re: DTS to AC3

Post by bstac »

Thanks for posting your version. I found I needed to do the same as I wanted to keep the original HD track along with the AC3.

Do you know how to convert the core track also? For instance, now it shows the DTS-HD track which is set to copy, then another DTS-HD track which is set to AC3. It also has the core DTS 3/2+1 track but it just says it will copy as is. I can't figure out what to modify in the profile to also convert that core track.

Thanks!
ndjamena
Posts: 830
Joined: Mon Jan 07, 2013 12:23 am

Re: DTS to AC3

Post by ndjamena »

Are you asking how to convert a DTS-MA core to AC3, even though you've already set the full DTS-MA track to be converted???? Or is there another DTS track in the file... Clarification please.
bstac
Posts: 6
Joined: Mon Dec 02, 2013 7:44 pm

Re: DTS to AC3

Post by bstac »

Just the core 5.1 DTS track, from the HD track.

Reason being is that I've ran across a few movies already where Makemkv throws an error trying to convert the DTS-HD track to AC3, so I was wanting to try converting just the core. I'm pretty sure the dtsdecoderdll.dll is working as a few other movies I've tried worked fine with the DTS-HD track.

Thanks!
ndjamena
Posts: 830
Joined: Mon Jan 07, 2013 12:23 am

Re: DTS to AC3

Post by ndjamena »

replace input with these values then:

DTSHD-core-stereo
DTSHD-core-multi

Code: Select all

<!-- Save DTS-HD Core as AC3 -->
<trackSettings input="DTSHD-core-stereo">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
<trackSettings input="DTSHD-core-multi">
<output outputSettingsName="copy"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
<output outputSettingsName="AC3"
defaultSelection="$app_DefaultSelectionString,+sel:true">
</output>
</trackSettings>
bstac
Posts: 6
Joined: Mon Dec 02, 2013 7:44 pm

Re: DTS to AC3

Post by bstac »

Awesome that worked perfectly. Thank you very much!
mike admin
Posts: 4065
Joined: Wed Nov 26, 2008 2:26 am
Contact:

Re: DTS to AC3

Post by mike admin »

It's here guys. The 1.8.8 added AAC encoder and audio mixer. So you can now also produce a stereo downmix from any track and save as AAC, AC3 or both. Audio mixer can use Dolby surround, Dolby PrologicII mix or any custom mix with custom mix levels. I recommend taking the new AAC-stereo profile as example and patching it to AC3. Thanks for waiting!

p.s. 7.1->5.1 downmix is possible and works, but would produce incorrect results for smaller multi-channel tracks, i.e. 3.0 will be "upmixed" to 5.1 and that is not what one probably wants. Somewhere in future audio mixer settings will be extended to allow the proper mix selection.
hiyo33
Posts: 5
Joined: Sun Feb 09, 2014 4:18 am

Re: DTS to AC3

Post by hiyo33 »

what is the syntax for down converting to 640 ac3? Is this possible or just to 448 kbps?

Never mind found answer affter trial and error:

<outputSettings name="AC3" outputFormat="AC3">
<description lang="eng">Save as AC3</description>
<description lang="ger">Als AC3 speichern </description>
<extraArgs>-b 640k</extraArgs>
jurgenk
Posts: 8
Joined: Wed Jan 29, 2014 1:06 pm

Re: DTS to AC3

Post by jurgenk »

I just tested the new AAC profile and was wondering how to get the "DTS-HD MA -> AAC Stereo English" description for the AC3 profile. Because when I use the AC3 profile, the AC3 track just gets labeled in the makemkv program identical as the source: "DTS-HD MA Surround 5.1 English". I checked the mmcp.xml file for the AAC profile, but could not find in anywhere. Is it due to using a audio mix there? I would like to be able to set the description as "DTS-HD MA -> AC3 Surround 5.1 English" or so. This way I know immediately that it's the AC3 option.

I also checked with the FLAC profile, and that also shows the correct conversion description. I can't find the cause of this.
Post Reply