• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Personal Blog
Derek Thorslund
Related Tags
posted by Derek Thorslund

In recent years, we've seen widespread adoption of video streaming in the enterprise. Typical uses include employee training and corporate communications. In this 10-minute video, Citrix engineer Aureliano Lopez-Martin demonstrates SpeedScreen Multimedia Acceleration and explains how Citrix's RAVE (Remote Audio & Video Extensions) technology delivers video streaming with excellent quality -- including High Definition -- and very high server scalability.

To set the stage, consider the two basic alternative approaches to delivering streaming media from a centralized application or desktop delivery system. You can either render the video centrally and send it in a standardized compressed format to the client, or you can decode the native compressed media stream on the client device using the appropriate codec. Each approach has advantages and disadvantages.

Recently, I posted a video of Vista Aero Remoting, a technology currently being developed under project Apollo. The Apollo Vista Aero Remoting technology takes a generic approach to delivering whatever appears on the user's virtual desktop. The beauty of that approach is that it delivers a "full fidelity" user experience for whatever the user needs to view on the screen, whether it is a Flash or Windows Media video, a next-generation Windows application written in WPF or Silverlight, or any other application technology.

The RAVE technology behind SpeedScreen Multimedia Acceleration is an optimization specifically for streaming video and audio. It leverages client-side resources to increase server scalability (the number of concurrent users) and thereby reduce the cost per user. Take a look at this video and you'll learn about the advantages and requirements of the RAVE approach and get a glimpse into the future of this innovative technology. 

Derek Thorslund
Product Strategist, Multimedia Virtualization

(Click to hear Aureliano Lopez-Martin explain the RAVE technology behind SpeedScreen Multimedia Acceleration)

Labels

