freerdp服务器共享屏幕,skype lync终端显示黑屏的原因分析

问题描述:freerdp支持远程桌面共享协议rdp,使用freerdp与skype终端进行远程桌面共享时。发送1080p 视频数据时 skype终端显示黑屏

经过分析,发现rdp协商参数大于一定值时,freerdp发送的共享数据,skype接收显示黑屏,

此参数值为MaxRequstSize, 含义是图像数据更新所有分节的最大值,这个值需要尽量大。

经测试当freerdp与skype的协商参数值大于

settings->MultifragMaxRequestSize = 0x3EFFFF;  skype终端显示黑屏,估计是微软skype对此buffer大小做了限制。
因此需要手动修改freerdp服务器模式下的MaxRequestSize的协商值。
 
解决方案:
在shadow_server_new();调用之后主动设置MultifragMaxRequestSize的值,让其小于等于0x3EFFFF,
这里设置为settings->MultifragMaxRequestSize = 0x3EFFFF;  即可解决freerdp和skype共享屏幕黑屏的问题。
原文地址:https://www.cnblogs.com/Forever-Kenlen-Ja/p/9512195.html