Updating Chrome Profile for HEVC - Chrome 107

Server Version#: 1.29.2.6273
Player Version#: NA

What would be involved in updating the profile used for web browsers to add HEVC support for Chrome since HEVC decode is now supported in 107?

When I try to stream media that is HEVC in Chrome it’s still transcoding to h264, I assume because the server isn’t aware the browser supports it now.

1 Like

@kazz3r24 Even though Chrome now supports it, your graphics card and drivers must also support hardware decoding of H.265

I’ve got a 3080ti in this system with the latest Nvidia drivers.

@kazz3r24 In that case, the only thing I can think of is that you have to wait until they update Plex web as maybe Plex didn’t use the standard flags for selecting video codecs.

The update for Chrome only came out today. Plex just needs to update the profile for Chrome so the server knows the browser now supports hevc.

I was simply checking to see if this was something I could do myself quickly, who knows when Plex will get around to doing this. I’m an eager beaver.

Folks.

This will take a bit to implement.

  1. It just came out in Chrome ver 107
  2. There are stipulations – HEVC will not enable without appropriate hardware support.

Please give the team time to understand what they have, schedule the work, and subsequent testing thereof

EDIT: Enhancement request submitted to development team.

1 Like

No problem, I know the browser just updated today - I just wanted know if it was on the horizon to get updated and wasn’t sure if it could be done with just a profile update or not.

Thank you for the info!

1 Like

@ChuckPa do the client Profiles still do something?

/usr/lib/plexmediaserver/Resources/Profiles # cat Web.xml
<?xml version="1.0" encoding="utf-8"?>
<Client name="Web">
  <!-- Author: Plex Inc. -->
  <TranscodeTargets>
    <VideoProfile protocol="hls" container="mpegts" codec="h264" audioCodec="aac,mp3" context="streaming" />
    <VideoProfile protocol="dash" container="mp4" codec="h264" audioCodec="aac" context="streaming">
      <Setting name="ForceTranscodesForLive" value="true" />
      <Setting name="SkipAudioBeforeStart" value="true" />
      <!-- <Setting name="BreakNonKeyframes" value="true" />  -->
    </VideoProfile>
    <VideoProfile protocol="http" container="mkv" codec="h264,h265" audioCodec="aac,mp3" context="streaming" /> <---- this one 
    <MusicProfile container="mp3" codec="mp3" />
    <PhotoProfile container="jpeg" />
    <SubtitleProfile container="ass" codec="ass" context="all" />
  </TranscodeTargets>
  <CodecProfiles>
    <VideoCodec name="*">
      <Limitations>
        <UpperBound name="video.bitDepth" value="8" />
      </Limitations>
    </VideoCodec>
    <VideoAudioCodec name="*">
      <Limitations>
        <UpperBound name="audio.channels" value="6" />
      </Limitations>
    </VideoAudioCodec>
  </CodecProfiles>
  <!-- When transcoding a multi-channel audio stream inside a video transcode, downmix the audio stream to stereo. -->
  <TranscodeTargetProfiles>
    <VideoTranscodeTarget protocol="*" context="streaming">
      <VideoAudioCodec name="*">
        <Limitations>
          <UpperBound name="audio.channels" value="2" onlyTranscodes="true" />
        </Limitations>
      </VideoAudioCodec>
    </VideoTranscodeTarget>
  </TranscodeTargetProfiles>
</Client>

does not do anything

@deshke

Profiles are used when the device isn’t already supported by the players (Plex/web in this case)

If you had a completely new, previously unknown, browser then the profile would activate.

Regarding HEVC in Chrome … :smiling_imp:

The Plex/web team was three steps ahead of me.

:slight_smile:

Was this supposed to be a link?

@ChuckPa how to manipulate a “known” device/client?

each browser has a built-in string which identifies it.
You can’t manipulate this.

My previous post regarding HEVC in Plex/web –

Translation:

They have completed the work. It’s being tested. It will likely be released soon.

Don’t bother trying to HACK something due to impatience.

I can barely support Official some days :rofl:
No way could I ever support something ‘unofficially customized’.

4 Likes

I’m so excited for this change to be made! Above though, if it uses the user agent, you can change that, if that helps people in the meantime: How to Change User-Agents in Chrome, Edge, Safari & Firefox

From what I can see HEVC on Chrome won’t work on Linux until v108. Will there have to be a new release of Plex to handle it when v108 is released, or should it just work?

I’ve asked the Plex/web team. waiting for reply…

Reply received

The latest Web Desktop app supports HEVC in Chromium 107+ if the browser reports support. HDR support is upto the browser implementation

1 Like

It works on Chrome 109 Unstable on Linux! The video isn’t decoding properly (green lines through it) but I believe that’s a Chrome issue and Google is aware of it.

Very exciting!

Works like a charm under Windows 10!

Even with HEVC HDR and proper local tonemap.

Only on my Chromebook it still transcodes to H264 (in Chrome and in Plex Android). :frowning:

Everyone is waiting for v 108 for Linux.

Aaaand its gone again. HEVC stopped working in Chrome 107.