一个思路是只发送和上一张图片的不同部分,这样数据量应该会少很多
另一个就是进行有损压缩,在不影响观看效果的情况下减少数据量
你是指类似PCAnywhere或是Teamviewer或是远程桌机,或是QQ远程协助这类的实现吗?
大概是机制你是没有说错,截图,压缩,传送。你可能就是少了压缩。
当然,严格起来,还有好多技术含量,要不人人都搞一个Teamviewer出来了。
不是远程桌面,是直播,看其他直播的数据量不是很大也流畅,而我的数据量有500多kb,还不流畅。
请问有什么好的压缩没?
@metoer:
静态的话JPEG压缩。
直播的话就是MPEG,动态压缩技术专家系统。然后再减少帧数,分辨率。
不知道啥是MPEG的话,这儿就写不下了。
@爱编程的大叔: 请问一张图片能用MPEG压缩吗?
保存上一张图片,对比图片差异,传输图片差异
这种不好控制吧,加入有人中间进来观看、
@metoer: 加入的时候,广播端肯定知道是新用户,因为直接先把上一张图片发过去,再发下一张
@吴瑞祥: 目前我的方法是:每次10张图片中第一张是完整图片,后面9张只发送差异。
现在使用 服务器中使用SocketAsyncEventArgs接收处理:
private void ProcessReceive(SocketAsyncEventArgs e)
{
AsyncUserToken token = (AsyncUserToken)e.UserToken;
// 检查远程主机是否关闭连接
if (e.BytesTransferred > 0 && e.SocketError == SocketError.Success)
{
token.SetBytesReceived(e.BytesTransferred);
EventHandler<AsyncUserToken> handler = OnClientRead;
// 如果订户事件将为空(null)
if (handler != null)
{
handler(this, token);// 抛出接收到数据事件
}
发现客户端数据发送快了,SocketAsyncEventArgs中的数据和上次的数据在一起了。
屏幕直播 不包含远控功能的话,可以用视频流来传输
可以具体说下么?
屏幕直播最简单的实现方式是通过turbomeeting做到的