Stuttering when streaming very large source video to Xbox

For help and support with Universal Media Server
Forum rules
Please make sure you follow the Problem Reporting Guidelines before posting if you want a reply
Post Reply
onlinespending
Posts: 4
Joined: Mon Jul 21, 2014 1:19 pm

Stuttering when streaming very large source video to Xbox

Post by onlinespending »

I have spent the better part of the weekend trying to stream a large source video file from my PC to my Xbox 360 over my LAN without success. First an introduction to the variables, many of which I tried more than one solution which largely rules out it being the culprit to my problem.

+ PC as the server (I have tried two computers; one Windows PC and one Mac)
+ Media Server (I have not only tried UMS, but Plex, TVersity, and others)
+ Large Source Video File (such as one from an AutoMKV rip of a Bluray, so 15GB - 30GB big with H264 video; I have tried multiple large, presumably high bitrate files with the same results; large MP4 files also result in stuttering; smaller files 5GB or less yield good results)
+ Wired LAN (I have an ethernet cable hooked up to both the server and Xbox 360 to eliminate any issues with WiFi; I've tried multiple cables and the setup works even over WiFi when the Xbox is eliminated from the equation)
+ Xbox 360 as client (regardless of the computer used as the server, the media server software, and the network cable/connection, the Xbox 360 cannot play a large video file over UPNP without stuttering; using the same setup but using a laptop as a client works without any stuttering)

So what does that tell us? It's not that my server cannot keep up with the transcoding, as I've tried multiple machines. It's not anything inherently wrong with the media server software handling very large video files, as it works fine when the client is something other than the Xbox 360. This leads me to believe that the transcoded video file streamed to the Xbox 360 is still simply too complex for it to handle. The bitrate is likely too high, as per this web page (http://support.xbox.com/en-US/xbox-360/ ... o-playback) the Xbox can only handle 10 Mbit/s peak at 1080p for h.264 video streams. Also, it is limited to the level 4.1 H.264 profile which imposes other limitations to the video stream (http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels). My hunch is that for these larger video source files, UMS (as well as other media serving software such as Plex) aren't transcoding it within the Xbox's acceptable limits.

To test this theory, is there a way to force the transcode to an absurdly low bitrate stream? I have tried toying with the "Transcoding quality" by putting it to 50. But it's clear that it must be ignoring that value for some reason, since the stream still looks extremely high quality (when it's not stuttering). I have also tried changing the video resolution in the MEncoder settings, but those values too don't appear to actually be applied. I have used the TRANSCODE folder to supposedly force the transcode, but the above mentioned settings still seem to be ignored.

For those looking to duplicate this behavior, I'm confident if you were to take a Bluray rip from AutoMKV and stream that large MKV video to the Xbox 360 that you'll invariably get stuttering. If not, then I'd love to know how you avoided so : :D
User avatar
SubJunk
Lead Developer
Posts: 3834
Joined: Sun May 27, 2012 4:12 pm

Re: Stuttering when streaming very large source video to Xbo

Post by SubJunk »

To make the bitrate fairly low to test this, you can go to the Transcoding Settings tab and change the MPEG-2 transcoding quality to "Automatic (Wireless)", then go to the General Configuration tab and change the "Maximum bandwidth" to 10-20.
onlinespending
Posts: 4
Joined: Mon Jul 21, 2014 1:19 pm

Re: Stuttering when streaming very large source video to Xbo

Post by onlinespending »

SubJunk wrote:To make the bitrate fairly low to test this, you can go to the Transcoding Settings tab and change the MPEG-2 transcoding quality to "Automatic (Wireless)", then go to the General Configuration tab and change the "Maximum bandwidth" to 10-20.
It' s funny you mention that, because I actually had tried setting the Maximum Bandwidth to 10 before and the lowest MPEG2 quality setting. Just tried again using your suggested settings and still no dice. I see the current and peak bitrate exceed 10 Mbit/s (upwards of 26 Mbps) so it doesn't seem to honor that value. I'm surprised that MPEG2 would even be used for a 1920x1080p stream. At such a high resolution, you'd need an extremely high bitrate with MPEG2 to achieve acceptable results. And for the quality we're trying to limit it to, it would look atrocious at such low bitrates for MPEG2. And clearly that's not what's happening as the quality of the video being played is exceptionally good with no discernible blocking, so something's up. Is it possible it doesn't even attempt to transcode certain files if they're beyond a certain size or complexity? There's no low level way to truly override the settings of FFMPEG or MEncoder to force it to an ultra low quality transcode? My guess is it's not really doing much of any transcoding now given the quality of the stream despite the settings I choose. And again, this is only on very large (15GB - 30GB) MKV/MP4 files. Thanks for your help.
onlinespending
Posts: 4
Joined: Mon Jul 21, 2014 1:19 pm

Re: Stuttering when streaming very large source video to Xbo

Post by onlinespending »

or is it possible UMS is basically checking the source file, seeing that the video and audio streams are supported by the client (in this case the Xbox 360) and saying "ok, streams are compatible. let's just stream this without transcoding". Problem is, it's not the incompatibility of the video stream format that's a problem, it's the ultra high bitrate that is (given that the source file is an untouched Bluray rip). It'd be nice if it did in fact check for compatibility beyond just the format (bitrate, level 4.1 profile, etc) to determine whether to transcode or not, and adjust the transcoding options to create a stream that is within the client's limits. I did try setting force transcode by file extension. I simply put in 'm4v, mp4, mkv' without the quotes. Is that the correct way to list them?
onlinespending
Posts: 4
Joined: Mon Jul 21, 2014 1:19 pm

Re: Stuttering when streaming very large source video to Xbo

Post by onlinespending »

OK, I believe I figured out what's going on after I looked into what Plex does. Based on their .xml profile for the Xbox 360, they transcode everything to an ASF container with WMV2 as the video codec. Perhaps this is the only format that the Xbox 360 supports for DLNA streaming (local files via USB may include more). So that explains why none of the settings I tried to limit the quality with H264 or MPEG2 had any impact. I imagine UMS is also coded to stream via ASF/WMV2 when connecting to an Xbox 360. My best guess now is that my server (although pretty beefy) simply can't keep up when decoding a very high bitrate source file to WMV2. Curious if there's ways to speed up that particular transcode.
User avatar
SubJunk
Lead Developer
Posts: 3834
Joined: Sun May 27, 2012 4:12 pm

Re: Stuttering when streaming very large source video to Xbo

Post by SubJunk »

You can see if your CPU is keeping up with transcoding by watching the buffer on the Status tab. If it is low when it stutters then that's the problem.
Also if you upload debug logs (see the link in my signature) I can see what's going on.
Post Reply