Chromecast Ultra-Some HVEC(H.265) movies suffer really annoying stutter/jerkiness (Framerate issue)?

Server Version#: Version 1.32.6.7557
Player Version#: Chromecast Ultra FW: 1.56.281627

Hardware: Plex server, Chromecast Ultra (CCU), Ethernet connection, 2019 Toshiba LCD TV

Strange issue I cant figure out. Some HVEC (H.265) movies suffer really annoying stutter/jerkiness whilst watching, making them borderline unwatchable.

I suspect it’s a frame rate issue like skipping or unsynchronised frames.

The strange thing is some (seemingly identical) HVEC (H.265) media will play flawlessly whilst others suffer.

I’ve tried pretty much everything I can think of. It’s defiantly not connection speeds or any CCU/TV settings.

It’s almost as if the CCU isn’t adjusting the frame rate properly or Plex/Played media isn’t transferring the correct info to the CCU for it to set the frame rate properly.

Does anyone have any suggestions on the cause and if there’s a way to fix?

I’ve included working vs Non working media metadata (From Plex) below. They’re virtually identical but one will play perfectly whilst the other will not.

Example Media: Not Working = stutter/jerkiness

Duration 2:22:33

Bitrate 2223 kbps

Width 1920

Height 800

Aspect Ratio 2.35

Video Resolution 1080p

Container MP4

Video Frame Rate 24p

Web Optimized No

Audio Profile lc

Video Profile main 10

Part

File *****************1080p.BluRay.x265.mp4

Size 2.22 GB

Audio Profile lc

Container MP4

Web Optimized No

Video Profile main 10

Codec HEVC

Bitrate 1999 kbps

Bit Depth 10

Chroma Location left

Chroma Subsampling 4:2:0

Codec ID hev1

Coded Height 800

Coded Width 1920

Color Range tv

Frame Rate 23.976 fps

Height 800

Level 4.0

Profile main 10

Ref Frames 1

Stream Identifier 1

Width 1920

Display Title 1080p (HEVC Main 10)

Extended Display Title 1080p (HEVC Main 10)

Codec AAC

Channels 6

Bitrate 224 kbps

Language English

Language Tag en

Audio Channel Layout 5.1

Profile lc

Sampling Rate 48000 Hz

Stream Identifier 2

Display Title English (AAC 5.1)

Extended Display Title English (AAC 5.1)

Example Media: Working = Plays flawlessly

Duration 1:36:48

Bitrate 2224 kbps

Width 1920

Height 800

Aspect Ratio 2.35

Video Resolution 1080p

Container MP4

Video Frame Rate 24p

Web Optimized No

Audio Profile lc

Video Profile main 10

Part

Duration 1:36:48

File *****************1080p.BluRay.x265.mp4

Size 1.51 GB

Audio Profile lc

Container MP4

Web Optimized No

Video Profile main 10

Codec HEVC

Bitrate 2000 kbps

Bit Depth 10

Chroma Location left

Chroma Subsampling 4:2:0

Codec ID hev1

Coded Height 800

Coded Width 1920

Color Range tv

Frame Rate 23.976 fps

Height 800

Level 4.0

Profile main 10

Ref Frames 1

Stream Identifier 1

Width 1920

Display Title 1080p (HEVC Main 10)

Extended Display Title 1080p (HEVC Main 10)

Codec AAC

Channels 6

Bitrate 224 kbps

Language English

Language Tag en

Audio Channel Layout 5.1

Profile lc

Sampling Rate 48000 Hz

Stream Identifier 2

Display Title English (AAC 5.1)

Extended Display Title English (AAC 5.1)

1 Like

BUMP

Could the mp4 file interleaving be an issue? Is the chromecast struggling to play a non interleaved file?

From: streaming - What makes a MP4 streamable? - Super User

"As far as I know, MP4 container files may have their metadata (audio/video tracks, codec information) either at the beginning of the file before the actual data, or at the end. If the metadata is placed at the end, a player can’t decode the video stream until it has downloaded the entire thing (unless it can seek through the file, which is e.g. possible using HTTP range requests).

