When playing a movie with TrueHD audio on my TV, Plex transcodes the audio from TrueHD to EAC3 because my TV can’t decode TrueHD.
I’ve noticed that this will have the volume fluctuate weirdly sometimes. It can be subtle, but it’s very obvious and annoying in other places. It’s like atrocious volume normalization.
I have narrowed down the issue to the transcoder and rules out my TV: I have grabbed the transcode segment from Plex’s tmp directory. Playback on my PC gives the exact same phenomenon, the volume clearly fluctuates the same way. (I changed the video quality to 240p to force plex to create the temp files, before it would only create the EAC files and grabbing those is rather tricky because it deletes them constantly)
I could attach the sample clip here, but I’m not sure how that is copyright wise, it’s 3 seconds long.
Here are the settings that Plex uses for transcoding:
Mar 27, 2021 15:06:33.712 [0x7f6fc2ffd700] DEBUG - [Transcode/JobRunner] Job running: EAE_ROOT='/tmp/pms-7654c25b-9147-43a3-8b95-cb3f9eb380aa/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/config/Library/Application\ Support/Plex\ Media\ Server/Codecs/73e06c8-3759-linux-x86_64/' X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxj' '/usr/lib/plexmediaserver/Plex Transcoder'
'-codec:0' 'hevc'
'-codec:1' 'truehd_eae'
'-eae_prefix:1' 'qldeahgxhijtfk0kfkd2kq6s_'
'-noaccurate_seek'
'-analyzeduration' '20000000'
'-probesize' '20000000'
'-i' '/media/Movies/2160p HDR/Star Trek Into Darkness (2013)/Star Trek Into Darkness UHD Remux.mkv'
'-map' '0:0'
'-metadata:s:0' 'language=eng'
'-codec:0' 'copy'
'-filter_complex' '[0:1] aresample=async=1:ocl='\''7.1'\'':rematrix_maxval=60.000000dB:osr=48000[0]'
'-map' '[0]'
'-metadata:s:1' 'language=eng'
'-codec:1' 'eac3_eae'
'-eae_prefix:1' 'qldeahgxhijtfk0kfkd2kq6s_'
'-b:1' '1000k'
'-segment_format' 'mpegts'
'-f' 'ssegment'
'-individual_header_trailer' '0'
'-segment_time' '10'
'-segment_start_number' '0'
'-segment_copyts' '1'
'-segment_time_delta' '0.0625'
'-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/qldeahgxhijtfk0kfkd2kq6s/2ecec0bc-cd05-4174-b5f8-d3380f09c211/seglist?X-Plex-Http-Pipeline=infinite'
'-segment_list_type' 'csv'
'-segment_list_size' '5'
'-segment_list_separate_stream_times' '1'
'-segment_list_unfinished' '1'
'-max_delay' '5000000'
'-avoid_negative_ts' 'disabled'
'-map_metadata'
'-1'
'-map_chapters'
'-1' 'media-%05d.ts'
'-start_at_zero'
'-copyts'
'-vsync' 'cfr'
'-y'
'-nostats'
'-loglevel' 'quiet'
'-loglevel_plex' 'error'
'-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/qldeahgxhijtfk0kfkd2kq6s/2ecec0bc-cd05-4174-b5f8-d3380f09c211/progress'
I’m running Version 1.22.1.4228 of PMS on a Synology via Docker.
I’m guessing this might be the interesting part: ‘-filter_complex’ ‘[0:1] aresample=async=1:ocl=’’‘7.1’’’:rematrix_maxval=60.000000dB:osr=48000[0]’
rematrix_maxval seems like the obvious one that might affect the volume somehow, since that appears to be some kind of normalization.
However, based on my understanding, rematrixing shouldn’t dynamically adjust based on content, but affect the audio equally over time, no?
Is this a known phenomenon?