[Chromecast Ultra] Augmented profiles need to be updated to support H264 5.1 and 5.2

Dear Plex:

It is stuff like this and the outright brokeness regarding Chromecast reported elsewhere that caused me to ask for my money back shortly after purchasing a lifetime subscription.

If you want my money, you’re going to have to show an interest in it.

-Earl

Ok, my theory about googles firmware unification breaking plex profiles has just been busted.
I was trawling my logs looking into something else and I found
http://192.168.1.154:8008/ssdp/device-desc.xml

<URLBase>http://192.168.1.154:8008</URLBase>

<device>

<deviceType>urn:dial-multiscreen-org:device:dial:1</deviceType>

<friendlyName>Living Room TV</friendlyName>

<manufacturer>Google Inc.</manufacturer>

<modelName>Chromecast Ultra</modelName>

Plex knows its talking to a chromecast ultra!

So this does sit squarely with plex.

I wonder if the new Sabrina work fine…

I think Plex mostly says “Heya Chromecast, what are your playback capabilities?”, rather than saying “You’re a Chromecast Ultra, I know what you can play.”

nah, plex has a menu of profiles that it applies to devices. It applies basic chromecast profile not an ultra specific.
I think…

I waited 2 years to get back capability that was lost (the worst part, not theoretical compatibility. ACTUAL proven it-was-working-before-they changed-something capability) and plex could have allowed us to force a profile but there is something under the hood that specifically stops it.

I now run plex through a shield. I only bumped into this because id left the old CC ultra plugged in.

I believe the packaged profiles are the “lowest common denominator” for devices in that family.

There’s an additional conversation between the app and the device to identify specific video and audio abilities at playback time.

Otherwise things like “it’s connected to a 4K TV” or “HDR is enabled” or “stereo only” vs. “DD 5.1 is supported” wouldn’t work.

Those are often upgrades vs. the base profiles. Augments. More info about playback capabilities. Based on what the device stack offers.

Changing stuff in the base profile isn’t effective because the info directly from the device is used to create the final profile and decisions.

I’m not aware of any way to selectively defeat or override this process. Override knobs would be complicated but cool.

not knowing how this works in detail I can only speculate.

We can write custom xml profiles and there is a detected device name.

If detected device = “CC ultra” use custom XML

How hard can that really be?

Chromecast devices do not report their model names, or anything like that.
Capability-detection occurs through the MediaSource.isTypeSupported API.

Although the older, cached documentation linked in earlier this thread lists Chromecast Ultra as being capable of playing h264 @ 5.1, updated documentation is clear that Chromecast Ultra supports h264 only up to the 4.2 level.

We’ve tried to support 5.1 level in the past, but playback is unreliable, and Google themselves have explicitly shut down requests for different reported capabilities.

1 Like

So as a user that was prepared to get my hands dirty and have some file types error or not play (like they do with out the box setting)
What can i/we do?

If I remember correctly Plex is allocating a profile that is inappropriate.

This boils down to people wanting to stream content locally from a home server and passthrough straight to an AV amp.

All these discs on shelves. I’ve warmed up my office quite nicely putting my old i5 3570k to task of remix ripping years of Blu-ray discs.

I’m sure im not the only one.

TVs have Plex built in now but there is a large user base that isn’t able to upgrade their TV.
Using an old trusty server on an old trusty TV with an old trusty av amp.
Chromecast was amazing with plex, until it wasn’t.

Direct play and passthrough.
Simple and effective.

It’s all we ever wanted.

Edit it was weird that the troubles coincided with firmware updates from Google

What can i/we do?

If you want to Direct Play content from a given device, you’ll need to encode the content in a format compatible with that device’s published capabilities.

LOL
“published capabilities”

Plex doesn’t play content because google says it cant?
Even though it could before (this is the sticking point, files worked and then they didn’t)

I wanted to be able to ignore googles published capabilities

@duncanbeeversAdmin I have a serious question here:

Is it not possible to update plex server so that when playing any given content to a target Chromecast, (Since Plex has the media format information available) to make the MediaSource.isTypeSupported query to the target Chromecast and if false defer to transcode the stream?

My understanding (From reading through this thread) is that Chromecasts don’t publish their capabilities and are advertised as generic Chromecast device/targets. So they have to be queried for their support?

I’m not a Plex developer, but this seems a logical approach. Am I wrong here?

The Chromecast receiver gets the container+codec information from Plex Media Server. It queries the Chromecast device to determine whether the container+codec combination can be Direct Played, Direct Streamed, or if it needs to be transcoded, to which container and codec it should be transcoded.

Ok, that’s what I thought, I think.

So from the issues in this thread, is it that Chromecasts are not returning a confirmation that they support updated codecs? Does this seem to be something that has been removed from Chromecast devices by Google, if they are not responding that (for example) a Chromecast Ultra doesn’t support H264@5.1?

After all, if the target Chromecast responds that it doesn’t support a container+codec combination, then that should be the source of truth, yes?

Can you shed any insight into if this may be what happened?
Has Google removed codec support from their product in this way?

Has Google removed codec support from their product in this way?

Yes, Google has removed support for device capabilities. In some cases, devices would support a specific media type, but inconsistently; some files would play, while other would not, or would exhibit poor performance. In new firmware versions thee MediaSource.isTypeSupported checks would change (previously reporting true, now reporting false) while the underlying playback engine was left unmodified, which has allowed the use of “unsupported” device capabilities.

Unfortunately, we can’t support these “overclocking” scenarios and so we focus our work on supporting the manufacturer-published capabilities.

3 Likes

Well, I can’t say a fairer answer than that.

I’ve personally done a lot of work with Google, and their associates and employees/ex-employees, and I can confirm that this is typically their behaviour.

Thanks for the responses.

And yet, Amazon, who was Google’s mortal foe until not that long ago – refusing to support casting at all, manages to support my 2nd Gen Chromecast beautifully with glorious audio. And that’s despite the fact that the number of customers using 2nd Gen Chromecast with Prime video is probably vanishingly small.

Clearly, It is a solvable problem.

1 Like

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