High bitrate EAC3 audio stutters if transcoded by Linux PMS

Hi,

I’m facing some real issues when watching a movie with a high bitrate (e.g. 1536) EAC3 audio track in, transcoded to 5.1 AC3 by my Linux PMS. The video gets played smooth, but the audio stutters continuously, and the movie is totally unplayable.

I tried to install another PMS from scratch on another Linux machine and I got the same exact result.
I then tried to install a PMS on a Windows machine, and the problem is not present.
Every attempt has been done with the latest version of PMS, 1.27.2.5929.

Lower bitrate tracks (e.g. 768 kbps) play just fine.

The issue is present with any player I tried (Android TV, Android and Web).

Is the issue known?

Thank you

3 Likes

Need to know the particulars please.

Might you have a DEBUG log file ZIP (download the server logs after recreating the problem) ?

Plex Media Server Logs_2022-07-17_19-09-06.zip (293.6 KB)
Sure, here it is

Thank you for those but you’ve previously turned off DEBUG logging
(Settings - Server - General - Show Advanced).

Please turn it back on (click SAVE)

Now recreate and download again.

Sorry, here it is
Plex Media Server Logs_2022-07-17_19-42-44.zip (308.1 KB)

Thank you.

Looking at the log, I see no reason for an i7-10710U (CometLake) to have any difficulty with audio stutter , unless it’s the video file itself.

What is concerning is that if you lower the bitrate, it plays.

Is this a network problem?

I ask because, if audio-only transcode then an i7 has more than enough CPU to power through without the hardware (for video) which I will also address below.

