4K Video Transcode to XBox One not working well

I have a standalone Plex virtual machine with a 4-Core Xeon server-class processor running Windows 2012 Server w/4GB with a wired connection to both Xbox One and NAS.

I cannot play any of my 4K video stream very well and it stutters and is basically unplayable on the XBox One. On a wired PC It starts up fast but stutters as well. I can see in the Plex log the transcode rate is slow but cannot determine if its disk or network-related. Since its a virtual machine I cannot play any of the files directly because of bare bones video card. If I need to “reconfigure” the setup, that is fine I just need to figure out the options available to me.

Media

Video Resolution 4K
Duration 5:36
Bitrate 99754 kbps
Width 3840
Height 2160
Aspect Ratio 1.78
Container MP4
Video Frame Rate NTSC
Web Optimized No
Has 64bit Offsets 0
Part

Duration 5:36
File C0020.MP4
Size 3.91 GB
Container MP4
Has 64bit Offsets 0
Web Optimized No
Video

Codec H264
Bitrate 97970 kbps
Bit Depth 8
CABAC 1
Chroma Subsampling 4:2:0
Color Space yuv
Duration 5:36
Frame Rate 29.970 fps
Frame Rate Mode cfr
Has Scaling Matrix 0
Height 2160
Level 5.1
Profile high
Ref Frames 2
Scan Type progressive
Stream Identifier 1
Width 3840
Audio

Codec PCM
Channels Stereo
Bitrate 1536 kbps
Bit Depth 16
Bitrate Mode CBR
Duration 5:36
Profile pcm_s16be
Sampling Rate 48000 Hz
Stream Identifier 2

With a bitrate of 99Mbps I am almost certain your problem is going to be hardware related.

1st thing to check is to make sure everything that is wired is using a gigabit connection, if you’re on 100/10 your network simply won’t be able to keep up. Since you’re pulling all of this from a NAS, your server is going to need to use extra bandwidth since it’s reading the 99Mbps file and outputting a 30Mbps file.

This also means that your transcode directory needs to be on a drive that can both input and output at least 60Mbps (It’s writing 30 and reading 30).

I am not to familiar with windows server, but if it’s like the home versions you should be able to open the task manager and look at the performance tab for disk/cpu/network usage which will help narrow it down to what is causing the bottleneck.

Another thing you can try to rule out network is to move the file giving you issues directly onto the server and see if it improves the conditions at all.

-edit Also verify the directory set for transcoding has enough freespace (a rough estimate from that file size to what is transcoding would be ~33% of the file size) as if you run out of disk space during a transcode the transcoder slows down with no room to output.

jmckee

Thanks for the tip, sometimes it takes someone outside the situation to point to the path to the solution. It was actually my own fault, I began validating network, disk and CPU and I realized when I created the VM I did not assign enough cores (DOH!!!). Unfortunately, I found out the following items with respect to transcoding smooth 4K video.

  1. The Plex media server will require eight cores to transcode 4K video. I am using a server-class CPU from 2009 - Intel Xeon X3450 Lynnfield which is able to do it.
  2. Using a virtual machine to do this task is inefficient UNLESS you have a server with more cores than 8 (i.e. an up-to-date server with 12 or 16 cores)
  3. A “clean” wired 1GB network connection between server and NAS (both use same GB switch)

Insofar as NAS write speed I never exceeded 5 MB/s so it is feasible to use a NAS.

Now, I seem to have run into a different issue and I hope you can help me. My 4K video is now displaying green on my Xbox One. I can view 4K transcoded streams on my Android over cellular / WiFi and on my wired desktop. I can hear the audio on the Xbox one but the video is lime green.

Regards,

What version of the server are you using?

There was an issue with an old version of the server that would cause this when the transcoder kicked in, but I would say it was probably close to a year ago (if not longer).

Another thing you can try is limiting the bit rate down. I don’t remember off the top of my head what the max bit rate for the system is, but with the bit rates in your example you may be pushing pretty close to it.

I am using the latest version 0.9.12.11.1406-8403350. How can I decrease the bit rate? The only menu option in the web interface is for the Web Agent which is set to 720P.

Regards

For the Xbox One you have to do it during video playback. Hit ‘A’ scroll to the right for the ‘…’ menu and the right column is video quality settings. My current hunch is that the bitrate or another h264 option may be overloading the h264 on the Xbox One.

(If I remember correctly the limit was something like 20Mbps @ 4.0, but I could be wrong)

You are not wrong, which is why you are a ninja!!!

On playback the video speed setting is set to “Original” and when I set it to 20Mbps (i.e. 1080p) it worked flawlessly. Is that an issue with Plex and the Xbox One profile??

Thank you so much for your help, I am running on all eight cylinders now!!!

I forgot to add this last part, I am using a NAS with a RAID 5 array with 4 drives. This gives me high read speeds and less write speeds. If you are using a single drive or a mirrored pair you may not get the appropriate read/write speeds depending upon your setup

The issue would be a bit of both. The xbox itself can’t handle unlimited bit rate, and while they say 20Mbps@4 you almost always can squeeze a bit more out. The most I have tested was around 23Mbps (I think it was that).

The problem with setting a limit is a lot of people complained so the dev’s took out the limit at the same time they were able to add native MKV support. But it might be time to make some various sample files at different bitrates to try and get some limits that are safe without causing too many forced transcodes.

Actually, I am not talking about setting a limit but setting a user-selectable default value. Currently, it defaults to “Original” which is what is causing the issue with 4K video. It would be best to have Plex default to 20Mbps@4 for 4K video and “Original” for everything else. If not, then I would rather set it to 20Mbps in all instances for the Xbox One.

Again, jmckee, thanks for all your help and advice.