-
Notifications
You must be signed in to change notification settings - Fork 196
Description
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