HD Audio (Core) - Works with M2TS but not with MKV
#1
The short short version of the question is this:

Why wont the DTS/DD Core of DTS-HD/TrueHD get pulled when the file is in the MKV container, but will work while in the M2TS container?

This is going to be somewhat long but please bare with me.

I have a fully ripped bluray disc from my collection on my HDD. I use TSMuxer to demux it into 1080p Video, HD Audio (DTS-HD or Dolby TrueHD), and Subtitles. I convert the Subtitles (using OCR software) to a XBMC friendly .srt format. I then recombine them using MkvMerge into a single .mkv. I also recombine them using TSMuxer into a m2ts file. I play them both on XBMC and these are the results:

M2TS - Skipping (left, right, up, down on remote) is slow, resulting in artificats on screen for a second, as well as sometimes it wont skip at all until the file plays for a few seconds. The HD Audio plays fine however. It shows on my reciever as DTS or DD, so I assume the DTS or DD core is being read and sent via HDMI. There are 2 audio streams available, "5.1" (which sounds like only surround, this is the HD audio, and "DTS 5.1"/"ac3 5.1", the core) Good enough for me!

MKV - Skipping is normal, no issues whatsoever. Still get artifacts but for a very brief period of time. Audio fails to play properly (sounds like all you hear is the surround no front, left, center) which is what happens anytime I play DTS-HD/Dolby TrueHD with VLC or any other software which cant pull the DTS/DD Core from the HD Audio. Only one audio stream is available, "5.1".

So, is there a reason why the core is not being pulled under the MKV container? If it works as a M2TS I don't see why it cant work as MKV. I don't care about getting the extra HD audio content, I just want to future-proof my rips so I don't have to rip them all over again when these formats are eventually supported.
Reply
#2
Bump.

Also I tried this now with several different blu-ray rips, all having the same results. Any input would be great!

Thanks!!
Reply
#3
Tim. Wrote:The short short version of the question is this:

Why wont the DTS/DD Core of DTS-HD/TrueHD get pulled when the file is in the MKV container, but will work while in the M2TS container?

The only thing I can tell you is that HD-audio support in the MKV container is relatively new and definitely still has issues.

For HD audio, I continue to rip to M2TS/TS files for two reasons. 1) XBMC is inconsistent (maybe non-existent) with the ability to display the PGS subtitles in an MKV rip, 2) HD-audio inconsistencies. Once both of those are solved I'll probably go fully to MKV rips as well, but in the meantime the lack of a one-step rip that supports subs & HD audio has kept me using .ts rips, even though that means I don't get chapter support in the .ts files.

You can easily convert your MKV rips into ts files using tsMuxer. It will not require a re-encode and should complete in a matter of minutes.

To commiserate with you, I can confirm major issues playing back MKV files with HD audio. I'm running Linux Ubuntu with the 9.11 stable release and playing MKVs with TrueHD results in XBMC crashing completely, every time. I'd suggest sticking with another format until the MKV/HD-audio bugs are worked out a bit further.
Reply
#4
myrison Wrote:The only thing I can tell you is that HD-audio support in the MKV container is relatively new and definitely still has issues.

For HD audio, I continue to rip to M2TS/TS files for two reasons. 1) XBMC is inconsistent (maybe non-existent) with the ability to display the PGS subtitles in an MKV rip, 2) HD-audio inconsistencies. Once both of those are solved I'll probably go fully to MKV rips as well, but in the meantime the lack of a one-step rip that supports subs & HD audio has kept me using .ts rips, even though that means I don't get chapter support in the .ts files.

You can easily convert your MKV rips into ts files using tsMuxer. It will not require a re-encode and should complete in a matter of minutes.

To commiserate with you, I can confirm major issues playing back MKV files with HD audio. I'm running Linux Ubuntu with the 9.11 stable release and playing MKVs with TrueHD results in XBMC crashing completely, every time. I'd suggest sticking with another format until the MKV/HD-audio bugs are worked out a bit further.

Thanks for verifying my issue! Basically I have not converted my raw M2TS files into anything yet, they are all fresh off the Bluray discs. My issue is I have run out of space (1.5tb) on my HD-dedicated drive, and don't want to spill over onto my SD content drives. I am trying to find the best way to save the movies so that they are future-proof. I guess based on your idea the best thing would be to leave the files as .TS and include just the HD Audio/Video/Subs, then when the support gets better convert the .TS to .MKV. Since the containers are all loss-less there should be no quality loss in the conversions I imagine.

However I was hoping to get a better idea why the audio works in .M2TS and not in an .MKV, I would think since they are both just containers it shouldn't be too hard to pull out the audio and extract the core.

Anyone else have more technical information on why this issue occurs?
Reply
#5
Okay so I have made some headway on this after giving XBMC and MKV time to update.

