C#捕获桌面视频并通过网络发送

时间:2019-07-17 07:26:32

标签: c# networking audio video stream

我正在寻找一种捕获当前桌面视图的方法(或者也可以选择一个窗口捕获)。我发现了无数种方法来流式传输视频文件或将桌面捕获到视频文件,但我的话题没有,就是根本没有文件。

主要思想来自Skype的桌面演示,该演示将用户桌面的视频和声音流提供给另一个用户,甚至在群聊中也可以提供给多个用户。所以我正在寻找类似的库(如果甚至存在类似的库),或者关于如何做到这一点的至少 direction 。生成的程序应该能够流式传输到1-4个用户。另一个要求是能够在过渡期间丢失某些数据包(即短连接断开)时赶上流。

C ++解决方案也可以,但是如果C#不太复杂的话,它会更好。预先感谢。

upd:.NET桌面应用程序,而不是asp.net或.NET Core

1 个答案:

答案 0 :(得分:0)

只需自己编写(粘贴在一起)

  1. Capture screenshot of active window?
  2. 带有SignalR的ASP .NET Core应用:https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr-typescript-webpack?view=aspnetcore-2.2&tabs=visual-studio
  3. 代替ChatHub板条箱,例如ImageStreamHub(2种方法Start(); Stop();)
  4. Start()-将开始循环获取屏幕截图并通过Web套接字发送 (等待Clients.All.SendAsync(“ imageReceived”,image);)
  5. Stop()-您猜到了,它将终止循环

替代: 看这个: https://docs.microsoft.com/en-us/aspnet/core/signalr/streaming?view=aspnetcore-2.2

发送图像而不是发送数字