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.