HEVC Choppy/Stuttering Playback

Reported from Android Mobile Thread.

Server Version#:Latest
Player Version#:Latest

Hi,

I have just to noticed that HEVC Main 10 playback (24fps) 1080p appears choppy on the following devices:

Android TV Sony (2018) - Remote
Chromecast with Google TV (4K) - Local
Samsung A52s (Android 13) - Local and Remote
Samsung Tab S2 (Android 8) - Local

The issue does not appear to effect

App on NVidia Shield - Local
Web Client on Windows Plex Server (Win 11) - Local

They should be and show Direct Play.

Has there been any changes to the decoder in the client that would cause this.

To be honest this is the first time I’ve ever noticed any issues with HEVC on any of my connected clients.

Thanks

Issue update:

This playback does not appear to happen during playback of SD content (at 800kps)

Have tried the following:

Installed Beta client on Android Mobile device (Samsung A52S Android 13) from April 2021 - Still an issue

Installed Beta client on Android Mobile device (Samsung A52S Android 13) from April 2022 - Still an issue

Copied 1080p (HEVC Main 10) - 2000kps source mp4 to local file system on the android device

Native Samsung Media Player plays content perfectly

VLC Player plays content perfectly

Open local file from the latest Plex Beta Client playback is choppy

So there appears to be an issue with HEVC decoding efficiency in the Plex client causing the playback issues.

Can someone from Plex please look into this

This would appear to be a problem with the HEVC encoder in the

Update 2:

Installed latest version of Jellyfin server for windows and android.

HEVC playback is choppy (dropping frames?) with Jellyfin using ExoPlayer (Internal) - Direct play over LAN

HEVC playback is fine with Jellyfin using External MX Player - Direct play over LAN

HEVC playback is fine with Jellyfin using External VLC Player - Direct play over LAN

Both MX Player and VLC are decoding the file with no problems. It seems pretty logical to me that the issue is with the decoder in Exoplayer.

Can someone please submit to a Dev,

Info for a video file exhibiting the issue is displayed below.

Title: 1080p HEVC SDR
Codec: HEVC
Codec tag: hev1
Profile: Main 10
Level: 120
Resolution: 1920x1080
Aspect ratio: 16:9
Interlaced: No
Framerate: 23.976215
Bitrate: 2000 kbps
Bit depth: 10 bit
Video range: SDR
Video range type: SDR
Pixel format: yuv420p10le
Ref frames: 1

Audio
Title: English - AAC - 5.1 - Default
Language: eng
Codec: AAC
Codec tag: mp4a
Profile: LC
Layout: 5.1
Channels: 6 ch
Bitrate: 224 kbps
Sample rate: 48000 Hz
Default: Yes
Forced: No
External: No

Subtitle
Title: English - SUBRIP - External
Language: eng
Codec: SUBRIP
Default: No
Forced: No
External: Yes

Update 3:

I believe I have found the cause of this problem. Please see post:

After reprocessing an offending file with MKVToolNix the generated output performs flawlessly.

So my question is can a solution to this be implemented in Exoplayer?. It does appear to have been implemented in most other media players to address this issue on the fly.

VLC - Android
MX Player - Android
Samsung Media Player - Android

I’ve got the same exact problem. Is the solution simply to remux the mp4 to mkv?

Hi, Sorry for the late reply.

From memory I used MKVToolNix. Load the offending file as input. Set a destination and start the multiplexing operation.

The resultant file then plays fine on the client.

I had over 500 mp4 to remux to mkv, so I wound using a batch:
FOR %%A IN (*.mp4) DO "C:\Program Files\MKVToolNix\mkvmerge.exe" -o "%%~nA.mkv" "%%~A" --default-language en --language 1:en

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.