OS: Linux Mint Cinnamon and Solus Budgie
Drives: HL-DT-ST_BE-RE__WH16NS60, HL-DT-ST_BE-RE__WH16NS40
Plex Server: Version 1.28.2.6151 on NVIDIA Shield Pro and Solus Budgie
Played on: NVIDIA Shield Plex Media Player, Firefox Plex Browser Media Player, Windows Plex Media Player, and VLC
I lost a drive two weeks ago so had to rerip roughly 40 4K movies over a few days all in MakeMKV 1.17.1. I added them back into Plex, and there is no audio for any of them in when using the TrueHD 7.1 audio stream in any Plex Media Player. There is audio if I play them straight from VLC. All of these movies were playing that stream fine when I had them ripped before; I bought them between 2019 and Saturday (the two newest movies excluded since this is their first rip).
All rips pull all English audio streams and subtitles. Copies in multiple resolutions with equivalent open source codecs (AAC) for each audio stream are created in Handbrake as needed using H.264 video for 2160p as needed (I use the bluray version if it comes with one for the 1080p, 720p, and sometimes 480p resolutions) so I can play them pretty much everywhere. All custom presets are roughly two years old; I'm a software tester, so when I got serious about my media library, I did formal testing with documentation for H.264, H.265, V9, and V8 and each audio codec, and I documented myself to make sure everything worked.
I thought it was a Plex issue at first then checked the movies in mediainfo and noticed something weird going on with the channels and title. I started checking backward through my other drives with 4K movies. So far, all the movies ripped in 1.16.7 and 1.17.1 are having this same problem. 1.16.5 and anything before does not (so far): verified with Dune (2021), Jupiter Ascending, Annihilation, The Accountant, and some others at random. The discrepancy in metadata on 4K movies with TrueHD Audio also starts with 1.16.7. (Honestly, I might not have realized what was going on nearly this fast, much less the pattern--if I hadn't had to do rerip so many 4K movies in a week and was doing a fast check in Plex Media Player on my laptop instead of my TV; my Sonos setup can't do 7.1 Atmos, so I usually play in 5.1 by default.)
Mediainfo xlm for the TrueHD audio stream for 4K movies from 1.17.1, 1.16.7, and 1.16.5. See bolded sections.
Ripped in 1.17.1, Iron Man:
<track type="Audio" typeorder="1">
<StreamOrder>1</StreamOrder>
<ID>2</ID>
<OriginalSourceMedium_ID>4352</OriginalSourceMedium_ID>
<UniqueID>2</UniqueID>
<Format>MLP FBA</Format>
<Format_Commercial_IfAny>Dolby TrueHD with Dolby Atmos</Format_Commercial_IfAny>
<Format_AdditionalFeatures>16-ch</Format_AdditionalFeatures>
<CodecID>A_TRUEHD</CodecID>
<Duration>8861.979166666</Duration>
<BitRate_Mode>VBR</BitRate_Mode>
<BitRate>4620021</BitRate>
<BitRate_Maximum>7659000</BitRate_Maximum>
<Channels>1</Channels>
<Channels_Original>8</Channels_Original>
<ChannelPositions_Original>Front: L C R, Side: L R, Back: L R, LFE</ChannelPositions_Original>
<ChannelLayout_Original>L R C LFE Ls Rs Lb Rb</ChannelLayout_Original>
<SamplesPerFrame>40</SamplesPerFrame>
<SamplingRate>48000</SamplingRate>
<SamplingCount>425375000</SamplingCount>
<FrameRate>1200.000</FrameRate>
<FrameCount>10634375</FrameCount>
<BitDepth>24</BitDepth>
<Compression_Mode>Lossless</Compression_Mode>
<Delay>0.000</Delay>
<Delay_Source>Container</Delay_Source>
<StreamSize>5117816382</StreamSize>
<StreamSize_Proportion>0.09706</StreamSize_Proportion>
<Title>Surround</Title>
<Language>en</Language>
<Default>Yes</Default>
<Forced>No</Forced>
<extra>
<OriginalSourceMedium>Blu-ray</OriginalSourceMedium>
<NumberOfDynamicObjects>13</NumberOfDynamicObjects>
<BedChannelCount>1</BedChannelCount>
<BedChannelConfiguration>LFE</BedChannelConfiguration>
</extra>
</track>
Ripped in 1.16.7, Apocalypse Now (Final Cut)
<track type="Audio" typeorder="1">
<StreamOrder>1</StreamOrder>
<ID>2</ID>
<OriginalSourceMedium_ID>4352</OriginalSourceMedium_ID>
<UniqueID>2</UniqueID>
<Format>MLP FBA</Format>
<Format_Commercial_IfAny>Dolby TrueHD with Dolby Atmos</Format_Commercial_IfAny>
<Format_AdditionalFeatures>16-ch</Format_AdditionalFeatures>
<CodecID>A_TRUEHD</CodecID>
<Duration>10918.908333333</Duration>
<BitRate_Mode>VBR</BitRate_Mode>
<BitRate>5882487</BitRate>
<BitRate_Maximum>10209000</BitRate_Maximum>
<Channels>1</Channels>
<Channels_Original>8</Channels_Original>
<ChannelPositions_Original>Front: L C R, Side: L R, Back: L R, LFE</ChannelPositions_Original>
<ChannelLayout_Original>L R C LFE Ls Rs Lb Rb</ChannelLayout_Original>
<SamplesPerFrame>40</SamplesPerFrame>
<SamplingRate>48000</SamplingRate>
<SamplingCount>524107600</SamplingCount>
<FrameRate>1200.000</FrameRate>
<FrameCount>13102690</FrameCount>
<BitDepth>24</BitDepth>
<Compression_Mode>Lossless</Compression_Mode>
<Delay>0.000</Delay>
<Delay_Source>Container</Delay_Source>
<StreamSize>8028792082</StreamSize>
<StreamSize_Proportion>0.09210</StreamSize_Proportion>
<Title>Surround</Title>
<Language>en</Language>
<Default>Yes</Default>
<Forced>No</Forced>
<extra>
<OriginalSourceMedium>Blu-ray</OriginalSourceMedium>
<NumberOfDynamicObjects>11</NumberOfDynamicObjects>
<BedChannelCount>1</BedChannelCount>
<BedChannelConfiguration>LFE</BedChannelConfiguration>
</extra>
</track>
Ripped in 1.16.5, Dune:
<track type="Audio" typeorder="1">
<StreamOrder>1</StreamOrder>
<ID>2</ID>
<OriginalSourceMedium_ID>4352</OriginalSourceMedium_ID>
<UniqueID>2</UniqueID>
<Format>MLP FBA</Format>
<Format_Commercial_IfAny>Dolby TrueHD with Dolby Atmos</Format_Commercial_IfAny>
<Format_AdditionalFeatures>16-ch</Format_AdditionalFeatures>
<CodecID>A_TRUEHD</CodecID>
<Duration>9326.609166666</Duration>
<BitRate_Mode>VBR</BitRate_Mode>
<BitRate>3242671</BitRate>
<BitRate_Maximum>5472000</BitRate_Maximum>
<Channels>8</Channels>
<ChannelPositions>Front: L C R, Side: L R, Back: L R, LFE</ChannelPositions>
<ChannelLayout>L R C LFE Ls Rs Lb Rb</ChannelLayout>
<SamplesPerFrame>40</SamplesPerFrame>
<SamplingRate>48000</SamplingRate>
<SamplingCount>447677240</SamplingCount>
<FrameRate>1200.000</FrameRate>
<FrameCount>11191931</FrameCount>
<BitDepth>24</BitDepth>
<Compression_Mode>Lossless</Compression_Mode>
<Delay>0.000</Delay>
<Delay_Source>Container</Delay_Source>
<StreamSize>3780391034</StreamSize>
<StreamSize_Proportion>0.05002</StreamSize_Proportion>
<Title>Surround 7.1</Title>
<Language>en</Language>
<Default>Yes</Default>
<Forced>No</Forced>
<extra>
<OriginalSourceMedium>Blu-ray</OriginalSourceMedium>
<NumberOfDynamicObjects>11</NumberOfDynamicObjects>
<BedChannelCount>1</BedChannelCount>
<BedChannelConfiguration>LFE</BedChannelConfiguration>
</extra>
</track>
There may be other discrepancies, but these are the ones that jumped out at me.
In MakeMKV's GUI, when I highlight the TrueHD audio track on a 4K playlist before ripping, the following appears in the info box:
Track information
Type: Audio
Name: Surround (English)
Language: English
Codec: TrueHD Atmos
Channels: 0
Channel layout: 0 channels
Sample rate: 48000
Bits per sample: 24
MKV Flags: Default
Same movie but with the DD 5.1 Surround highlighted:
Track information
Type: Audio
Flags: Core audio
Name: Surround 5.1 (English)
Language: English
Codec: Dolby Digital
Channels: 6
Channel layout: 5.1(side)
Sample rate: 48000
- This issue is right now only occurring with TrueHD 7.1 audio streams that I've found; after checking all other audio streams in both the original rip and the Handbrake re-encodes, all other Dolby, all AAC and all DTS codecs seem unaffected.
- This problem occurs both when subtitles are on and off, and with psg or srt.
- Verified in Plex stats it is NOT transcoding but direct playing and Plex logs didn't show anything hinky going on.
- I haven't checked MakeMKV on Window 10 yet, as I don't rip on my laptop just on my servers.
Update:
- The problem is not showing in Windows 10. This is Linux-only problem.
- I ran a batch job with mediainfo on all my media and spreadsheeted the results; the only affected movies were ripped by MakeMKV 1.17.1 and 1.16.7, but four movies in 1.16.7 were fine; all problem media was ripped on or after 6/10/2022 on Mint Linux, which is when according to my amazon shopping history, I got Apocalypse Now. The last unaffected rips were the Matrix boxed set, which I got on 6/1/2022 and ripped the same day I got it.
- I did not recompile and reinstall MakeMKV between The Matrix and Apocalypse Now.
- I scrubbed and reinstalled my OS on my Mint machine mid-August, but the rip problem was occurring before and after that according to my shopping history.
- I have to assume it was a package update in Linux.
- I'm not even sure how to start researching this other than start with packages that affect metadata.
- The glibc problem is affecting my Solus machine but not my Linux Mint (it hasn't updated to the new version yet), so I'm assuming the they're not related, but considering expat is what parses the XML and it requires glibc, it actually might be from an earlier glibc update this summer.
- I am really absolutely refusing to think about reripping all those movies. Fortunately this is only affecting about fifty movies but that's still fifty movies.
- This problem also shows on 1080p blurays with TrueHD 7.1 and at least some TrueHD 5.1 in MakeMKV 1.17.1, 1.16.7, and 1.16.5. I didn't have a very large sample size with these to work with as a lot of 1080 blurays that come packaged with the 4K version use DTS.
- I am just not familiar enough with the meaning of all the metadata tags to be sure there isn't more missing so if anyone finds more, feel free to tell me.
Tested in Linux Mint (Cinnamon) and Solus (Budgie):
Direct Metadata Editing
- Download Mediainfo and MKVToolNix GUI
- In Mediainfo, select a file, open view in XML and verify all your audio streams have the right channels; in general, you're going to only be checking Audio Stream 1. For TrueHD the value of the Channels_Original field will be 8; for TrueHD 5.1, it'll be 6.
- In MKVToolNix, click on Header Editor and open the movie file.
- Expand each audio track with the codec A_TRUEHD
- Edit field Name from Surround to Surround 7.1 or Surround 5.1 depending on what you got from MediaInfo.
- Edit field Channels to 8 or 5. This will also automatically correct the Channel Position/Layout metdata fields which aren't available for direct editing on MKVToolNix.
- Save and reload, verify all is well.
- Repeat.
Handbrake's encoding will embed the correct metadata if you do audio passthru for the audio stream, If there's anything else missing I didn't catch that may cause problems and you want to be sure, this will do the trick.
But as of now, I recommend a metadata encode as it's much, much faster (by many orders of magnitude) and easier and seems to be working or at least, my headphones and Sonos speaker say so.