Jul 17, 2022 19:41:57.223 [0x7f2d73caeb38] DEBUG - [Req#349e] We're going to try to auto-select a subtitle.
Jul 17, 2022 19:41:57.223 [0x7f2d73caeb38] DEBUG - [Req#349e] Audio Stream: 64692, Subtitle Stream: -1
Jul 17, 2022 19:41:57.224 [0x7f2d73caeb38] DEBUG - [Req#349e] [Now] User is ktm_91 (ID: 1)
Jul 17, 2022 19:41:57.224 [0x7f2d73caeb38] DEBUG - [Req#349e] [Now] Device is Firefox (Firefox).
Jul 17, 2022 19:41:57.224 [0x7f2d73caeb38] DEBUG - [Req#349e] [Now] Profile is Firefox
Jul 17, 2022 19:41:57.224 [0x7f2d73caeb38] DEBUG - [Req#349e] [Now] Updated play state for /library/metadata/31630.
Jul 17, 2022 19:41:57.224 [0x7f2d73caeb38] DEBUG - [Req#349e] Statistics: (wagk4xtkxeddthrlyyen7ad4) Reporting active playback in state 0 of type 1 (scrobble: 0) for account 1
Jul 17, 2022 19:41:57.225 [0x7f2d7487cb38] DEBUG - Completed: [192.168.1.2:55256] 200 GET /:/timeline?ratingKey=31630&key=%2Flibrary%2Fmetadata%2F31630&playbackTime=0&playQueueItemID=24909&state=playing&hasMDE=1&context=library%3Acontent.library&row=0&col=2&time=0&duration=6887000 (9 live) TLS GZIP 22ms 588 bytes (pipelined: 3)
Jul 17, 2022 19:41:57.240 [0x7f2d73c8bb38] DEBUG - Request: [192.168.1.2:55247 (Subnet)] GET /library/metadata/31630?includeExternalMedia=1&includePreferences=1&includeChapters=1&skipRefresh=1&includeConcerts=1&includeExtras=1&includeOnDeck=1&includePopularLeaves=1&includeStations=1&includeMarkers=1&asyncAugmentMetadata=1&checkFiles=1&asyncCheckFiles=0 (9 live) #34b3 TLS GZIP Signed-in Token (ktm_91) (Firefox)
Jul 17, 2022 19:41:57.246 [0x7f2d73c8bb38] DEBUG - [Req#34b3] We're going to try to auto-select a subtitle.
Jul 17, 2022 19:41:57.246 [0x7f2d73c8bb38] DEBUG - [Req#34b3] Audio Stream: 64692, Subtitle Stream: -1
Jul 17, 2022 19:41:57.249 [0x7f2d74859b38] DEBUG - Completed: [192.168.1.2:55247] 200 GET /library/metadata/31630?includeExternalMedia=1&includePreferences=1&includeChapters=1&skipRefresh=1&includeConcerts=1&includeExtras=1&includeOnDeck=1&includePopularLeaves=1&includeStations=1&includeMarkers=1&asyncAugmentMetadata=1&checkFiles=1&asyncCheckFiles=0 (9 live) TLS GZIP 8ms 3847 bytes (pipelined: 6)
Jul 17, 2022 19:41:57.264 [0x7f2d739deb38] DEBUG - Request: [192.168.1.2:55257 (Subnet)] GET /status/sessions (9 live) #34bc TLS GZIP Signed-in Token (ktm_91) (Firefox)
Jul 17, 2022 19:41:57.264 [0x7f2d739deb38] DEBUG - [Req#34bc] [Now] Adding 1 sessions.
Jul 17, 2022 19:41:57.265 [0x7f2d7487cb38] DEBUG - Completed: [192.168.1.2:55257] 200 GET /status/sessions (9 live) TLS GZIP 1ms 2817 bytes (pipelined: 3)
Jul 17, 2022 19:41:57.267 [0x7f2d73caeb38] DEBUG - Request: [192.168.1.2:55256 (Subnet)] GET /playQueues/1136?repeat=0&own=1&includeChapters=1&includeMarkers=1&includeGeolocation=1&includeExternalMedia=1 (9 live) #34cf TLS GZIP Signed-in Token (ktm_91) (Firefox)
Jul 17, 2022 19:41:57.267 [0x7f2d739deb38] DEBUG - Request: [192.168.1.2:55255 (Subnet)] GET /status/sessions (9 live) #3489 TLS GZIP Signed-in Token (ktm_91) (Firefox)
Jul 17, 2022 19:41:57.267 [0x7f2d739deb38] DEBUG - [Req#3489] [Now] Adding 1 sessions.
Jul 17, 2022 19:41:57.267 [0x7f2d73caeb38] DEBUG - [Req#34cf] PlayQueue: total generated: 1, before cursor: 0, after cursor: 0
Jul 17, 2022 19:41:57.268 [0x7f2d73caeb38] DEBUG - [Req#34cf] PlayQueue: No need to refresh, active window is operational.
Jul 17, 2022 19:41:57.268 [0x7f2d7487cb38] DEBUG - Completed: [192.168.1.2:55255] 200 GET /status/sessions (9 live) TLS GZIP 1ms 2817 bytes (pipelined: 2)
Jul 17, 2022 19:41:57.270 [0x7f2d73caeb38] DEBUG - [Req#34cf] PlayQueue: Client wagk4xtkxeddthrlyyen7ad4 requested ownership of play queue 1136, but already had it.
Jul 17, 2022 19:41:57.271 [0x7f2d73caeb38] DEBUG - We're going to try to auto-select a subtitle.
Jul 17, 2022 19:41:57.271 [0x7f2d73caeb38] DEBUG - Audio Stream: 64692, Subtitle Stream: -1
Jul 17, 2022 19:41:57.272 [0x7f2d7487cb38] DEBUG - Completed: [192.168.1.2:55256] 200 GET /playQueues/1136?repeat=0&own=1&includeChapters=1&includeMarkers=1&includeGeolocation=1&includeExternalMedia=1 (9 live) TLS GZIP 5ms 3127 bytes (pipelined: 4)
Jul 17, 2022 19:41:57.407 [0x7f2d73c8bb38] DEBUG - Request: [192.168.1.2:55247 (Subnet)] GET /video/:/transcode/universal/start.mpd?hasMDE=1&path=%2Flibrary%2Fmetadata%2F31630&mediaIndex=0&partIndex=0&protocol=dash&fastSeek=1&directPlay=0&directStream=1&subtitleSize=100&audioBoost=100&location=lan&addDebugOverlay=0&autoAdjustQuality=0&directStreamAudio=1&mediaBufferSize=102400&session=3bt4d9vm1fxvnlp8fs1pyac9&subtitles=burn&Accept-Language=it (9 live) #34d0 TLS GZIP Signed-in Token (ktm_91) (Firefox)
Jul 17, 2022 19:41:57.407 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] Found session GUID of 3bt4d9vm1fxvnlp8fs1pyac9 in session start.
Jul 17, 2022 19:41:57.407 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] TranscodeUniversalRequest: adapting profile with augmentation data: append-transcode-target-codec(type=videoProfile&context=streaming&audioCodec=aac&protocol=dash)
Jul 17, 2022 19:41:57.408 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] TranscodeUniversalRequest: using augmented profile Firefox
Jul 17, 2022 19:41:57.408 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] Downloading document http://127.0.0.1:32400/library/metadata/31630?checkFiles=1&includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=pfh6cz26a0rjyjwywbof02ld
Jul 17, 2022 19:41:57.417 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode/Req#34d4] We're going to try to auto-select a subtitle.
Jul 17, 2022 19:41:57.417 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode/Req#34d4] Audio Stream: 64692, Subtitle Stream: -1
Jul 17, 2022 19:41:57.418 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] Found session GUID of 3bt4d9vm1fxvnlp8fs1pyac9 in session start.
Jul 17, 2022 19:41:57.418 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] Cleaning directory for session 3bt4d9vm1fxvnlp8fs1pyac9 ()
Jul 17, 2022 19:41:57.418 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] Starting a transcode session 3bt4d9vm1fxvnlp8fs1pyac9 at offset -1.0 (state=3)
Jul 17, 2022 19:41:57.418 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Jul 17, 2022 19:41:57.418 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] [Universal] Using local file path instead of URL: /media/smb_share_1/Disastro a Cloudy Mountain.mkv
Jul 17, 2022 19:41:57.418 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] TPU: hardware transcoding: final decoder: , final encoder: 
Jul 17, 2022 19:41:57.418 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode/JobRunner] Job running: EAE_ROOT=/tmp/pms-f40053c2-9b56-4bb1-83e1-dfa98cc1dc1f/EasyAudioEncoder FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/d53cb63-4323-linux-x86_64/' X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxx "/usr/lib/plexmediaserver/Plex Transcoder" -codec:0 h264 -codec:1 eac3_eae -eae_prefix:1 3bt4d9vm1fxvnlp8fs1pyac9_ -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i "/media/smb_share_1/Disastro a Cloudy Mountain.mkv" -map 0:0 -metadata:s:0 language=zho -codec:0 copy -filter_complex "[0:1] aresample=async=1:ocl='stereo':rematrix_maxval=0.000000dB:osr=48000[0]" -map "[0]" -metadata:s:1 language=ita -codec:1 aac -b:1 256k -f dash -seg_duration 5 -dash_segment_type mp4 -init_seg_name 'init-stream$RepresentationID$.m4s' -media_seg_name 'chunk-stream$RepresentationID$-$Number%05d$.m4s' -window_size 5 -delete_removed false -skip_to_segment 1 -time_delta 0.0625 -manifest_name "http://127.0.0.1:32400/video/:/transcode/session/3bt4d9vm1fxvnlp8fs1pyac9/83057e06-1c50-4e31-bc37-deced2a121d4/manifest?X-Plex-Http-Pipeline=infinite" -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 dash -start_at_zero -copyts -vsync cfr -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/3bt4d9vm1fxvnlp8fs1pyac9/83057e06-1c50-4e31-bc37-deced2a121d4/progress
Jul 17, 2022 19:41:57.418 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode/JobRunner] Jobs: Starting child process with pid 2227

This CPU has Quick Sync (hardware transcoding) but it was not found by the transcoder.

Jul 17, 2022 19:41:57.418 [0x7f2d73c8bb38] DEBUG - [Req#34d0/Transcode] TPU: hardware transcoding: enabled, but no hardware decode accelerator found

Is this machine in a VM or aren’t the Intel Compute Runtime libraries loaded ?

It is a VMware ESXi Debian VM with the Intel iGPU passed-through, and as far as I knowed it works, as I see the (hw) notation if I transcode a movie. When I update plexmediaserver I get the following messages:

PlexMediaServer install:   Processor:           i7-10710U
PlexMediaServer install:   Intel i915 Hardware: Found
PlexMediaServer install:   Nvidia GPU card:     Not Found
PlexMediaServer install:
PlexMediaServer install:   OpenCL:              Installed
PlexMediaServer install:   Intel Gmmlib:        Installed
PlexMediaServer install:   Intel IGC Core:      Installed
PlexMediaServer install:   Intel IGC OpenCL:    Installed
PlexMediaServer install:   Intel OpenCL ICD:    Installed

Doesn’t it mean that both the hardware and the software are ok?

Anyway, I did the other 2 tests on my old desktop PC (that is connected through the same network), with 2 VMware Workstation VMs, so with no GPU passthrough, and the Windows one transcoded the same high bitrate EAC3 audio track without any issue.

The only different variable in my tests is the OS of the machines: Windows does the job well while Debian not.
Is there any other test that I can do to help you investigate?

With the indications you’re showing -

  • i915 being found by the installer
  • The Intel Compute Runtime libraries being checked

There’s no reason it shouldn’t work.

How many vCPUs are assigned to the VM?

Comparing Windows to Linux doesn’t help here. (It only confuses me because I don’t know anything about Windows)

I have an ESXi (7.01b) VM on an i7-8809G CPU with

  • 4 vCPUs assigned
  • 16 GB of RAM
  • UHD630 passthrough

In this configuration, I can transcode anything without failure. ( 100+ Mbps video w/ the audio from theBluRay)

I suspect there’s a configuration error there somewhere; something very minor

I gave each of the 12 cores and 4 GB of RAM to the VM.

I actually ran into this problem last week, after more than a year with this configuration. After some troubleshooting I figured out that it was caused by the audio track. I confirmed this by trying to play other movies with the same EAC3 bitrate and getting the same result. 768 and ~1000 kbps are ok, 1536 stutters, no matter what destination codec/number of channels. Also, I get no problems with higher bitrate audio tracks with other codecs (e.g. a 3042 kbps TRUEHD track plays just fine, of course also being transcoded). The video bitrate is not a problem.

Converting offline the audio track of the movie to a lower (768 kbps) bitrate, makes obviously the movie perfectly playable.

As for the configuration error, as I said I made a new VM from scratch and it had the same exact issue.

Have you tried with the precise same high bitrate EAC3 track with your PMS? I can give you a brief extract of my movie(s) if necessary to troubleshoot.

I can’tt find super high bitrate,

I have these.

Can you give me a sample of your file(s) which fail?

Well… I don’t know why but I haven’t any issue playing your tracks (I muxed them into a video to play with Plex).

Here are two of my tracks that stutter:

1.mka
2.mka

Playing them with Windows Media Player or VLC (or the original entire movies with VLC) gives no problems.

I did a little A/V remuxing.

I combined “Jellyfish” 20 Mbps H264 with the audio :smiling_imp:

I observed a clear “chop”.

The audio would play, then a gap, then continue – repeating over and over – until the 30 second video length ended.

Submitted to the transcoder team

1 Like

Any news from the transcoder team?

@ktm_91

No news yet. I don’t usually know of things until the Release Announcements are in draft form for review (make sure everything is included)

Engineering usually works in 4-6 week cycles. S

Any news on this? It’s already been several weeks and the issue is still there…

Nothing?

There isn’t anything yet on anything I have access to. Sorry

Still nothing?

I just checked on the status.

It is in the queue to do.

There was a huge amount of transcoder work ahead of it which just finished and will be released in PMS 1.29.1

Based on my past experience, with the logs and samples, this should be easy to fix now that the bigger task is complete.

Would like to add that it seems I’m also seeing this issue, I thought it might be that the audio is 24bit but maybe it’s also the bitrate.

at minimum here’s the mediainfo output for the audio

Audio
ID                                       : 2
Format                                   : E-AC-3   
Format/Info                              : Enhanced AC-3
Commercial name                          : Dolby Digital Plus
Codec ID                                 : A_EAC3   
Duration                                 : 24 min 35 s
Bit rate mode                            : Constant
Bit rate                                 : 1 536 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 62.500 FPS (768 SPF)
Bit depth                                : 24 bits
Compression mode                         : Lossy
Stream size                              : 270 MiB (9%)
Title                                    : Surround 5.1
Writing library                          : Lavc58.91.100 eac3
Language                                 : English  
Service kind                             : Complete Main
Default                                  : Yes
Forced                                   : No

If needed I can procure logs and/or provide a sample of the audio (with video if necessary).

1 Like