背景
我正在尝试将远程计算机桌面的实时提要流式传输到我的应用程序。为此,我使用了面向连接的 (TCP) 套接字,捕获客户端计算机的帧并将其发送到服务器。
我的研究
我每 100 毫秒(即 10 FPS)发送一个帧(屏幕截图)。每帧大约 145kb,这意味着我需要每秒发送 1450kb(相当于 1.4 兆字节,每秒 11 兆位)。
我的互联网的最大下载速度为每秒 0.32 兆位。因为我需要每秒发送 11 兆比特的数据,这意味着我的互联网比我需要的要慢 10.6 兆比特。因此,根据我的计算,为了有效地流式传输桌面,我需要每帧大约为 4.5kb(4608b + 20b TCP 标头),这在当前系统下实际上是不可能的,即使仅发送桌面的更新部分并压缩位图也是如此.
问题
我不确定系统是否完全受到上传速度的限制。我认为这是因为 4.5kb 的大小非常小。我可以使用类似的软件(Teamviewer、Join.me 和 Skype 等软件)完美流畅地流式传输我的桌面,即使这些软件包使用的协议比我智能得多(这里是个好问题)我非常怀疑它们只发送 4.5kb每个框架/桌面更新。
所以我的问题最终是;我的计算是否准确,为什么?我的目标是确定每个帧的合适大小,然后我可以努力达到该大小并计算不同速度连接的质量/间隔。当然,我对任何对我的情况有帮助的评论/答案都很感兴趣,但我接受的答案将是回答我实际问题的答案。