For example, this file has mdat before moov, so it’s not streamable as-is:

$ atomicparsley foo.mp4 -T
Atom ftyp @ 0 of size: 32, ends @ 32
Atom free @ 32 of size: 8, ends @ 40
Atom mdat @ 40 of size: 3280091, ends @ 3280131
Atom moov @ 3280131 of size: 139261, ends @ 3419392
     Atom mvhd @ 3280139 of size: 108, ends @ 3280247
     Atom trak @ 3280247 of size: 57400, ends @ 3337647
         Atom tkhd @ 3280255 of size: 92, ends @ 3280347
     ...
     Atom trak @ 3337647 of size: 81158, ends @ 3418805
         Atom tkhd @ 3337655 of size: 92, ends @ 3337747
     ...

See e.g. the FFMPEG “faststart” article.

Additionally (as I just found out), the audio track data can be either interleaved with video data, or not. If it’s not interleaved for some reason, the player again needs to wait for the entire audio stream to be downloaded before it starts receiving video data (again unless it can seek back/forward)."

yes exactly the same issue, i get this on Google Chromecast 4k and Sony TVs (all of them it seems)
the same content on LG and Samsung TVs and using Windows is 100% fine never a skip

What i found is have a look at the full frame rate using VLC or something 23.976 is truncated by plex.. resolution dosnt make a difference.. just the fps

Good files are 23.976024
Bad files are 23.976216

I only see this in movies, most TV shows are MKV format which dosnt seem effected by this bug

my examples from vlc

1 Like

Yes, I’ve only noticed this with movies too. So logically thinking, to me this seems like a hardware/decoder issue rather than a Plex issue. Would you agree?

it used to be fine and now it isnt… unless all android hardware has the same issue

Tested it myself and you’re right, it does seem to be due to different frame rates.

1 Like

yeah… its repeatable… as you have shown too
never an issue on a windows, LG or samsung OS, just android i suspect its the same issue apple devices are having as well
@Don_Keballs can you please add android tv to the tags as well for this topic?

1 Like

Agreed, never an issue for me on PC or LG TV. Have added Android TV tag to my post.

im not sure how to escalate from here to see if this is known or not to the plex team
@BigWheel i see you have helped on other similar issues what the best way to go from here please

is it possible to get a sample file that causes the issue with the 23.976216 i can give to our QA folks to test with. You can put it on google drive or similar and message me a link. They may already have one but would like to be sure so I can add to report.

2 Likes

Thanks for the reply. I’ve messaged you a link to the file sample you requested.

thanks as well, if you need any logs just sing out… tho i think this should be pretty easy to reproduce

Hi all

I have similar issues which makes me nuts. I have two TVs and on both an chromecast ultra connected. One TV is a 4k device, the other an 1080 full hd.

when I try to play 1080p content on the 4k device from plex it works, when starting a stream to the chromecast on the full hd device the playback stucks on 0:00 seconds an never starts.

Hiya,

Just to add my two pence on this issue. I had the same problem playing h.265 on Chromecast specifically. Plays fine on the plex app on my phone, and plays fine when streamed over the internet to my friends house who plays it on the plex app on their tv. The appears to be specifically with the chromecast. I’ve had to re-encode all h.265 to h.264 to fix the issue.

same issue here…

do you have any update on this?

No updates or resolutions yet AFAIK.

I was going to submit a issue to the Google Chrome-cast dev team via https://issuetracker.google.com/u/3/issues/new

But my Google account isn’t senior/old enough to submit an issue so it won’t let me.

Perhaps someone else is able to?

TBH I’m not sure where the cause of the issue lies, whether it’s on the Plex side or Chrome-cast side.

Indeed. This happens on both HD and 4K variants of google chromecasts

it seems to be on any Google / Android based hardware
Sony TVs as well as chromecasts, but ok on LG and Samsung TVs
which is annoying as thats what i have :frowning:

Same issue exists still… bought a brand new Chromecast ultra/4k… had to re-encode to h264 to make it watchable. what a hassle.

chromecast firmware is up to date… plex runs on my qnap nas, and is up to date.

1 Like