This is the first in a series of blog topics to introduce you to improvements we have made in RDP in Windows 7 and WS2008 R2 to enhance your audio and video playback experience in remote sessions. Media playback experience has been improved by efficiently transporting audio/video-based multimedia in a compressed format within the RDP protocol. The feature will enable users to experience smooth, reliable playback of multimedia video content played back through Windows Media Player.
If the client supports multimedia redirection, it will receive the original compressed multimedia stream from the server and decode it locally for display. This will decrease bandwidth usage since the data over the wire will be compressed video instead of a succession of bitmaps. Bandwidth usage should be akin to streaming content from a video server or via a video played over a file share. Also, the bandwidth usage remains the same when a video window is resized and even when it's played in full-screen mode.
This method also saves server resources as the server no longer spends its CPU resources decoding the video content and sending it in bitmap form over RDP. As we can see in Figure 1 below, while playing a HD video in a remote session with multimedia redirection, the CPU load on the server is only about 1%. The CPU-intensive processing is off-loaded to the client where the CPU load is about 25% (task manager on the right). Even though the video is rendered on the client, the video content displayed on the screen will be seamless (as though it was rendered on the server).
Figure 1. CPU usage when playing back HD video in a remote session
What do I need to experience this feature?
The server you connect to has to be running WS2008 R2 with the Remote Desktop Server role installed. The server also has to be configured to allow audio and video playback. When you install the Remote Desktop Session Host role by using Server Manager, select the “Audio and video playback” check box on the Configure Client Experience page.
Figure 2. Server Manager: Configure Client Experience page
This is a one-step process that allows you to configure the server for audio and video playback redirection during RDS role installation.
You can also experience this feature when you connect to a physical Win 7 Ultimate/Enterprise machine or a Win 7 Enterprise VM. No additional configuration is required on these client machines.
You need an RDP 7.0 client to connect to the remote machine.
Click the Local Resources tab in the Remote Desktop Connection Options. Click the Settings button under “Remote audio.”
On the next dialog box that appears, select “Play on this computer.”
Figure 3. RDP client: Remote Audio settings
What formats of audio and video are supported by this feature?
Windows Media Player uses the Media Foundation infrastructure to play back content such as WMA, WMV, MP3, DivX, etc., and DirectShow for MPEG-1, MPEG-2, etc. In addition, most streaming media content is played back through the Format SDK (FSDK). Most audio and video content played back through Windows Media Player will be redirected using this scheme as long as the client has the decoder to decode the content. This includes content that goes through Media Foundation as well as DirectShow. In addition, content that is streamed can also be redirected. If the decoders are not present on the client then content will be rendered on the server using the server’s CPU/GPU resources (host side rendering). The compressed bitmaps and audio (see the blog post What’s New in Remote Audio for Windows 7?) would then be sent efficiently over the network to the client.
Note that DRM-protected content will not be redirected through this mechanism.
Next topic: Configuring your WS2008 R2 server for a rich client experience.
You can pretty much use any HD/SD content to test this. The Windows Media HD showcase http://www.microsoft.com/windows/windowsmedia/musicandvideo/hdvideo/contentshowcase.aspx has several content that you can download.
Shuba Iyer [MSFT]
Great, thanks for the reply. I'll be testing this out tonight. Will report back on my findings.
Sorry, but this just isn't working for me.
I have Windows Server 2008 R2 Standard 64bit running as a Terminal server (i.e. RDS). It is part of a Windows 2003 Domain. I am connecting from home to the TS using a 24mbit down / 1mbit up ADSL line from my Windows 7 Professional PC using RDP 7.0.
I have tried setting RDP to 10mb quality settings too. (Audio is set to play on local PC).
I downloaded Fighter Jets (720p).wmv from MS, saved it on my TS desktop, double clicked it to play in my TS session and it just barely manages a slideshow performance. Audio is there but I get around 15fps at the very first 2 seconds, then it goes into a slideshow with less than 1 fps. The audio is delayed and I can't see whats going on.
Nothing wrong with my latencies or download / upload speeds from home either.
Server also has audio and video redirection enabled and the server has plenty of bandwidth available. Neither the server nor my home client CPU usages spike or go high when this video is playing. (The server is a VM running on VMWare ESX, plenty of resources available). The ESX host server is a Dell M600 blade with 2 x Quad core Xeon processors and 32GB RAM. The VM itself only has me on as a TS user, 1 x CPU and 1GB RAM. All resources in Server 2008 are free for me to use and not bottlenecking at all.
Any pointers here? I have yet to see this working in a real-world situation!
Ok so after trying a small video (lower quality .wmv) - that is one 50MB and one 70MB, the media streaming is actually working quite well in Windows media player. However I hardly saw my local CPU being taxed (Dual core E8400 running at 3.6GHz). When attempting to play the HD 720p Fighter jet sample, I get a stuttery video with low frame rate. (From here : http://www.microsoft.com/windows/windowsmedia/musicandvideo/hdvideo/contentshowcase.aspx) What would my bottleneck be here? Surely it can't be the CPU as neither server nor client CPU is being pushed past 10% usage. I am able to download at 1MB/s real bandwidth and send at 120kb/s and the server has far more bandwidth available than that!
What else can I test this media streaming technology with? Flash/youtube don't seem to benefit much from it....
Another update from me:
I have had some success streaming that 720p Jet fighter video now. Here is what I found remotely connecting from various clients to our 2008 R2 Terminal Server (Over the internet).
E8400, 4GB RAM, HD4870 gaming graphics card, Windows 7 Professional RDP 7.0 (24Mbit ADSL)
Result = slow streaming on 720p file (choppy video hardly viewable).
Client2: Core2Duo Dell Studio laptop 2GB RAM, Windows Vista, RDP 7.0 update from MS (20Mbit ADSL)
Result = same as Client1.
Client3: Intel Centrino 1.6Ghz Acer laptop, 512MB RAM, Windows XP Pro with RDP 7.0 update from MS (24Mbit ADSL)
Result = Great playback performance on the 720p video over remote desktop connection! (The CPU also seemed to be stressed as I would expect locally - ran at 66% usage until the video stopped).
The other clients local CPUs didn't seem to work much even though they are running RDP 7.0.
What do you think of that? Windows XP RDP 7 seems to be only one working for me.
In all these 3 cases you should have had the same experience (meaning smooth playback like you experienced with your XP box. Would you happen to know the latency between your client and server boxes?
Yes latency pinging from 2008 R2 server across the internet to my home broadband connection where I am connecting from (What I used when connecting from Windows 7 and XP machines in example above) is consistently around 6-9ms.
See screenshot: http://dl.dropbox.com/u/450727/latencies.jpg
I can't ping the other way around as our firewall blocks pings to the server from external locations.
broadband connection seems to be running off some similar backbones as our network runs off as the latency is very low in my opinion...
Ok I did some more testing now. I have figured out where the difference comes in. It doesn't matter if desktop color is set to 16 or 32bit. But what does make the difference is setting my connection speed between : High speed broadband (2 - 10Mbits per second) and LAN (10Mbps or higher).
With high speed broadband selected in my RDP session the video in HD is choppy and unresponsive. If I select LAN (10Mbps or higher) then the 1080p sample of Terminator 2 plays well.
Hope this helps anyone having the same issue as me.
Now all we need is for flash video to work properly - this is the killer feature we need. Nobody really uses WM player in the office at work - flash is encountered far more often on websites, so if this can be sorted out over RDC that would be great!
If you require full quality flash playback for RDP, Quest vWorkspace adds this to XP thru 2008 R2 RDP hosts for Windows and Linux Clients.
You can find this at www.vworkspace.com.
PS Just found the Brian Madden TV episode where he interviews you guys and gets some background info on all these features - great to put faces to you guys here :)
i need help download music to my windows media player