I am now able to mux DTS-MA (HD) into an MKV file and the DTS core is played flawlessly. Also, if I check the MKV with tsmuxer the audio shows up as DTS-MA + DTS Core, so I know we're future proof there (Hoping that someday in the future we'll be able to send the DTS-MA to the reciever..)

However I still have the same issue with Dolby-TrueHD. If I remux just the video stream and TrueHD stream from tsmuxer into a new M2TS file, and play in XBMC, I am offered 2 audio streams. One is listed as "English - 5.1" and the other as "AC3 5.1". The one titled "English" is titled as such by tsmuxer, and when I display the codec info in XBMC it is titled "truehd" instead of "ac3." So, we know XBMC can see the file, it just cant play it. No problem, we choose the second stream "AC3 5.1" and we get standard Dolby Digital.

Once we put the same video stream and TrueHD stream into an MKV container, we are left with only 1 stream to choose from in XBMC, and it happens to be the "English 5.1
TrueHD that is not currently playable. If I try to open the MKV in tsmuxer, it says "Some tracks not recognized."

So, it seems that the MKV container is not able to properly mux in the TrueHD stream. Anyone have any ideas or input on this? Google searching shows people trying to find out how to remove TrueHD streams from MKV's so they can extract the core. If it works under M2TS I find it odd that once the MKV container is open the same process could not be applied.

So...long story short: DTS-MA is working perfectly under all fronts. Dolby-TrueHD is still out of luck. Anyone got any ideas?
Reply
#6
Rainbow 
Tim. Wrote:Okay so I have made some headway on this after giving XBMC and MKV time to update.

I am now able to mux DTS-MA (HD) into an MKV file and the DTS core is played flawlessly. Also, if I check the MKV with tsmuxer the audio shows up as DTS-MA + DTS Core, so I know we're future proof there (Hoping that someday in the future we'll be able to send the DTS-MA to the reciever..)

However I still have the same issue with Dolby-TrueHD. If I remux just the video stream and TrueHD stream from tsmuxer into a new M2TS file, and play in XBMC, I am offered 2 audio streams. One is listed as "English - 5.1" and the other as "AC3 5.1". The one titled "English" is titled as such by tsmuxer, and when I display the codec info in XBMC it is titled "truehd" instead of "ac3." So, we know XBMC can see the file, it just cant play it. No problem, we choose the second stream "AC3 5.1" and we get standard Dolby Digital.

Once we put the same video stream and TrueHD stream into an MKV container, we are left with only 1 stream to choose from in XBMC, and it happens to be the "English 5.1
TrueHD that is not currently playable. If I try to open the MKV in tsmuxer, it says "Some tracks not recognized."

So, it seems that the MKV container is not able to properly mux in the TrueHD stream. Anyone have any ideas or input on this? Google searching shows people trying to find out how to remove TrueHD streams from MKV's so they can extract the core. If it works under M2TS I find it odd that once the MKV container is open the same process could not be applied.

So...long story short: DTS-MA is working perfectly under all fronts. Dolby-TrueHD is still out of luck. Anyone got any ideas?

Tim,
You could extract the AC-3 stream beforehand and then mux the TrueHD and AC-3 as two seperate streams when you create the MKV. That way you can guarantee that XBMC will be able to see the AC-3 audio stream.

What kind of Hardware are you using? It is likely that XBMC is decoding the Dolby TrueHD Stream rather than trying to extract a Dolby Digital Stream. If your hardware doesn't support multi-channel LPCM via HDMI then you are likely only hearing 2 of the 6 channels that XBMC is decoding. If your hardware does support multi-channel LPCM via HDMI then check this thread out ([LINUX] HOW-TO get multi-channel HD sound output working over NVIDIA HDMI)
If you don't want to do the work to get multi-LPCM working OR are only using optical or coaxial digital out then you need to go into Settings->System->Audio Output-> select "Downmix multi-channel to Stereo". I know this is not the same as getting a Dolby Digital bitstream out to your receiver but at least you will be able to hear the whole audio track. Oo I hope this helps.

-Bahndit
Reply
#7
Bahndit Wrote:You could extract the AC-3 stream beforehand and then mux the TrueHD and AC-3 as two seperate streams when you create the MKV. That way you can guarantee that XBMC will be able to see the AC-3 audio stream.

Yeah I thought about that as sort of a worst-case scenario. Although potentially that could result in 3 streams should XBMC eventually get the support worked out. I think my main concern is making sure the TrueHD is ACTUALLY getting muxed in correctly. Is there a way to make sure? As said, tsmuxer cant even see the audio stream once its in MKV (Although it does see DTS-MA without issue in MKV..)

Bahndit Wrote:What kind of Hardware are you using?

