Format for reference below (minimum for audio):
Code: Select all
{ import java.math.RoundingMode
import net.filebot.Language
def isEng = any{audio.language ==~ /en/}{true}
def audioClean = { it.replaceAll(/[\p{Pd}\p{Space}]/, ' ').replaceAll(/\p{Space}{2,}/, ' ') }
// map Codec + Format Profile
def mCFP = [ "AC3" : "AC3",
"AC3+" : "E-AC3",
"AAC LC LC" : "AAC-LC",
"AAC LC SBR HE AAC LC": "HE-AAC" ]
audio.collect { au ->
def channels = any{ au['ChannelPositions/String2'] }{ au['Channel(s)_Original'] }{ au['Channel(s)'] }
def ch = channels.replaceAll(/Object\sBased\s\/|0.(?=\d.\d)/, '')
.tokenize('\\/').take(3)*.toDouble()
.inject(0, { a, b -> a + b }).findAll { it > 0 }
.max().toBigDecimal().setScale(1, RoundingMode.HALF_UP).toString()
def codec = audioClean(any{ au['CodecID/String'] }{ au['Codec/String'] }{ au['Codec'] })
def format = any{ au['CodecID/Hint'] }{ au['Format'] }
def format_profile = { if ( au['Format_Profile'] != null) audioClean(au['Format_Profile']) else '' }
def combined = allOf{codec}{format_profile}.join(' ')
def stream = allOf
{ ch }
{ mCFP.get(combined, format) }
{ Language.findLanguage(au['Language']).ISO3.upperInitial() }
return stream }*.join(" ").join(", ") }
Below the output of mediainfo -Full <file> (with MediaInfoLib - v17.12):
Code: Select all
Audio
Count : 296
Count of stream of this kind : 1
Kind of stream : Audio
Kind of stream : Audio
Stream identifier : 0
StreamOrder : 1
ID : 2
ID : 2
Unique ID : 10661863499529789102
Format : E-AC-3
Format/Info : Enhanced Audio Coding 3
Commercial name : E-AC-3
Format settings, Endianness : Big
Internet media type : audio/eac3
Codec ID : A_EAC3
Codec : AC3+
Codec : AC3+
Codec/Family : AC3
Codec/Info : Dolby Ehanced AC3
Duration : 1776984
Duration : 29 min 36 s
Duration : 29 min 36 s 984 ms
Duration : 29 min 36 s
Duration : 00:29:36.984
Duration : 00:29:36.984
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 640000
Bit rate : 640 kb/s
Channel(s) : 6
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Channel positions : 3/2/0.1
ChannelLayout : L C R LFE Ls Rs
Samples per frame : 256
Sampling rate : 48000
Sampling rate : 48.0 kHz
Samples count : 85295232
Frame rate : 187.500
Frame rate : 187.500 FPS (256 SPF)
Compression mode : Lossy
Compression mode : Lossy
Delay : 0
Delay : 00:00:00.000
Delay, origin : Container
Delay, origin : Container
Delay relative to video : 0
Delay relative to video : 00:00:00.000
Video0 delay : 0
Video0 delay : 00:00:00.000
Stream size : 142158720
Stream size : 136 MiB (20%)
Stream size : 136 MiB
Stream size : 136 MiB
Stream size : 136 MiB
Stream size : 135.6 MiB
Stream size : 136 MiB (20%)
Proportion of this stream : 0.20210
Language : en
Language : English
Language : English
Language : en
Language : eng
Language : en
Service kind : CM
Service kind : Complete Main
Default : Yes
Default : Yes
Forced : No
Forced : No
bsid : 16
dialnorm : -24
dialnorm : -24 dB
compr : -0.28
compr : -0.28 dB
acmod : 7
lfeon : 1
dialnorm_Average : -24
dialnorm_Average : -24 dB
dialnorm_Minimum : -24
dialnorm_Minimum : -24 dB
dialnorm_Maximum : -24
dialnorm_Maximum : -24 dB
dialnorm_Count : 867
compr_Average : 1.50
compr_Average : 1.50 dB
compr_Minimum : -0.86
compr_Minimum : -0.86 dB
compr_Maximum : 5.16
compr_Maximum : 5.16 dB
compr_Count : 572
Code: Select all
Format E-AC-3
Format/Info Enhanced Audio Coding 3
Format_Commercial E-AC-3
Format_Settings_Endianness Big
InternetMediaType audio/eac3
CodecID A_EAC3
Codec AC3+
Codec/String AC3+
Codec/Family AC3
Codec/Info Dolby Ehanced AC3
Duration 1734358
Duration/String 28 min 54 s
Duration/String1 28 min 54 s 358 ms
Duration/String2 28 min 54 s
Duration/String3 00:28:54.358
Duration/String5 00:28:54.358
BitRate_Mode CBR
BitRate_Mode/String Constant
BitRate 640000
BitRate/String 640 kb/s
Channel(s) 6
Channel(s)/String 6 channels
ChannelPositions Front: L C R, Side: L R, LFE
ChannelLayout L C R LFE Ls Rs
SamplesPerFrame 256
SamplingRate 48000
SamplingRate/String 48.0 kHz
FrameRate 187.500
FrameRate/String 187.500 FPS (256 SPF)
Compression_Mode Lossy
Compression_Mode/String Lossy
Delay 0
Delay/String3 00:00:00.000
Delay_Source Container
Delay_Source/String Container
Video_Delay 0
Video_Delay/String3 00:00:00.000
Video0_Delay 0
Video0_Delay/String3 00:00:00.000
StreamSize 138748640
StreamSize/String 132 MiB (21%)
StreamSize/String1 132 MiB
StreamSize/String2 132 MiB
StreamSize/String3 132 MiB
StreamSize/String4 132.3 MiB
StreamSize/String5 132 MiB (21%)
StreamSize_Proportion 0.20919
Language en
Language/String English
Language/String1 English
Language/String2 en
Language/String3 eng
Language/String4 en
ServiceKind CM
ServiceKind/String Complete Main
Default Yes
Default/String Yes
Forced No
Forced/String No
bsid 16
dialnorm -24
dialnorm/String -24 dB
compr -0.28
compr/String -0.28 dB
acmod 7
lfeon 1
dialnorm_Average -24
dialnorm_Average/String -24 dB
dialnorm_Minimum -24
dialnorm_Minimum/String -24 dB
dialnorm_Maximum -24
dialnorm_Maximum/String -24 dB
compr_Average 1.73
compr_Average/String 1.73 dB
compr_Minimum -3.25
compr_Minimum/String -3.25 dB
compr_Maximum 4.54
compr_Maximum/String 4.54 dB