Request: Dolby Atmos and DTS:X indicators and filters

Hopefully this is something that can be done. Currently Atmos and DTS:X audio tracks only show as TrueHD and DTS-MA 7.1 respectively. Please add the ability for Plex to show that a video actually has Atmos and DTS:X audio in them. And it would also be awesome to be able to filter videos that have those audio formats as well.

11 Likes

I have come up with a workaround of sorts to filter all Atmos tracks.

You will need to install download sqlite - https://www.sqlite.org/download.html

Prerequisite:

  1. Have the word “Atmos” somewhere in your file name, e.g. “American.Sniper.2014.1080p.BluRay.x264.TrueHD.7.1.Atmos”
  2. Manually modify one movie in you library and add the tag “Dolby Atmos” to the Collections field. This will create the appropriate tag.
  3. N.B. MAKE A BACKUP OF YOUR “com.plexapp.plugins.library.db” FILE BEFORE PROCEEDING. I TAKE NO RESPONSIBILTY FOR ANYONE SCREWING UP THEIR LIBRARY.

The below script does a number of things:
2. Correctly assocaiates either TrueHD or DTS-HD MA as the audio codec regardless of the track position in the video file.
3. It will choose TrueHD above DTS-HD MA as the default track.
4. The script will then search for all files that have a truehd track and have “Atmos” in the file name and add the tag “Dolby Atmos” to it.

Save the below sql to a file called “plex_db_jobs.sql”.

update media_items set audio_codec='dtshd_ma' where metadata_item_id in (SELECT metadata_item_id from media_items where id in (select media_item_id from media_streams where codec='dtshd_ma'));

update media_items set audio_codec='truehd' where metadata_item_id in (SELECT metadata_item_id from media_items where id in (select media_item_id from media_streams where codec='truehd'));

INSERT INTO taggings (metadata_item_id, tag_id, [index], created_at) SELECT t.id, (select id from tags where tag='Dolby Atmos'), (select count(*) from taggings where metadata_item_id=t.id and tag_id in (select id from tags where tag_type in (select tag_type from tags where tag='Dolby Atmos'))),CURRENT_TIMESTAMP from metadata_items t where id in (select metadata_item_id from media_items where id in (select media_item_id from media_parts where file like '%Atmos%') and audio_codec='truehd' and library_section_id in (select id from library_sections where section_type=1)) and tags_collection not like '%Dolby Atmos%';

update metadata_items set tags_collection='Dolby Atmos' where ((tags_collection not like '%Dolby Atmos%') and (tags_collection is '' or tags_collection is null)) and id in (SELECT metadata_item_id from media_items where id in (select media_item_id from media_parts where file like '%Atmos%') and audio_codec='truehd') and library_section_id in (select id from library_sections where section_type=1);

update metadata_items set tags_collection=tags_collection || '|Dolby Atmos' where ((tags_collection not like '%Dolby Atmos%') and (tags_collection is not '' or tags_collection is not null)) and id in (SELECT metadata_item_id from media_items where id in (select media_item_id from media_parts where file like '%Atmos%') and audio_codec='truehd') and library_section_id in (select id from library_sections where section_type=1);

update media_streams set [default]=1 where codec='truehd';

update media_streams set [default]=0 where codec='dca' and media_item_id in (select media_item_id from media_streams where codec='truehd');

Once complete you can add a filter to library section to show just the movies with “Dolby Atmos”.

To execute it run the following:

sqlite3 "%LOCALAPPDATA%\Plex Media Server\Plug-in Support\Databases\com.plexapp.plugins.library.db" ".read plex_db_jobs.sql"

1 Like

How is this still a thing that Plex does not do? I mean, seriously, Plex still doesn’t identify these tracks properly and Atmos has been out for a couple years at this point. Thank goodness we have News now instead of focusing on updating actual core capability.

Hello. I also would like to see Dolby Atmos and DTS-X metadata or an indicator implemented in Plex.

+1 for this feature.