Server Version#: 1.16.5.1554
Player Version#: 2.40.0.1003
Player Platform: RPi-3b
Tuner: HDHomeRun CONNECT QUATRO
Topic title says it. Player supports container, and codecs involved. Attempting to play a Live TV program, the program is transcoded. Once recorded (no longer live), the same program plays using Direct Play. Logs indicate that even Direct Stream would be possible for both video and audio, but it still chooses to transcode.
This following log entry is from playing the recording using Direct Play.
2019-09-01 15:56:54 [ INFO ] JS: [MDE] Starting analysis of 720 (mpegts, mpeg2video, ac3, 4, main)
2019-09-01 15:56:54 [ INFO ] JS: [MDE] Analyzing direct play
2019-09-01 15:56:54 [ INFO ] JS: [Player] Can direct stream? true (isAllowed: true)
2019-09-01 15:56:54 [ INFO ] JS: [MDE] Analyzing video direct stream
2019-09-01 15:56:54 [ INFO ] JS: [MDE] Analyzing audio direct stream
2019-09-01 15:56:54 [ INFO ] JS: [MDE] Analyzing playability
2019-09-01 15:56:54 [ INFO ] JS: [MDE] Finished analysis of 720 (mpegts, mpeg2video, ac3, 4, main)
2019-09-01 15:56:54 [ INFO ] JS: canPlay: true
2019-09-01 15:56:54 [ INFO ] JS: canDirectPlay: true
2019-09-01 15:56:54 [ INFO ] JS: canDirectStreamVideo: true
2019-09-01 15:56:54 [ INFO ] JS: canDirectStreamAudio: true
2019-09-01 15:56:54 [ INFO ] JS: bitrate: 8940
2019-09-01 15:56:54 [ INFO ] JS: videoResolution: 720
2019-09-01 15:56:54 [ INFO ] JS: console.groupEnd
2019-09-01 15:56:54 [ INFO ] JS: [PDE] Player decision
2019-09-01 15:56:54 [ INFO ] JS: Player: html
2019-09-01 15:56:54 [ INFO ] JS: Protocol: http
2019-09-01 15:56:54 [ INFO ] JS: Direct Play: true
2019-09-01 15:56:54 [ INFO ] JS: console.groupEnd
The following is from the attempt to play the same (or similar) live. I think the issue stems from not being able to analyze the stream - video or audio.
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Starting analysis of 720 (mpegts, mpeg2video, ac3, 4, main)
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Analyzing direct play
2019-09-01 13:46:06 [ DEBUG ] PlayerComponent.cpp @ 594 - vd: Uninit video.
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Direct play failed; option is disabled
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Cannot direct play: allowDirectPlay
2019-09-01 13:46:06 [ INFO ] JS: [Player] Can direct stream? true (isAllowed: true)
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Analyzing video direct stream
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Unable to validate bitrate; re-analyze the media if possible
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Unable to validate bitDepth; re-analyze the media if possible
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Analyzing audio direct stream
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Analyzing playability
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Unable to determine effective quality; re-analyze the media if possible
2019-09-01 13:46:06 [ INFO ] JS: [MDE] Finished analysis of 720 (mpegts, mpeg2video, ac3, 4, main)
2019-09-01 13:46:06 [ INFO ] JS: canPlay: true
2019-09-01 13:46:06 [ INFO ] JS: canDirectPlay: false
2019-09-01 13:46:06 [ INFO ] JS: canDirectStreamVideo: true
2019-09-01 13:46:06 [ INFO ] JS: canDirectStreamAudio: true
2019-09-01 13:46:06 [ INFO ] JS: videoResolution: 720
2019-09-01 13:46:06 [ INFO ] JS: console.groupEnd
2019-09-01 13:46:06 [ INFO ] JS: [PDE] Player decision
2019-09-01 13:46:06 [ INFO ] JS: Player: html
2019-09-01 13:46:06 [ INFO ] JS: Protocol: http
2019-09-01 13:46:06 [ ERROR ] PlayerComponent.cpp @ 600 - ffmpeg: tls: The TLS connection was non-properly terminated.
2019-09-01 13:46:06 [ DEBUG ] PlayerComponent.cpp @ 594 - mkv: EOF reached.
2019-09-01 13:46:06 [ INFO ] JS: Direct Play: false
Is it just me? Anyone else having success?
It does seem to be the player as I can DirectPlay the same live stream on Android without issue.
I brought this up for discussion with the devs when LiveTV was introduced for PMP almost 2 years ago. This is the expected behavior by design for PMP when viewing LiveTV. I don’t expect the developers to change this.
There is a little confusion in my mind regarding the MDE process which I guess is where this decision to transcode is made. Based on some players playing live without transcode, I would assume it is a player decision.
Assuming I’m on track, I’m left wondering what role the Konvergo profile on the server plays. I’ve tried adding DirectPlay profiles to it, but there’s no change.
Finally, if it is all happening on the player, I’m not against changing code myself, if that’s what it takes. Are there options in terms of configuration or changing code on PMP?
Finding similar issues when watching live TV in Plex on Windows and Smart TV, it will transcode live TV (HDHomerun) but play the same as a recording directly. I’ve come to the conclusion Plex isn’t meant for watching Live TV. For live TV on other devices (obviously on the TV itself it has a tuner) I just use the HDHomerun app, this plays the stream with no transcoding, although Android tablets don’t seem to want to de-interlace, but given the smaller screen it’s not really an issue.
I would love to just fix it myself, but PMP appears not to be open sourced. It’s really too bad since this and the lack of a proper TV Guide in the TV Interface really detract from making PMP the a complete solution.
To be honest, in my household we only use PMP to watch Plex DVR and not LiveTV. We still have a TiVo Bolt and TiVo Mini VOXs that everyone prefers to use for LiveTV.
Up until a couple weeks ago I was all about TVHeadend on the Server side, and Kodi for all the clients. Those clients are all RPi, 1 at each TV. It all works flawlessly, great performance on the RPi clients, and no transcoding.
That said, I was drawn to Plex for 2 reasons. First, transcoding (oddly enough). Second, a central database for all media - I know this is possible with Kodi, but it is problematic.
So far, Plex has done well in both case, except for a little too much transcoding. My issues really come down to client issues. Maybe a Roku or FireBox are the answer. I’d just lke to be sure that they can play live TV with transcoding before going down that path.
Maybe I’ll try RasPlex in the interim and see what that does before buying new clients. Another choice is going back to Kodi and use the Plex Connector. Lot’s of choices.
FWIW, I quickly gave RasPlex a try this morning. Wow, if the new PMP performed as well, we’d really have something. However, no Live TV support at all in RasPlex, so that’s a deal breaker for me. Yes, the interface is a little difficult to navigate, certainly more so than PMP, but it is highly configurable. I hope PMP achieves the same level of performance sometime soon.
On the transcoding front, at the moment the fact that PMS is insisting on transcoding the live streams has become a little less important to me. I run PMS in a Docker container, and knew that the H/W decoder permissions had to be modified to give the container access to the decoder. I was changing those permissions in the container which eliminated the PMS log errors regarding H/W Decoding, but on each restart or update of the container, those permissions were lost. Yesterday I changed the permissions outside the container, hoping they would be more persistent. Not sure if that was the key, but watching Live TV this morning says it is transcoding, but PMS is only using 11% CPU versus the 80% that it was using previously. I’ve stopped and restarted the program several times wondering if it some sort of aberration, but the positive results continue.
Now let’s just get a proper TV Guide in PMP TV mode!