hdx hdx Delete
xenapp xenapp Delete
rave rave Delete
video video Delete
speedscreen multimedia acceleration speedscreen_multimedia_acceleration Delete
video streaming video_streaming Delete
streaming media streaming_media Delete
windows media windows_media Delete
hdx mediastream hdx_mediastream Delete
hdx hdx Delete
lang-eng lang-eng Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Feb 13, 2008

    Jason Tedrick says:

    How far along is RAVE?  Any release date yet?

    How far along is RAVE?  Any release date yet?

    1. Feb 13, 2008

      Derek Thorslund says:

      RAVE is already part of Citrix Presentation Server (now "XenApp"). The SpeedScre...

      RAVE is already part of Citrix Presentation Server (now "XenApp"). The SpeedScreen Multimedia Acceleration feature which uses the RAVE technology was introduced in Presentation Server 3.0 back in 2004. The Media Foundation enhancements that Aureliano speaks about for Windows Server 2008 will be part of the upcoming Delaware release.

      Derek

      1. Feb 24, 2009

        Anonymous says:

        I am testing Media Player 10 from PS4.0 (+HotFix PSE400W2K3R06) and Web Cli...

        I am testing Media Player 10 from PS4.0 (+HotFix PSE400W2K3R06) and Web Client 11:

        I wonder why accross RAVE a Seek cannot be performed from a Pause state; if I click on the Seek bar while the player is in Pause mode, the video image is not updated to the new position. Seek however is always working well when the player is in Playback mode?

        When using Media Player 10 locally with the same video file there is no problem.

        Same behavior with my own DirectShow player; IMediaSeeker SetPosition works only if the player is in Running state. Also IMediaControl GetState seems to return mostly the following state:
        VFW_S_STATE_INTERMEDIATE. I could guess from the nature of your RAVE solution (buffered re-transmission) that the realtime control/response of a player is quite problematic, and it would probably requires Citrix Adapted MediaSeeking and IMediaControl interfaces on the Server generated DShow Filter graph.

        Anyway I would like to know if it is working actually better under PS4.5 or XenApp 5.0?

        Thanks.

  2. Feb 13, 2008

    Anonymous says:

    How will this work on thin clients that don't have a powerful processor or graph...

    How will this work on thin clients that don't have a powerful processor or graphics chip?

    1. Feb 15, 2008

      Derek Thorslund says:

      If the required codec is not included on the client (e.g. because the device doe...

      If the required codec is not included on the client (e.g. because the device doesn't have the horsepower to adequately handle streaming video), then the system will automatically revert to server-side rendering. You or your thin client vendor might deliberately omit a codec (such as a High Definition video codec) from the client if you find that the performance of local rendering is inferior to server-side rendering.

      Several enhancements to Queuing & Tossing introduced in Presentation Server 4.5 (now "XenApp") improved the smoothness of server-side video playback, increased network efficiency, and reduced server CPU consumption. So, server-side rendering provides a fallback if the client cannot support RAVE. But if you can leverage the client for local video rendering, you'll find that the user experience is superior and server scalability is much higher.

      Derek

  3. Feb 13, 2008

    Brian Thornton says:

    I noticed this was running on a win32 client. Are there plans to get this techno...

    I noticed this was running on a win32 client. Are there plans to get this technology working on Thin Clients....

     Specifically in my case the WYSE V10L  http://www.wyse.co.uk/products/hardware/thinclients/V10L/index.asp

    Brian

    1. Feb 13, 2008

      Derek Thorslund says:

      Take a look at my blog post on Wyse TCX Multimedia. Wyse has done a great job of...

      Take a look at my blog post on Wyse TCX Multimedia. Wyse has done a great job of complementing SpeedScreen Multimedia Acceleration with a streaming media solution for Thin OS.

      Derek

  4. Apr 25, 2008

    Anonymous says:

    I looked at this video and I guess I must be missing something...  From wha...

    I looked at this video and I guess I must be missing something...  From what I understand Speedscreen Multimedia Acceleration is the process of "Streaming" data to the local client (PC for example) to be rendered by the local media player.  In the Video, that does not seem to be what is happening. 

    I appears to me that the media player is opened via Program Neighborhood and then a video is played form the media player on the server.  At no time did I see a local instance of the media player open....

    A better demo would have been to open IE and click a video link which would then open a local media player (yes?) by which the media would be rendered.  The demo I saw in the video does not look like it demonstrated Multimedia Acceleration.  In fact, Darek, at one time you mention that "Wow, it looks like it running locally!"...isnt that the purpose of the technology anyway?  To stream the content for "local" rendering?  If everything was working as the way I understand it it would look like it was running locally because it would be actually be running locally.

    Am I on the right or wrong on this one?

    1. Apr 25, 2008

      Anonymous says:

      After doing some digging and testing...I guess I just understand this all that w...

      After doing some digging and testing...I guess I just understand this all that well...  Is it the movie is played "On Top" of a sever side media player from the local side?  Is that how it works?

      1. Apr 25, 2008

        Derek Thorslund says:

        The published media player application (e.g. Windows Media Player or RealPlayer)...

        The published media player application (e.g. Windows Media Player or RealPlayer) runs on the XenApp server. But our RAVE technology intercepts the rendering that would normally occur on the server and streams the media content to the ICA client. The ICA client renders the media stream (video and audio) using the client's CPU and the appropriate local codec. The rendered video is displayed in a rectangle that exactly fits on top of the video window of the media player application. Likewise, the audio is decoded locally. Therefore, RAVE is capable of delivering High Definition video and full fidelity multi-channel audio with very little impact on server scalability.

  5. Jul 07, 2008

    Anonymous says:

    What about support for OpenGL based applications?

    What about support for OpenGL based applications?

    1. Jul 07, 2008

      Derek Thorslund says:

      RAVE is for streaming media (video and audio). It has no bearing on the delivery...

      RAVE is for streaming media (video and audio). It has no bearing on the delivery of OpenGL based applications. To learn about Citrix's Pictor technology for delivering 3D graphics applications based on OpenGL, check out the Citrix Virtual Design Studio blog. Virtual Design Studio adds graphics hardware acceleration to the XenApp platform to deliver OpenGL applications like Dassault CATIA. Another relevant Citrix technology is Apollo Accelerated Bitmap Remoting (ABR). Apollo ABR is a XenDesktop-based technology for delivering DirectX and OpenGL 3D graphics applications and Vista Aero desktops.

  6. Aug 22, 2008

    Anonymous says:

    Hi Derek and Aureliano. Thanks for a very comprehensive demonstration. Does th...

    Hi Derek and Aureliano.

    Thanks for a very comprehensive demonstration.

    Does the thin client need to have a hard drive to render the audio and video locally? You mention that the client need to have the codec installed, which I presume would demand a hard drive.We have a thin client (HP t5520) with out a hard drive and a presentation server 4.5. This setup should hopefully be able to stream video (MPEG2 2 kbps) and audio (mp3 or WAV 48 kHz 24 bit).
     Best regards
    Jeppe Christensen
    Danish National Archive

    1. Aug 25, 2008

      Derek Thorslund says:

      Hi Jeppe, I checked with our friends at HP and they confirmed that the t5520 W...

      Hi Jeppe,

      I checked with our friends at HP and they confirmed that the t5520 WinCE thin client ships with a variety of multiimedia codecs pre-installed, namely WMV, WMA, MP3, MPEG-1, and MS RLE. Since there's no hard drive, the codecs are stored in Flash memory.

      Derek

  7. Aug 26, 2008

    Anonymous says:

    What will become of audio and speedscreen support within Xen Desktop?  and ...

    What will become of audio and speedscreen support within Xen Desktop?  and what about Xen Desktop which is utililizing hosted apps from 

    XenApp farm with App Receiver on the Virtual Desktop?

    1. Aug 26, 2008

      Anonymous says:

      Also, is there support for this technology using QuickTime?

      Also, is there support for this technology using QuickTime?

      1. Aug 27, 2008

        Derek Thorslund says:

        RAVE has not at this time been adapted to support the Apple QuickTime media play...

        RAVE has not at this time been adapted to support the Apple QuickTime media player. QuickTime movies are rendered server-side and the resulting bitmaps are compressed and delivered to the endpoint using technologies such as Queuing & Tossing and SpeedScreen Progressive Display.

    2. Aug 27, 2008

      Derek Thorslund says:

      RAVE is a strategic technology for Citrix, and the SpeedScreen Multimedia Accele...

      RAVE is a strategic technology for Citrix, and the SpeedScreen Multimedia Acceleration feature is in the process of being implemented on XenDesktop. This will provide high quality audio and video support for a wide variety of streaming media formats supported by players based on DirectShow, DirectX Media Objects (DMO), or Media Foundation (MF) filter technology.

      Prior to the availability of SpeedScreen Multimedia Acceleration on XenDesktop, would it make sense to host the media player on XenApp and deliver it into the XenDesktop virtual desktop? In general, this approach is valuable for numerous use cases (for example, I recently blogged about how this technique can be used to deliver applications that are not Vista compatible into a virtual Vista desktop). But this technique will not deliver the benefits of RAVE. Although there is some magic that goes on in this double-hop scenario (for example, print streams are passed through directly), in this case the video stream would be decoded on the XenDesktop server, not on the endpoint. So the end user experience would be no better than if the media player were running on XenDesktop. Of course, XenDesktop does already include technologies like Queuing & Tossing, SuperCaching and SpeedScreen Progressive Display, which greatly help with delivering the rendered video images. But RAVE is the ultimate solution, providing "like local" quality with minimal network bandwidth and server CPU consumption.

  8. Oct 06, 2008

    Anonymous says:

    How do we know wether a stream is being RAVE'd or not ? If i publish IE on a ser...

    How do we know wether a stream is being RAVE'd or not ? If i publish IE on a server and then connect it using a ICA client. Point the published IE to a windows media link what how would i know wether the stream is being screen-scrapped or RAVE'd ? Please help.

    1. Oct 15, 2008

      Derek Thorslund says:

      See my blog post How do I know if RAVE is working?
  9. Oct 16, 2008

    Anonymous says:

    Derek, Is Speedscreen/RAVE supported on Windows CE 6 thin clients that include ...

    Derek,

    Is Speedscreen/RAVE supported on Windows CE 6 thin clients that include ICA 10, or just XPe thin clients today? Ultimately I want to see if you can do local rendering (vs. all server side).

    1. Oct 16, 2008

      Derek Thorslund says:

      Yes, the WinCE XenApp plugin (client) does support RAVE.

      Yes, the WinCE XenApp plugin (client) does support RAVE.

  10. Oct 16, 2008

    Anonymous says:

    Can you be more specific on the plugin. If I already have ICA 10 and PNAgent, do...

    Can you be more specific on the plugin. If I already have ICA 10 and PNAgent, do I need anything else on the client? For performance, I would like to do local rendering on the client vs. the server.

    1. Oct 16, 2008

      Derek Thorslund says:

      In addition to the Citrix XenApp plugin (client), you need to have the appropria...

      In addition to the Citrix XenApp plugin (client), you need to have the appropriate codecs installed on the thin client to decode the media streams your users will encounter (just as you would need those codecs installed on your PC if you were running Internet Explorer or Windows Media Player locally). If the appropriate codec is not available on the client, SmartRendering will revert to server-side rendering so the user can still watch the video, but you will lose the benefits of RAVE.

  11. Dec 16, 2008

    Anonymous says:

    Hi Derek, Is the local rendering capability enabled today for WinCE with RAVE, v...

    Hi Derek, Is the local rendering capability enabled today for WinCE with RAVE, vs. server side rendering? If so, do you enable a specific setting on XenApp 4.5 to enable this feature and/or locally on the device when configuring the ICA client?

    1. Dec 16, 2008

      Derek Thorslund says:

      Yes, SpeedScreen Multimedia Acceleration is supported on WinCE, enabling client-...

      Yes, SpeedScreen Multimedia Acceleration is supported on WinCE, enabling client-side rendering via RAVE. The WinCE device must, of course, be equipped with the necessary codec to decode the multimedia stream, otherwise RAVE will fallback to server-side rendering.

      From the Admin Guide for XenApp 4.5: "By default, SpeedScreen Multimedia Acceleration is enabled at the server farm level. You can customize the settings for this feature at the farm level and for individual servers. To do this, select the corresponding farm or server Properties page in the Access Management Console and modify the SpeedScreen Multimedia Acceleration settings as appropriate."

Add Comment