Chromecast.xml needs an update

chromecast

#1

Google have updates their documentation regarding supported codecs and containers on Chromecast, for both 1st/2nd gen and Ultra.
ATM, Plex transcodes codecs we now know are able to play without it. It degrades quality, and uses unnecessary processing power. It's about time the Chromecast.xml gets updated to reflect that.
And maybe you should differentiate normal and ultra too? I know stuff like this should be posted in the feedback section, but nothing ever happens to the posts there.

Here is the info regarding supported codecs and containers:
https://developers.google.com/cast/docs/media

News:
Google finally say they support Opus audio codec on all chromecasts, and Ultra supports HEVC and VP9.
Normal Chromecast also support direct playback of VP8. Chromecast.xml does not reflect that.

I only own the regular Chromecast, but I'm going to try to get all supported formats to play without transcoding when using Plex. If anyone got this working already, please share the xml. :)

  • Olav

#2

The Ultra needs to get it's own profile if HEVC is going to be supported. I'm not entirely sure the Ultra reports itself as an Ultra as opposed to just a Chromecast to Plex itself.
If it doesn't, then Plex will not be able to support or use that Ultra capability.


#3

i updated mine today and its working better than ever. seems a recent update broke my old settings. this one can even direct stream 4k hevc on chromecast ultra.

<?xml version="1.0" encoding="utf-8"?>
<Client name="Chromecast">
  <!-- Author: xtrap225 -->
  <TranscodeTargets>
    <VideoProfile protocol="http" container="mkv" codec="h264" audioCodec="aac,mp3" context="streaming" />
    <MusicProfile container="mkv" codec="opus" />
    <PhotoProfile container="jpeg" />
    <SubtitleProfile container="ass" codec="ass" />
  </TranscodeTargets>
 <DirectPlayProfiles>
    <VideoProfile container="mp4" codec="Hevc,h265,mpeg1video,mpeg2video,h264,mpeg4" audioCodec="aac,mp3,mp2"/>
    <VideoProfile container="mkv" codec="vp9,Hevc,h265,mpeg1video,mpeg2video,h264,mpeg4" audioCodec="aac,mp3,mp2,pcm,flac,alac" subtitleFormat="srt,ass"/>
    <MusicProfile container="mp3" codec="mp2,mp3"/>
    <MusicProfile container="mp4" codec="aac"/>
    <MusicProfile container="flac" codec="flac"/>
    <MusicProfile container="wav" codec="pcm"/>
    <PhotoProfile container="jpeg,png,gif"/>
  </DirectPlayProfiles>
<CodecProfiles>
    <VideoCodec name="h265,Hevc,vp9">
      <Limitations>
        <UpperBound name="video.width" value="3840"/>
        <UpperBound name="video.height" value="2176"/>
        <UpperBound name="video.bitrate" value="75000"/>
      </Limitations>
    </VideoCodec>
    <VideoCodec name="h264,mpeg4">
      <Limitations>
        <UpperBound name="video.width" value="3840"/>
        <UpperBound name="video.height" value="2176"/>
        <UpperBound name="video.bitrate" value="75000"/>
        <UpperBound name="video.bitDepth" value="10" />
        <UpperBound name="video.level" value="42" />
      </Limitations>
    </VideoCodec>
    <VideoAudioCodec name="aac,mp3">
      <Limitations>
        <UpperBound name="audio.channels" value="2" />
      </Limitations>
    </VideoAudioCodec>
  </CodecProfiles>
</Client>

#4

We now augment the profile from the receiver itself. Hopefully you shouldn't need to tinker with the profile on PMS - but let me know what works when you do, that didn't work when you, er, don't.


#5

@"Dom C" said:
We now augment the profile from the receiver itself. Hopefully you shouldn't need to tinker with the profile on PMS - but let me know what works when you do, that didn't work when you, er, don't.

Yes but is that working correctly with the new receiver app - as I noted the other day, Plex and Tautilli both currently report Chromecast sessions as being Chrome sessions.


#6

Plex and Tautilli both currently report Chromecast sessions as being Chrome sessions.

We'll get that daft reporting bug fixed soon. Sorry about that.

But yeah, the receiver itself now has more logic about what it can play - so please let me know if you find media that doesn't play unless you adjust the xml.


#7

@“Dom C” said:
We now augment the profile from the receiver itself. Hopefully you shouldn’t need to tinker with the profile on PMS - but let me know what works when you do, that didn’t work when you, er, don’t.

Plex Media Server is still trancoding Opus to AAC when playing on Chromecast. In my example the streaming device is a Chromecast Audio, with latest Media Server (v1.13.2.5101-4898d7d96). The file is a .OPUS containing only a OPUS stream. Muxed using FFMpeg.

Chromecast specifications says Opus is supported for all Chromecast Devices.
https://developers.google.com/cast/docs/media