Server Version#: 1.21.1.3830
Player Version#:any/all
I have PMS running with an xteve source. Plex is reporting that the streams require 40000kbps which is forcing them to transcode no matter what I do, even though the streams are more like 8Mbps. Apps show the reason for transcode being that the 40,000kbps exceeds the 8Mbps available.
As far as I can tell, xteve isn’t sending this and plex is just making an assumption or something. Any ideas?
I tagged livetv-streaming… but I’ve updated to include livetv-dr as well
Note that Emby is perfectly happy with the stream. I’m assuming there is some missing data in the xteve emulation of the HDHomeRun that is missing the bitrate but I don’t know where to identify that or if my guess is actually right.
The short version is that plex is just assuming this 40000kbps number for some reason and I have no idea how to track that down.
I found a dirty hack and I’ve just set my upload speed to 999Mbps.
Now I’m streaming out at a very nice ~3Mbps but plex is convinced it’s 40Mbps. Plex’ own bandwidth chart says ~3Mbps and my router says that as well.
I’m not sure what data is missing to get this right. It seems that Plex is acting on some metadata. xteve claims to be passing the metadata through untouched from the HDHR. I’m still suspecting there is something missing.
Any chance I could get the API call Plex is making to the HDHR so I can compare between the HDHR and xteve?
As far as I am aware Plex does not use any API calls for the HDHR. When a recording or Live TV Session is initiated they make an HTTP call to the tuner device as outlined in the Silicondust HDHomeRun HTTP Development Guide. You should see a line similar to:
Dec 28, 2020 12:29:00.729 [6940] DEBUG - [Grabber/5bafd4a2b6cf992f2ea878147ecd05409204422f] Grabber: Going to record for 1920 seconds, final URL is http://10.0.1.24:5004/auto/v25.1?transcode=heavy
I always search for “final URL” when checking logs to see what tuner device was used for a recording.
I found that the xteve stream is missing the ‘VideoCodec’ entry in the lineup.json it produces that plex hits. I’m thinking that is the cause, Plex (and Emby) are simply putting this 40M value in as the default. This is just a suspicion though.