HEVC direct playback stutter on several devices (chromecast, Pixel 7, Sony/Samsung TV - ionceturnedintoanewt - 2024-08-18
Hi guys,
I'm having some issues where some HEVC movies struggle playing in some devices. I've noticed these issues on the Jellyfin Android app for phone, and the Jellyfin for Android TV one too. If I lower the option for bitrate up to the point the resolution changes (the movie's bitrate ain't that much in Lost in Translation for example), then finally the server kicks in with a transcode, and THEN playback is fine. But I seem to have trouble if there's a direct HEVC playback. Audio plays ok, but the movie stutters a bit. If I change the internal player to the web player, the stutter is way more pronounced, as it seems to throw some previous video frames in from time to time, leading to some very jerky movement. If I choose VLC as internal player, then there's no problem playing the movie.
Also tested on Jellyfin Desktop Media Player flatpak, this has no issues and takes every format like a champ.
Is there anyone else having trouble direct streaming some HEVC movies?
RE: HEVC direct playback stutter on several devices (chromecast, Pixel 7, Sony/Samsung TV - TheDreadPirate - 2024-08-18
Are these clients having issues for every HEVC direct play or just some? Can you share the media info from the Jellyfin UI for the problem media?
And what model Android and Android TV clients?
RE: HEVC direct playback stutter on several devices (chromecast, Pixel 7, Sony/Samsung TV - Cubito23 - 2025-02-20
Hi. I have the same problem as the other user described.
Here's the media info of a file with the problem:
Quote:General
Complete name : \\TRUENAS\media\movies\[2012] Prometheus.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/mp41)
File size : 1.93 GiB
Duration : 2 h 3 min
Overall bit rate : 2 231 kb/s
Frame rate : 23.976 FPS
Movie name : Prometheus.2012.1080p.BluRay.x265-RARBG
Writing application : Lavf60.16.100
Comment : Prometheus.2012.1080p.BluRay.x265-RARBG
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L4@Main
Codec ID : hev1
Codec ID/Info : High Efficiency Video Coding
Duration : 2 h 3 min
Source duration : 2 h 3 min
Bit rate : 2 000 kb/s
Width : 1 920 pixels
Height : 800 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Variable
Frame rate : 23.976 (24000/1001) FPS
Minimum frame rate : 23.976 FPS
Maximum frame rate : 24.110 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.054
Stream size : 1.73 GiB (90%)
Source stream size : 1.73 GiB (90%)
Writing library : x265 3.3+4-rarbg-30eb4de83092:[Linux][GCC 8.3.1][64 bit] 10bit
Encoding settings : cpuid=1111039 / frame-threads=4 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x800 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=3 / limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=abr / bitrate=2000 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=2 / cplxblur=20.0 / qblur=0.5 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=2 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.01 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0
Codec configuration box : hvcC
Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 2 h 3 min
Source duration : 2 h 3 min
Bit rate mode : Constant
Bit rate : 224 kb/s
Channel(s) : 6 channels
Channel layout : C L R Ls Rs LFE
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 198 MiB (10%)
Source stream size : 198 MiB (10%)
Language : English
Default : Yes
Alternate group : 1
Here's the media info of a different HEVC file that works fine:
Quote:General
Complete name : \\TRUENAS\media\movies\[2017] The Post.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/mp41)
File size : 1.81 GiB
Duration : 1 h 55 min
Overall bit rate : 2 228 kb/s
Frame rate : 23.976 FPS
Movie name : The.Post.2017.1080p.BluRay.x265-RARBG
Encoded date : 2020-05-17 10:57:50 UTC
Tagged date : 2020-05-17 10:57:50 UTC
Writing application : Lavf58.20.100
Comment : The.Post.2017.1080p.BluRay.x265-RARBG
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L4@Main
Codec ID : hev1
Codec ID/Info : High Efficiency Video Coding
Duration : 1 h 55 min
Bit rate : 1 998 kb/s
Width : 1 920 pixels
Height : 1 036 pixels
Display aspect ratio : 1.85:1
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.042
Stream size : 1.62 GiB (90%)
Writing library : x265 3.3+4-rarbg-30eb4de83092:[Linux][GCC 8.3.1][64 bit] 10bit
Encoding settings : cpuid=1111039 / frame-threads=4 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x1036 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=3 / limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=abr / bitrate=2000 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=2 / cplxblur=20.0 / qblur=0.5 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=2 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.01 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0
Encoded date : 2020-05-17 10:57:50 UTC
Tagged date : 2020-05-17 10:57:50 UTC
Codec configuration box : hvcC
Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 1 h 55 min
Bit rate mode : Constant
Bit rate : 224 kb/s
Channel(s) : 6 channels
Channel layout : C L R Ls Rs LFE
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 186 MiB (10%)
Language : English
Default : Yes
Alternate group : 1
Encoded date : 2020-05-17 10:57:50 UTC
Tagged date : 2020-05-17 10:57:50 UTC
The TV with the issue runs Android TV 11.
The phone with the issue is a Samsung Galaxy S21 running Android 14.
Any help is appreciated.
RE: HEVC direct playback stutter on several devices (chromecast, Pixel 7, Sony/Samsung TV - TheDreadPirate - 2025-02-20
How is the video being played on each device? Transcoded or direct play? And on the phone, is it set to use the web player or integrated player?
RE: HEVC direct playback stutter on several devices (chromecast, Pixel 7, Sony/Samsung TV - Cubito23 - 2025-02-20
Direct play. As the other user mentioned, if I set the option for bitrate low enough, transcoding kicks in and the video plays fine.
The phone uses the web player. The integrated one doesn't even play HEVC.
RE: HEVC direct playback stutter on several devices (chromecast, Pixel 7, Sony/Samsung TV - TheDreadPirate - 2025-02-20
The integrated player should play HEVC (it does on mine), and your phone should support it as well.
But regarding the TV with the stuttering issue, there isn't anything special or unusual about either video.
Can you try remuxing the video? Sometimes a bad container (the mp4 container) can cause stuttering issues on some devices.
What OS is the server running and how is Jellyfin installed? So I can give OS specific instructions for the ffmpeg command.
|