PS5 Player using "Generic Player"

Server Version#: 1.43.0.10389-8be686aa6
Player Version#: 12.40 Client Version: 5.93.2

Dec 20, 2025 14:09:11.477 [0x16fbdf000] DEBUG - [Req#1163f6] [Now] User is xXxXxX (ID: 1)

Dec 20, 2025 14:09:11.477 [0x16fbdf000] DEBUG - [Req#1163f6] [Now] Device is PlayStation (xXxXxX).

Dec 20, 2025 14:09:11.477 [0x16fbdf000] DEBUG - [Req#1163f6] [Now] Profile is Generic

Dec 20, 2025 14:09:11.477 [0x16fbdf000] DEBUG - [Req#1163f6] [Now] Updated play state for /library/metadata/xXxXxX

Is there a reason why when playing files from a PS5, why does it use the Generic profile. Why is there no “PlayStation 5.xml” or “PlayStation 5 App.xml”. How can we get a better profile to fully use the PS5 in all of its capacity.

  • Wakko’s

In modern clients, the client “asks” the player what its capabilities are and reports those back to the server, which builds what is known as an augmented profile. It then uses that augmented profile to determine whether a particular stream needs, for example, to be transcoded.

So, check those very same logs for something which looks like this:

TranscodeUniversalRequest: adapting profile with augmentation data

Hopefully you’ll find some lines following which look similar to:

add-transcode-target(type=videoProfile&context=all&protocol=hls&container=mkv&videoCodec=h264,png,apng,bmp,mjpeg,thp,gif,vp8,vp9,dirac,ffv1,ffvhuff,huffyuv,rawvideo,ayuv,r210,v210,v210x,v308,v408,v410,y41p,yuv4,ansi,h263,mpeg1video,mpeg2video,mpeg4,hevc,av1,vc1&audioCodec=ape,aac,aac_latm,alac,dca,vorbis,opus,pcm,pcm_alaw,pcm_mulaw,pcm_bluray,pcm_dvd,mp1,mp2,ac3,eac3,mp3&subtitleCodec=ass,dvb_subtitle,eia_608,jacosub,microdvd,mov_text,mpl2,pgs,pjs,realtext,sami,srt,ssa,stl,subviewer,subviewer1,text,vobsub,vplayer,xsub)+add-limitation(scope=videoAudioCodec&scopeName=ac3&type=upperBound&name=audio.channels&value=10)+add-limitation(scope=videoTranscodeTarget&scopeName=mpeg2video&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.bitDepth&value=10)+add-limitation(scope=videoTranscodeTarget&scopeName=mpeg2video&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.width&value=3840)+add-limitation(scope=videoTranscodeTarget&scopeName=mpeg2video&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.height&value=2160)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.width&value=3840)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.height&value=2160)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.width&value=3840)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.height&value=2160)+add-limitation(scope=videoTranscodeTarget&scopeName=av1&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.width&value=3840)+add-limitation(scope=videoTranscodeTarget&scopeName=av1&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.height&value=2160)+add-transcode-target-settings(type=videoProfile&context=all&protocol=hls&CopyMatroskaAttachments=true)
Dec 14, 2025 13:57:34.877 [0x7000062d7000] DEBUG - [Req#1a196e/Transcode] TranscodeUniversalRequest: using augmented profile Generic

This is from an iPhone, but hopefully it conveys the general idea. Profiles are built dynamically now.

I see this on my end. However it’s a little different when I use my ATV. When it loads on the ATV, the playback is instance. No transcoding, the issue is as follows:

  1. When using Plex on the ATV, after a random period of time. The video stutters and images freezes.
  2. Was trying to do playback on PS5, since the hardware is a bit more powerful. However I noticed that when the PS5 plays the file. It’s using a Generic profile.

We can clearly see that the PS5 is playing the file in a lower quality. While the ATV plays its the file so much better, but it stutters at random times.

The question now becomes as follows. Why does one hardware play the file with a Profile, while the other is just Generic. Upon further investigating the, the Plex Server App does not have a PS5 Profile. It just stops at PS4 App profile.

Dec 20, 2025 15:23:04.835 [0x1701e3000] DEBUG - [Req#11fa7c] [Now] User is XxXx (ID: 1)
Dec 20, 2025 15:23:04.835 [0x1701e3000] DEBUG - [Req#11fa7c] [Now] Device is tvOS (Apple TV).
Dec 20, 2025 15:23:04.835 [0x1701e3000] DEBUG - [Req#11fa7c] [Now] Profile is tvOS
Dec 20, 2025 15:23:04.835 [0x1701e3000] DEBUG - [Req#11fa7c] [Now] Updated play state for /library/metadata/XxXx.

I explained that above. Modern clients augment the generic profile, dynamically generating them based on device capabilities, rather than statically created profiles.

It may be that the Playstation 5 doesn’t (fully) support the media you’re attempting to play, or that it’s not reporting its capabilities correctly. However, what you’re seeing in your logs is completely normal.

So future releases of Plex Media Server will not have any Profiles moving forward? Or any new[er] ones. With the exception of the Generic one that is used to create these dynamic Profiles.

Just looking for some clarification.

  • Wakko

As far as I know, you can still build custom profiles. This is the most definitive post I can find on the topic in general though:

Modern Plex client apps rely on the hardware they’re running on to report their capabilities accurately. If they don’t, then there can be problems.

I suspect there may be edge cases where the Plex app can’t accurately find a device’s capabilities and traditional profiles may be necessary.

Ahhhh this makes sense. Hopefully Plex can update the Server.app to support these players better. Or  finally releases its new[er] ATV to provide Plex more features to tap into. One can only hope. Thanks for the info and breakdown. Merry Holidays!!

  • Wakko