Live TV MPEG2 Direct Stream / Deinterlacing to 60fps

Something appears to have changed with the latest beta, 1.22.2.4276. They’re now remuxing MPEG2 to a format that Rokus can use instead of forcing a transcode or passing along the raw stream. Hurray! Thank you for finally following up on this!

However, there appear to be problems. A specific McDonald’s commercial, on two separate occasions, caused playback to choke and screen to go blank for a bit, before proceeding to play back choppily, with the audio getting progressively more and more out of sync. My guess here based on dealing with this kind of video in the past is that the ac3 stream for the commercial has a different amount of channels from the program itself, and however the remux is being done, the client (Roku) spazzes out on encountering this. The situation is worse with 480i (SD) streams. The picture constantly drops out (and when drop out I mean totally, the TV stops receiving any picture for a second or two before ‘getting sync’ back) and when it comes back, plays back choppily, to the point of being unwatchable. (Turning off MPEG2 in the options avoids this). I find the format of these streams varies–sometimes they are pillarboxed, and sometimes they’re anamorphic (!) but both streams have trouble.

Separately–PMS no longer recognize that clients are, in fact, remote–it now appears to ignore the X-Forwarded-For header and now shows the local IP of my reverse proxy server for any remote client, instead of properly showing the IP address, as in the past.

That said, I have also (finally!) figured out how to modify the commands for the Plex Transcoder so that it deinterlaces at full rather than half-rate, and under Windows to boot. This is done as before–blindly, presuming that the clients can support it. It works so far on Roku, Android, a̶n̶d̶ ̶W̶i̶n̶d̶o̶w̶s̶(Windows client appears to choke on this on the one PC I tried it on). It does not appear to have much of an impact on encoder speed (ED: but perhaps enough that a disclaimer be included). I have not figured out how to get this working with GPU transcoders yet, as I need to read the documentation for Intel (I do not have an NVIDIA GPU in this machine and adding one is a chore) but in principle, if the option exists, then asking for 60fps could be done in the same manner. Note that I have done this NTSC-style framerates, but setting it up for PAL rates should not be difficult in principle.