c# screen transfer over socket efficient improve ways

后端 未结 3 821
有刺的猬
有刺的猬 2020-12-20 00:21

thats how i wrote your beautiful code(some simple changes for me for easier understanding)

     private void Form1_Load(object sender, EventArgs e)
    {

           


        
3条回答
  •  情书的邮戳
    2020-12-20 01:05

    H264 or Equaivalent Codec Streaming

    There are various compressed streaming available which does almost everything that you can do to optimize screen sharing over network. There are many open source and commercial libraries to stream.

    Screen transfer in Blocks

    H264 already does this, but if you want to do it yourself, you have to divide your screens into smaller blocks of 100x100 pixels, and compare these blocks with previous version and send these blocks over network.

    Window Render Information

    Microsoft RDP does lot better, it does not send screen as a raster image, instead it analyzes screen and creates screen blocks based on the windows on the screen. It then analyzes contents of screen and sends image only if needed, if it is a text box with some text in it, RDP sends information to render text box with a text with font information and other information. So instead of sending image, it sends information on what to render.

    You can combine all techniques and make a mixed protocol to send screen blocks with image and other rendering information.

提交回复
热议问题