When using Plex DVR, the files it saves are MPEGTS. When i stream to iOS/tvOS, the server reports:
STREAM Transcode (Throttled)
CONTAINER Transcode (MPEGTS > MPEGTS)
VIDEO Direct Stream (H264 1080p)
AUDIO Transcode (AAC_LATM Stereo > AAC Stereo)
SUBTITLE None
Frames often freeze on screen for a long period of time, especially when you start playback or scrub to a new point. (I know very little about video, but it maybe related to not playing until a P frame arrives.)
On Chromecast / Safari, it works flawlessly:
STREAM Transcode (Throttled)
CONTAINER Transcode (MPEGTS > MP4)
VIDEO Direct Stream (H264 1080p)
AUDIO Transcode (AAC_LATM Stereo > AAC Stereo)
SUBTITLE None
Also, if i force the iOS/tvOS client to transcode, to 1080p High (20Mbps), it works flawlessly again:
STREAM Transcode (Throttled)
CONTAINER Transcode (MPEGTS > MPEGTS)
VIDEO Transcode (H264 1080p > H264 1080p)
AUDIO Transcode (AAC_LATM Stereo > AAC Stereo)
SUBTITLE None
I really do not want to have to manually change the playback setting for every DVR show I watch to 1080p high to force a transcode and make it back smoothly. (This may not pass the wife test and she may insist on TiVO. ) I also do not want to change my global preference in settings to 1080p High, as this could degrade some high quality stuff and use undue load on the CPU for other shows.
Any ideas? Maybe a script to convert MPEGTS to something more sensible after the PVR has finished?
Although I don’t use DVR, it sounds quite similar to what I experience when pressing fast forward / rewind buttons on my iOS devices.
Looking at my logs, iOS client was asking too many segments at once when trying to play at a new position. Similar to your condition, it happened to me only when video was being direct streamed (i.e. only container being transcoded), but not with direct play or full video transcoding. In my case, turning on soft subtitles triggered direct streaming instead of direct play.
I encountered the same issue when direct streaming interlaced 50Hz content (25 full frames per second in PAL/European live TV).
Is it the case for your video stream ? Is it interlaced content ? (1080i50/1080i60 ?)
Forcing transcoding implies deinterlacing of the video by the server, which solves the issue on the player. It could be a bug in Plex player for iOS.