Hello,

I need some hints about how can I develop an remote desktop application in C#. I would have a client (Windows Forms or web) and a server that sends streaming video and audio captured from the remote computer screen. Most important is to be real-time and performance rather than high quality.
So I would need a way to record the screen, send the stream to the client and play it there... in a reliable, performant way. I don't need VLC stuff or the ActiveX component that uses Windows Remote services. I need to build this application myself -> server + client. I read that DirectShow can do pretty much low-level work (performance), streaming, recording from devices, capturing but I did not find any code for this...

I done something in Java based on RTP (Realtime Transport Protocol) but I thought building it in C# I can have better performance because of more lower level wrapped components like DirectShow.Net.

Advices would be so much appreciated.

Thanks for reply. However I don't want to use the ActiveX Control... even if would be much easier. I want to program the server and the client. I would try to use something like DirectShow.Net to capture and stream from th server to client... I mean this application must be made independenly, without using premade controls like ActiveX or Windows Remote Control.
I just want a performant way to transfer video (and audio if possible) data from the server to the client. I tried to send screenshots but it's really slow...

Hello,
I happen to have a project in school, to implement this, to enhance the RDP experience with rich multimedia content. With the publishing of RemoteFX in SP1 of Win7 and WinServ2008 R2 this problem will probably be addressed by Microsoft.
So i wonder if you made any progress on this subject ?

Thread is almost a year old and the user hasn't been on in a month. Don't hold your breath for a reply.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.