I'm trying to use my file server as a streaming source for video files played on XBOX 360 S. The file server is running WinXP Pro 32. I have Windows Media Player installed on that machine and I use its built-in media sharing capabilities for that purpose. The XBOX and everything else in the network is connected by wired Ethernet to a gigabit router. All NICs in the network work in full gigabit mode (except, of course, XBOX itself, which AFAIK uses a 10/100 NIC).
The sharing works fine. XBOX can see and play all videos from the file server. However, I observe the following problems with the playback
1. The original video files are Multipart OpenDML AVIs encoded with DX50/AC3. The bitrates are around 2000 and the size is around 640-700 to 400-500. I.e. it is simple DVD-quality content, not anything hi-def. The XBOX plays them fine aside from the following quirk. About every 5 minutes the playback stutters (both video and audio). The period is pretty constant - it happens every 5 minutes with little or no variation. (Later I noticed that video files with lower bitrate have longer periods between stutters.)
I ran the simple disk, CPU and network activity monitor utility on the file server and found the following: during each 5 minute period there's no network or disc activity on the file server. At the end of each 5 minute period the media sharing service reads a chunk of data from the disc and sens it over the network to the XBOX. This is exactly when XBOX playback stutters. I.e. the XBOX receives 5 minutes worth of data, plays it smoothly, then stutters when it is time to ask for and receive the next chunk.
To me this behavior leads to an "obvious" theory of what happens: this appears to be some sort of stupid mus-judgement in XBOX video player implementation. XBOX requests data from the server in chunks that are too large for it to swallow. Each request is so taxing on XBOX I/O and/or processing capabilities that the playback stutters. I would assume that if XBOX requested the same data twice as often in chunks twice as small, there would be no stutter.
Again, the capabilities of the network connection and the file server hard drive are vastly exceeding anything that is needed for smooth playback. I have Samsung BD CC-5500 player connected to the same network. It can play the very same video files from the very same file server visible through the same Windows Media Player sharing interface, as well as through Samsung PC Share interface. Regardless of which interface I use, on the Samsung everything plays perfectly with no stutter whatsoever. (I haven't analyzed the disk/network activity during that playback yet.)
So, is there any suggestions that could improve the XBOX playback? Just to experiment I moved a video file to a SSD drive on a much more powerful PC in the same network and shared it from there. It had no observable effect on the stutter, suggesting that this is some processing bottleneck inside the XBOX itself.
I read about similar experiences posted by people on the Net. There seems to be an (anecdotal?) theory that this is somehow caused by AC3 audio codec. Could it be?
2. Trying to make it play better I converted some of the videos to WMV format using Windows Media Encoder 9, hoping that WMV is better suited for streaming. All resultant videos, when played by the XBOX demonstrate obvious and continuous "jerkiness", which is especially obvious in continuous panning shots. On closer inspection I saw what was really happening: XBOX was playing some video frames out of order (!). This was very noticeable during cuts, when one scene was replaced with a completely different one. For example: consider the sequence of frames "on the sunny beach" BBBBBBB, followed by the sequence of frames "in the dark office" DDDDDDD. The normal playback would look as BBBBBBBDDDDDDD, while XBOX plays it as BBBBBBDBDDDDDD. I.e. after switching to the dark "office" sequence, it suddenly decides to flash one frame (or, maybe, more) from the previous bright "beach" sequence. Basically, the neighboring frames seem to be randomly swapped from time to time. During continuous panning shots this turns smooth motion into a jerky one. This effect is immediately noticeable during about 75% of playback, i.e. it "happens all the time" with rare short periods of normal playback.
This effect is not reproducible when playing the same WMV file on a PC or on the aforementioned Samsung player. Everything works fine on both, suggesting that the WMV file itself is OK. Only XBOX player exhibits this strange frame-swapping behavior. So, apparently there's an XBOX-specific incompatibility at play here or XBOX-specific bug.
I haven't trying other converters to WMV format, so all my experiments were made on WMV files created by Windows Media Encoder 9.
What could be causing this? Any ideas?
P.S. BTW, while this forum is about "streaming" it appears that it is about different kind of streaming. If this is not the place for questions like this, the would someone please suggest the proper forum.
The sharing works fine. XBOX can see and play all videos from the file server. However, I observe the following problems with the playback
1. The original video files are Multipart OpenDML AVIs encoded with DX50/AC3. The bitrates are around 2000 and the size is around 640-700 to 400-500. I.e. it is simple DVD-quality content, not anything hi-def. The XBOX plays them fine aside from the following quirk. About every 5 minutes the playback stutters (both video and audio). The period is pretty constant - it happens every 5 minutes with little or no variation. (Later I noticed that video files with lower bitrate have longer periods between stutters.)
I ran the simple disk, CPU and network activity monitor utility on the file server and found the following: during each 5 minute period there's no network or disc activity on the file server. At the end of each 5 minute period the media sharing service reads a chunk of data from the disc and sens it over the network to the XBOX. This is exactly when XBOX playback stutters. I.e. the XBOX receives 5 minutes worth of data, plays it smoothly, then stutters when it is time to ask for and receive the next chunk.
To me this behavior leads to an "obvious" theory of what happens: this appears to be some sort of stupid mus-judgement in XBOX video player implementation. XBOX requests data from the server in chunks that are too large for it to swallow. Each request is so taxing on XBOX I/O and/or processing capabilities that the playback stutters. I would assume that if XBOX requested the same data twice as often in chunks twice as small, there would be no stutter.
Again, the capabilities of the network connection and the file server hard drive are vastly exceeding anything that is needed for smooth playback. I have Samsung BD CC-5500 player connected to the same network. It can play the very same video files from the very same file server visible through the same Windows Media Player sharing interface, as well as through Samsung PC Share interface. Regardless of which interface I use, on the Samsung everything plays perfectly with no stutter whatsoever. (I haven't analyzed the disk/network activity during that playback yet.)
So, is there any suggestions that could improve the XBOX playback? Just to experiment I moved a video file to a SSD drive on a much more powerful PC in the same network and shared it from there. It had no observable effect on the stutter, suggesting that this is some processing bottleneck inside the XBOX itself.
I read about similar experiences posted by people on the Net. There seems to be an (anecdotal?) theory that this is somehow caused by AC3 audio codec. Could it be?
2. Trying to make it play better I converted some of the videos to WMV format using Windows Media Encoder 9, hoping that WMV is better suited for streaming. All resultant videos, when played by the XBOX demonstrate obvious and continuous "jerkiness", which is especially obvious in continuous panning shots. On closer inspection I saw what was really happening: XBOX was playing some video frames out of order (!). This was very noticeable during cuts, when one scene was replaced with a completely different one. For example: consider the sequence of frames "on the sunny beach" BBBBBBB, followed by the sequence of frames "in the dark office" DDDDDDD. The normal playback would look as BBBBBBBDDDDDDD, while XBOX plays it as BBBBBBDBDDDDDD. I.e. after switching to the dark "office" sequence, it suddenly decides to flash one frame (or, maybe, more) from the previous bright "beach" sequence. Basically, the neighboring frames seem to be randomly swapped from time to time. During continuous panning shots this turns smooth motion into a jerky one. This effect is immediately noticeable during about 75% of playback, i.e. it "happens all the time" with rare short periods of normal playback.
This effect is not reproducible when playing the same WMV file on a PC or on the aforementioned Samsung player. Everything works fine on both, suggesting that the WMV file itself is OK. Only XBOX player exhibits this strange frame-swapping behavior. So, apparently there's an XBOX-specific incompatibility at play here or XBOX-specific bug.
I haven't trying other converters to WMV format, so all my experiments were made on WMV files created by Windows Media Encoder 9.
What could be causing this? Any ideas?
P.S. BTW, while this forum is about "streaming" it appears that it is about different kind of streaming. If this is not the place for questions like this, the would someone please suggest the proper forum.