Server Version#: 1.21.1.3842
Player Version#: gen 3 Chromecast
I transcode all my media before uploading to Plex to h264 (L4.1), AAC stereo audio & ASS subtitles in an mkv container as this format direct plays [edit to say subtitles always mandate a transcode but were not used in this case] on everything in my home. I have a low performance server so this setup also allows me to share the server with my family.
Today I noticed transcoding (even locally) on media I’d expect to direct play (due to being in the above format). The logs say:
MDE: Direct Play is disabled
MDE: no direct play video profile exists for http/mkv/h264
MDE: no direct play video profile exists for http/mkv/h264/aac
video.bitrate limitation applies: 1271 > 720
Audio is also transcoding to mp3. What changed recently for these transcodes to start? I can upload the debug log, if necessary. Screenshot of two streams from Tautulli:
The quality setting on the Android phone that started the stream is 720p 2 Mbps. How will that relate to the bitrate?
The movie is 720x304@ 1271 kbps, audio is 160 kbps AAC stereo. I’m probably missing something big but that should fit well within the 2 Mbps budget. In reality both are transcoding, the audio to a different format, even.
The message you posted indicates the limit is set top 720kbps, not 2 Mbps. I would need the log from the Android app after you start casting this video again so I can see what’s going on.
Thanks for looking into this! I did check the settings to confirm but did not get logs. I’ll try to replicate the issue.
What was really strange about this was that there was also a remote CC stream that was also transcoding in a similar manner. Is there a default (low) quality setting on clients? The local device had been used regularly for casting in the past with no issues.
Thanks for looking into my issue. Unfortunately my Plex server is down due to a failed HDD (which housed my Plex DB, among other stuff) and I’ll need to get it replaced and start anew before I can try and reproduce the issue. It may be a while.
Te server is back up and I’ve reproduced the issue. I’m starting a Chromecast stream from an android phone, which has a 2 Mbps limit for remote streaming. All devices are on a LAN. Funnily enough the LOCATION field shows the WAN IP but I confirmed that all devices (the Android phone starting the stream, the server and the Chromecast playing it) are all on the same network. What looks suspicious is the bandwidth limit for cellular (0.7 Mbps) as if that was applying to LAN playback.
Your logs show that your Android device is connected over a remote connection, not locally, so the quality is using the 2 Mbps setting.
I see the command to the Chromecast to also use that 2 Mbps setting.
Your file has an average bitrate of ~1.5 Mbps. However, it looks like PMS has determined your file to have an actual bandwidth requirement that is higher than 2 Mbps, so it’s transcoding the file. This is based on peaks found in the file. Can you provide the XML for that video? That will show what bitrate PMS thinks is needed. PMS then determined that transcoding to an average bitrate of 720 kbps is what would be needed to smooth out any peaks.
This all looks like PMS is doing what’s intended.
So you need to determine why the Android app is connecting remotely instead of on the same network. If you increase your remote connection quality, you should be able to get it to play without transcoding, but that’s just a workaround.
Thanks for your assistance! For reasons I do not understand for now, the phone starting the stream is starting it as remote, even though it’s connected to WiFi (as well as mobile data). If I deny the Plex app access to mobile data the movie plays directly. This is not a Plex issue, it has to do with the configuration of one specific Android phone.