Skip to content

Atmos embedded as JOC metadata within EAC3/TrueHD #1742

@JasonMeudt

Description

@JasonMeudt

In applying any level of filters to audio streams, Atmos encoding data is lost. To retain that data, copying the stream, regardless of the actual data availability, is the only way to ensure that Atmos data is retained. Is there a way that applying filters can ONLY be done for streams that DO NOT have Atmos encoding?

I believe that Atmos data is embedded as JOC metadata within EAC3/TrueHD streams but does not appear to be exposed in any standard SMA fields. FFmpeg can detect JOC (Atmos) ala:

ffprobe -v quiet -show_streams -show_format "Dolby Atmos TrueHD, E-AC-3 5.1.2.mkv" 2>&1 | grep -i 'atmos'

which should show something similiar to:

profile=Dolby TrueHD + Dolby Atmos
profile=Dolby Digital Plus + Dolby Atmos
filename=Dolby Atmos TrueHD, E-AC-3 5.1.2.mkv
TAG:title=2016 Dolby Atmos® Demo Disc

or using mediainfo:

mediainfo --Full "Dolby Atmos TrueHD, E-AC-3 5.1.2.mkv" | grep -i 'JOC'

shows:

Audio_Format_List                        : MLP FBA 16-ch / AC-3 / E-AC-3 JOC / AC-3
Audio_Format_WithHint_List               : MLP FBA 16-ch / AC-3 / E-AC-3 JOC / AC-3
Audio codecs                             : MLP FBA 16-ch / AC-3 / E-AC-3 JOC / AC-3
Format                                   : E-AC-3 JOC
Format_AdditionalFeatures                : Dep JOC

If it is currently available to 'see' and act on currently, can you explain further, or if not, is this something that you would explore adding? In short, I am looking to apply filters to all streams EXCEPT those with Atmos data/extensions.

Right now, I am forced to copy ALL original steams and then create a seperate stream ala:

copy-original = True
force-filter = True

which will give me:

Filter one stream (→ positional data lost)
Copy original stream untouched (→ positional data preserved)

Note: Atmos Files @ https://drive.google.com/drive/folders/1JxmeedtAtgmoafXv9rroiDOS2vEX7N4b

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions