CE-NG Dolby Vision (+FEL) for DV-licensed SOCs (s905x2, s922x/z, s905x4)

That makes sense re: why the TV seems apathetic to the incorrect bit selection. I’ve been doing a bit more digging into this issue and chatting with the PM4K creator.

Just a quick high-level summary.

There are 2x apps that extend Plex onto Kodi. They are PM4K (PlexMod4Kodi) and PKC (PlexKodiConnect).

Both are capable of SMB path substitution to directly play the content. However by default, both utilize the webstream method where it passes the stream URL generated by Plex into the internal player.

What’s interesting is that Kodi sets the correct bitrate when handling PKC’s webstream vs PM4K’s webstream. We would expect both to have incorrect bits if webstream was the issue.

Going through logs though, I noticed that PKC invokes Kodi to use a slightly different method of handling that webstream on the same content (GUI @ 2160p / 60Hz; content is 23.98Hz):

PKC
info <general>: PLEX.playback_decision: The playurl for DirectPlay is: https://192-168-50-60.3519aa45431e49a1946399da99cd65ef.plex.direct:32400/library/parts/464/1694634547/?Accept=%2A%2F%2A&Content-Type=application%2Fx-www-form-urlencoded&Accept-Language=hu&X-Plex-Device=Linux&X-Plex-Model=4.9.269&X-Plex-Device-Name=Kodi+CoreELEC&X-Plex-Platform=Generic&X-Plex-Platform-Version=1.0.0&X-Plex-Product=PlexKodiConnect&X-Plex-Version=3.9.0&X-Plex-Client-Identifier=a8f8926f-a26f-4a74-a2ef-a7adc30e7492&X-Plex-Provides=client%2Ccontroller%2Cplayer%2Cpubsub-player&X-Plex-Protocol=1.0&Cache-Control=no-cache&X-Plex-Token=XXXXXXXXXXXXXXXXXX
2024-04-02 11:32:25.919 T:3952     info <general>: PLEX.api: Found external subs: []
2024-04-02 11:32:25.926 T:4527  warning <general>: Setting most video properties through ListItem.setInfo() is deprecated and might be removed in future Kodi versions. Please use the respective setter in InfoTagVideo.
2024-04-02 11:32:25.927 T:4527  warning <general>: ListItem.addStreamInfo() is deprecated and might be removed in future Kodi versions. Please use InfoTagVideo.addVideoStream(), InfoTagVideo.addAudioStream() and InfoTagVideo.addSubtitleStream().
2024-04-02 11:32:25.931 T:4527     info <general>: Skipped 2 duplicate messages..
2024-04-02 11:32:25.931 T:4527     info <general>: PLEX.MOVIES: PKC add-on for movies stopped
2024-04-02 11:32:25.959 T:3777     info <general>: Skipped 1 duplicate messages..
  info <general>: VideoPlayer::OpenFile: plugin://plugin.video.plexkodiconnect.movies/?mode=play&plex_id=475&plex_type=movie&filename=Anna.mkv

vs

PM4K
2024-04-02 11:27:52.731 T:3777     info <general>: VideoPlayer::OpenFile: https://192-168-50-60.3519aa45431e49a1946399da99cd65ef.plex.direct:32400/library/parts/464/1694634547/?X-Plex-Token=XXXXXXXXXXX&X-Plex-Client-Profile-Name=Generic&X-Plex-Client-Identifier=13efcf13-722b-464f-a491-93652706d317

The only difference is Kodi uses the plugin handler for PKC’s webstream. The URL is then resolved after. PM4K directly passes through the webstream URL to the OpenFile function. This seems like a Kodi bug because the outcome of the two shouldn’t differ.

The generated URL has some differences as well. These are plex parameters which shouldn’t impact the results, but I will test on a custom build that matches up the parameters to PKC. That will eliminate a variable.