New iOS Plex Experience - Live TV wants to transcode instead of direct playing

In short, with the previous app I could direct play any of my live tv items, right now the new app forces transcoding. The issue here is that my setup does not have enough power for transcoding, so basically now I cannot watch live tv anymore from my phone. I am afraid the new experience app could also break this in my TV…

Server Version#: 1.41.5.9522
Player Version#: 2025.10.1 (970)

Some debug logs from my PMS:

Apr 01, 2025 11:47:22.213 [547432628448] Debug — Request: [79.117.215.130:49485 (WAN)] GET /video/:/transcode/universal/decision?directPlay=0&directStream=0&directStreamAudio=1&protocol=hls&fastSeek=1&path=%2Flivetv%2Fsessions%2F5e6a6356-b86f-48fc-8c74-80e62a0e46ee&session=449cc355-4a4d-4dd5-b0ac-f86e26ba231e&mediaIndex=0&partIndex=0&mediaBufferSize=50000&hasMDE=1&subtitleSize=0&videoQuality=100&videoResolution=&audioBoost=0&autoAdjustSubtitle=0&subtitles=none&location=wan (16 live) #173bd TLS GZIP Signed-in Token (t0mm1pl3x) (iPhone)
Apr 01, 2025 11:47:22.213 [547432628448] Debug — [Req#173bd/Transcode] Found session GUID of 449cc355-4a4d-4dd5-b0ac-f86e26ba231e in session start.
Apr 01, 2025 11:47:22.214 [547432628448] Debug — [Req#173bd/Transcode] TranscodeUniversalRequest: adapting profile with augmentation data: add-transcode-target(type=videoProfile&context=all&protocol=hls&container=mpegts&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,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=aac&type=upperBound&name=audio.channels&value=10)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.bitDepth&value=10)+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=h264&scopeType=videoCodec&context=all&protocol=hls&type=upperBound&name=video.bitDepth&value=8)+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-transcode-target-settings(type=videoProfile&context=all&protocol=hls&CopyMatroskaAttachments=true)
Apr 01, 2025 11:47:22.216 [547432628448] Debug — [Req#173bd/Transcode] TranscodeUniversalRequest: using augmented profile Generic
Apr 01, 2025 11:47:22.224 [547432628448] Debug — [Req#173bd/Transcode] Downloading document http://127.0.0.1:32400/livetv/sessions/5e6a6356-b86f-48fc-8c74-80e62a0e46ee?includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=A6593AE3-3117-4E34-9C90-5859542019F6
Apr 01, 2025 11:47:22.239 [547432628448] Debug — [Req#173bd/Transcode] We’re going to try to auto-select an audio stream for account 1.
Apr 01, 2025 11:47:22.240 [547432628448] Debug — [Req#173bd/Transcode] Selecting best audio stream for part ID 12590 (language: en)
Apr 01, 2025 11:47:22.240 [547432628448] Debug — [Req#173bd/Transcode] We’re going to try to auto-select a subtitle for account 1.
Apr 01, 2025 11:47:22.240 [547432628448] Debug — [Req#173bd/Transcode] Selected a foreign audio track: es
Apr 01, 2025 11:47:22.240 [547432628448] Debug — [Req#173bd/Transcode] Audio Stream: 70684, Subtitle Stream: -1
Apr 01, 2025 11:47:22.247 [547432628448] Debug — [Req#173bd/Transcode] MDE: Selected protocol hls; container: mpegts
Apr 01, 2025 11:47:22.247 [547432628448] Debug — [Req#173bd/Transcode] MDE: analyzing media item 8875
Apr 01, 2025 11:47:22.247 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: Direct Play is disabled
Apr 01, 2025 11:47:22.247 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: no direct play video profile exists for hls/mpegts/h264
Apr 01, 2025 11:47:22.247 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: no direct play video profile exists for hls/mpegts/h264/aac
Apr 01, 2025 11:47:22.247 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: Direct Streaming is disabled, so video stream will be transcoded
Apr 01, 2025 11:47:22.247 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: no remuxable profile found, so video stream will be transcoded
Apr 01, 2025 11:47:22.247 [547432628448] Debug — [Req#173bd/Transcode] MDE: Cannot direct stream video stream due to profile or setting limitations
Apr 01, 2025 11:47:22.248 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: selected media 0 / 8875
Apr 01, 2025 11:47:22.248 [547432628448] Debug — [Req#173bd/Transcode] Streaming Resource: Required bandwidth unknown (media requires deep analysis) Changing decision parameters provided by client to fit bandwidth limit of 800000kbps
Apr 01, 2025 11:47:22.252 [547432628448] Debug — [Req#173bd/Transcode] Streaming Resource: Determining preferred transcode encoders through transcode only decision.
Apr 01, 2025 11:47:22.265 [547477676256] Debug — [Req#17a79/Transcode/5e6a6356-b86f-48fc-8c74-80e62a0e46ee/1b213c78-ed4a-4fa4-aabf-ef300b930c34] Transcoder segment range: 0 - 13 (13)
Apr 01, 2025 11:47:22.267 [547432628448] Debug — [Req#173bd/Transcode] Streaming Resource: Reducing playback quality for 761904kbps stream bitrate: video resolution to 1920x1080, audio channels to 2, quality to 99
Apr 01, 2025 11:47:22.267 [547432628448] Debug — [Req#173bd/Transcode] Clipped max bitrate to 20736Kbps based on client-requested limit
Apr 01, 2025 11:47:22.268 [547432628448] Debug — [Req#173bd/Transcode] MDE: Selected protocol hls; container: mpegts
Apr 01, 2025 11:47:22.268 [547432628448] Debug — [Req#173bd/Transcode] MDE: analyzing media item 8875
Apr 01, 2025 11:47:22.268 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: Direct Play is disabled
Apr 01, 2025 11:47:22.268 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: no direct play video profile exists for hls/mpegts/h264
Apr 01, 2025 11:47:22.268 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: no direct play video profile exists for hls/mpegts/h264/aac
Apr 01, 2025 11:47:22.270 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: Direct Streaming is disabled, so video stream will be transcoded
Apr 01, 2025 11:47:22.270 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: no remuxable profile found, so video stream will be transcoded
Apr 01, 2025 11:47:22.271 [547441914080] Debug — [Req#17aab/Transcode/5e6a6356-b86f-48fc-8c74-80e62a0e46ee/1b213c78-ed4a-4fa4-aabf-ef300b930c34] Transcoder segment range: 0 - 14 (13)
Apr 01, 2025 11:47:22.272 [547432628448] Debug — [Req#173bd/Transcode] MDE: Cannot direct stream video stream due to profile or setting limitations
Apr 01, 2025 11:47:22.272 [547432628448] Debug — [Req#173bd/Transcode] Clipped max bitrate to 20736Kbps based on client-requested limit
Apr 01, 2025 11:47:22.272 [547432628448] Debug — [Req#173bd/Transcode] MDE: Disfruta de DAZN en Movistar Plus+: selected media 0 / 8875
Apr 01, 2025 11:47:22.273 [547432628448] Debug — [Req#173bd/Transcode] Streaming Resource: Reached Decision id=7541 codes=(General=2000,Neither direct play nor conversion is available. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=4002,Not enough CPU for conversion of this item.)

1 Like

I have the same issue, I posted mine in the Live TV & DVR channel.

2 Likes

I think direct play was causing some issues.

The app was transcoding all throughout the preview while playing Live TV.

Hopefully direct play/stream for Live TV will return soon.

2 Likes

Same issue here

1 Like

I found that any MPEG video file transcodes to both my iPhone and iPad whether it was live tv or previously recorded.

1 Like

Same issue on iOS and IPadOS, please fix.

1 Like

Any ETA on when this will be addressed?

I’m going testing with the new clients but I do remember that Apple has the strictest DirectPlay rules.

IIRC, MPEG/MPEG-TS streams have to be transcoded / repackaged into F’MP4.

It’s not a re-encoding. It IS using the FFMPEG to change the MPEG container to f’MP4 container.

1 Like

i have the same issue. in my client i get a log message stating that direct streaming of Live TV is not allowed.

INFO [MDE] Direct stream is supported for this media item:
Cannot direct play with protocol: hls, codec: mpeg2video. Reason: Live TV direct play is not allowed, Cannot direct stream with protocol: hls, codec: mpeg2video. Reason: Live TV direct stream is not allowed, Direct play not available; Conversion OK.

Please fix/restore the ability to direct stream.

Well according to the latest changelog in the iOS app now transcoding is actually forced, so I guess direct play won’t be possible anymore with the new app.

  • [iOS][tvOS] Restrict Live TV to transcode to h264 for better playback compatibility.

Any updates on this? I’m still dealing with it on my iPad and iPhone but works flawlessly on my Apple TV since it has the old app. I can see that the video starts to play direct stream and then the video switches to transcoding hw and then crashes. It’s driving me insane.

I’m can also confirm the forced transcode (even with latest beta version).

I’ve quickly tested on my iPhone 15 Pro, iPad Pro 11” M4 and iPad Pro 12.9” M1, and can playback Live TV without any crashing.

I’m not sure that what you are reporting is a common problem at this point, might pay if you can to include some logs or at least the hardware type and iOS versions to help others help, or for Plex team members if they see this thread.

Screen shot from Plex Dashboard (Plex Desktop, when playing Live TV from iPad).

Any updates on this? Can someone from Plex staff comment on this?

I’ve tried to ask a few times but never really gotten an answer. @Craig_Holliday did you have any info on your plans for this? I know the recent player betas would direct play, was strange it changed to transcode with the new apps.

Hopefully at the very least we can get proper deinterlacing (HW yadif2x) with the new transcoder in the near future. Is there any plans for this? @chris_decker08

Also if you see this Chris, still having issues trying to play dvb_teletext subs on Aus OTA channels, the transcoder appears to not like them, though I’m unsure whether the player supports them at all or if they need to be transcoded to something like webvtt?

Improving this is still on our list to do.
Unfortunately I don’t have any updates on the progress.

We had talked about yadif2x internally, and I think in a different thread as well, but I’ll let someone else reply if that is something we are looking into.