Is there a way we can either have a setting to explicitly set if the client supports x265 natively or at least some sort of way of detecting it?
I used to do straight rips of my Blu-Ray disks, but these were always taking up 30-40gb of space on my drive which takes a toll over time… so recently I went through and encoded them all at a fairly high bitrate with HEVC/x265 which brings them down to around 8-10gb in size and the quality still looks fantastic. I figured for my legacy devices they still needed x264, so I encoded the same movies as x264 as well, but at a max 8Mbps bitrate, which keeps the files roughly 1gb smaller than their x265 counterpart.
Anyway, my local PMP is set to direct play and it always wants to choose the x265 file and fails terribly at playing it back (clients are a older Celeron NUC with embedded player and 2x AppleTV 4’s). They studder all over the place because my server sends the x265 file but tries to transcode it rather than direct playing the x264 file which will play fine.
Is there a way to change this behavior or have my PMP clients tell the server to only play the x264 files unless we know the PMP will support native playback of x265?
With PMP you should be able to select the file to play.
I went down this road before and the best recommendation I can give is to setup two separate libraries. One for the 264 content and one for 265 content. Only share or use the 265 library with users/clients that can support it otherwise use the 264 library.
@mikestecker said:
Is there a way to change this behavior or have my PMP clients tell the server to only play the x264 files unless we know the PMP will support native playback of x265?
PMP already supports native playback of H265. If it is transcoding, there is something else going on. Please provide the server and PMP logs.
@cayars said:
I went down this road before and the best recommendation I can give is to setup two separate libraries. One for the 264 content and one for 265 content. Only share or use the 265 library with users/clients that can support it otherwise use the 264 library.
Not a bad idea… I think I’ll do this.
@MovieFan.Plex said:
PMP already supports native playback of H265. If it is transcoding, there is something else going on. Please provide the server and PMP logs.
Yeah, I know the software supports native playback but my client doesn’t… at least not smoothly. When I try to play the x265 movie, it’s incredibly choppy. I was looking for a way to have PMP intelligently know to choose the x264 version if the client won’t play it back smoothly. This way when you simply click Play in the player, it looks for a version that it can natively playback without studder.
Oh, and on my embedded player I double checked… my server is not transcoding, simply direct playing the x265 but the client can’t quite handle the file. I think I’ll do what @cayars suggested and migrate the x265 versions into a new library.
Sorry, I think I’m getting confused by your use of the word client. Do you mean the computer itself doesn’t handle h265?
Another thing you can try, but might be more work, is that PMS will by default pick the first video file added to your library that can be direct played. So if you have a h265 file then add a h264, if your client can support h265, the h265 video will be auto chosen. However, if you do the opposite and have h264 first, it will get chosen as the default. You can still manually choose the h265 file when you know the device can handle it.
@MovieFan.Plex said:
Sorry, I think I’m getting confused by your use of the word client. Do you mean the computer itself doesn’t handle h265?
Yeah, the computer I’m using as a player is what I mean by client but I also mean to include iOS devices (my primary players) such as the ATV4.
Another thing you can try, but might be more work, is that PMS will by default pick the first video file added to your library that can be direct played. So if you have a h265 file then add a h264, if your client can support h265, the h265 video will be auto chosen. However, if you do the opposite and have h264 first, it will get chosen as the default. You can still manually choose the h265 file when you know the device can handle it.
I don’t really care to go through and figure out which is which at this point to figure out what order files were added. I’ll just sift through which ones I have as x265 and move them into a new library instead.
I’m in the same boat, older celeron NUC that won’t DIRECTPLAY h265.
What I wound up doing is spending $50+ on an Odroid-C2 which will DIRECTPLAY h265 content all day long.
Now the only caveat is you have to run OpenPHT or the new Plex for Kodi Add-on, as PMP is not available on the Odroid-C2.
In the end it was cheaper, by a long margin, than buy a new NUC that would DIRECTPLAY h265
@hthighway said:
I’m in the same boat, older celeron NUC that won’t DIRECTPLAY h265.
What I wound up doing is spending $50+ on an Odroid-C2 which will DIRECTPLAY h265 content all day long.
Now the only caveat is you have to run OpenPHT or the new Plex for Kodi Add-on, as PMP is not available on the Odroid-C2.
In the end it was cheaper, by a long margin, than buy a new NUC that would DIRECTPLAY h265
I was looking into those but I was hesitant seeing the discussions about PMP not running on them. A new NUC build would be upwards at $300 right now and I don’t care to spend that on a new player right now… Too bad PMP won’t run on the Odroid. Maybe it will soon…
@mikestecker said:
Is there a way we can either have a setting to explicitly set if the client supports x265 natively or at least some sort of way of detecting it?
I used to do straight rips of my Blu-Ray disks, but these were always taking up 30-40gb of space on my drive which takes a toll over time… so recently I went through and encoded them all at a fairly high bitrate with HEVC/x265 which brings them down to around 8-10gb in size and the quality still looks fantastic. I figured for my legacy devices they still needed x264, so I encoded the same movies as x264 as well, but at a max 8Mbps bitrate, which keeps the files roughly 1gb smaller than their x265 counterpart.
Anyway, my local PMP is set to direct play and it always wants to choose the x265 file and fails terribly at playing it back (clients are a older Celeron NUC with embedded player and 2x AppleTV 4’s). They studder all over the place because my server sends the x265 file but tries to transcode it rather than direct playing the x264 file which will play fine.
Is there a way to change this behavior or have my PMP clients tell the server to only play the x264 files unless we know the PMP will support native playback of x265?
Can you really see any difference between the 10gb h265 and the 9gb h264.
Maybe ? NO ? Always?
Personally I would skip the h265 rips for another 2 years
@MovieFan.Plex said:
Another thing you can try, but might be more work, is that PMS will by default pick the first video file added to your library that can be direct played. So if you have a h265 file then add a h264, if your client can support h265, the h265 video will be auto chosen. However, if you do the opposite and have h264 first, it will get chosen as the default. You can still manually choose the h265 file when you know the device can handle it.
Glad you made that comment because I’ve been meaning to ask why it’s like this? Why is Plex software not smart enough to use the proper version regardless of the order they are added in?
The Plex clients don’t currently offer a way to set preferred codecs. In this case the client (PMP) supports both H264 and H265 so it will send the first compatible file which is h265 expecting the client can direct play the file. PMS has no way of knowing that PMP is running on a low-powered device and not to send the h265.
Had the client been something else that doesn’t support h265, then PMS would have sent the h264 version if that could be direct played. So PMS is smart, it just got out-smarted by the client in this case.
@MovieFan.Plex said:
PMS has no way of knowing that PMP is running on a low-powered device and not to send the h265.
That’s why I was wondering if there could be the addition of a setting on the client that tells the server “Yes, I can play back h265 fine”. If the box is not checked then the server would send over the x264 file. Similar to where you have audio options in the settings to check if certain audio codecs are supported.