I am using a Zotac Atom + Ion board with an HDMI reciever (TrueHD and DTS-MA supported) I'm really not sure what the board supports as far as multi-channel LPCM, but I would hope it does. Regardless, I was under the impression that we currently could NOT decode TrueHD and DTS on the fly and transmit it in any useful method? I thought we had to use FLAC and multi-channel LPCM (which I am avoiding) Am I wrong?


Bahndit Wrote:If you don't want to do the work to get multi-LPCM working OR are only using optical or coaxial digital out then you need to go into Settings->System->Audio Output-> select "Downmix multi-channel to Stereo". I know this is not the same as getting a Dolby Digital bitstream out to your receiver but at least you will be able to hear the whole audio track.

Right, which is kind of lame and defeats the purpose of having surround sound! However I tried it to test something, and you're correct that then I get normal dialog. So, is XBMC actually decoding trueHD and it simply has no way of sending (Bitstreaming) it to the receiver (because TrueHD is a protected format?) At which point multi-channel LPCM would work, even though the little red 'Dolby' light wouldn't come on. ( Sad )

Thanks Bahndit for all your input! Any other help is appreciated!!

EDIT: Additional testing of using 'Downmix to Stereo' shows that I am also able to play the HDDVD's DD+ (eac3). So now I'm confused, I thought that DD+ (especially the HDDVD variant) was pretty much completely unsupported by everything, the only option being to encode to AC3 on the fly. I get that if TrueHD, DD+, etc are able to be decoded by XBMC and output as LPCM as raw audio (Meaning exactly as they sound from a standalone player?) then that's fantastic, but I would think encoding it to AC3 would have been a first step. If we can decode these protected formats on the fly, why cant we encode their cores back into a normal (old) format? Oo
Reply
#8
Bump!

So here's what I've found. Eac3to can extract TrueHD and the AC3 Core by exporting to *.thd+ac3. The mkvtoolnix can import this format, however it strips the AC3 core in the process. This is done intentionally by the developer, who has said that he has no intention of keeping the AC3 core. So we are out of luck hoping to use MKV as a container unless we can get XBMC to bitstream the TrueHD/DTS-MA track. Now there has been very little discussion of this, and I am a little confused. XBMC uses ffmpeg, not ffdshow (windows version of ffmpeg) right? And there is no "simple" way to use ffdshow instead (Wine maybe)? Or only for certain file types (.M2TS in this example)?

Just trying to get this all sorted out so I can find out how to come to a good resolution. Obviously I will need a ATI 5xxx or Asus Xonar, but with the addition of the Crystal HD card, couldn't we use the HD card for video decoding and the ATI or Asus for audio bitstreaming? Thanks for any input!

EDIT: I just thought I would share my proccess for converting my HDDVD .evo files (usually 2 per movie) into M2TS while keeping the subtitles, truehd AND ac3 intact for playback in XBMC. The audio is ONE stream in tsmuxer, but you can choose from TWO in XBMC (TrueHD is default, AC3 is option 2; I do not know how to reverse this nor care to)
________________________________________________

How to convert HDDVD with Dolby TrueHD to M2TS with Subtitles and an AC3 core:

1: Create a text file and name in CombineEvo.bat (Ignore this step if you prefer to use eac3to to combine the files during the demux process)
----Contains: copy /b 1.evo+2.evo output.evo
2: Rename both evo files and run CombineEvo.bat
3: Run eac3to output.evo 1: video.vc1 (or 264) 4: audio.thd+ac3 -strippulldown -progressnumbers 6: subtitle.sup
4: Run BDSup2Sub
5: Drag-and-drop subtitle.sup into BDSup2Sub and Save/Export as SUP(BD)
6: Run tsmuxer
7: Drag-and-drop video.vc1 (or 264) audio.thd+ac3 and subtitle.sup
8: Choose ENG for the audio and subtitle streams
9: Choose M2TS muxing
10: Choose start muxing

Process takes ~60 minutes to complete (30 for demux from eac3to and 30 minutes to mux into m2ts)

This process will convert your HDDVD evo files into a single movie file, with 2 selectable audio streams (XBMC)
which should allow for bitstreaming of TrueHD (someday) and bitstreaming of standard Dolby Digital today.
Reply
#9
anyone have any headway with this issue?



I feel like I am having the same issue runnin 9.11 with a Revo 1600 2gig ram. I have no audio over any (hd and SD) iso's AND I have no audio over m2ts and mkv's.
Reply
#10
Yes, I have TrueHD & DTS-core playing in any format. No need to convert on my Revo. My signature has a link for the setup guide I followed. It might be a bit dated now, but it still worked for me. Smile
------------------------------------------
Dharma Quick Setup Guide:
XBMC tips on the TechNazgul Blog
------------------------------------------
Reply

Logout Mark Read Team Forum Stats Members Help
HD Audio (Core) - Works with M2TS but not with MKV0