关于C#传输视频数据问题

umbrella_yang 2008-11-24 12:53:05
大家好,我最近在做C# C/S视频软件
遇到了 如何实时传输视频数据的问题

原来我是每次截图摄像头,然后压缩,把一个压缩后的数组分割成若干小块 发过去的
但是这样发生了很多问题,比如TCP粘包问题,还有速度问题。

请问大家有什么好方法??

是不是不需要发图,而是直接从摄像头中读取流,然后发送视频流??怎么发送呢??

谢谢 100分送上
...全文
171 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyuzi 2008-11-25
  • 打赏
  • 举报
回复
我测试过,辽宁到吉林,基本公网和内网几种组合都测试过,很流畅。确实分包了,没分包前当时好像总是时不时有阴影,后来发现当每次传送数据过长的时候才会出现,超过一定长度的内容被截掉了,网上查发现是传输协议本身的缺陷,所以定义每个包最大是1400字节,这样才解决了。
要实现公网和内网都好用,你必须有一台放在公网的服务器,如果双方有一台机器在公网,这台服务器只在握手阶段介入,如果都是内网的话,所有的数据必须经过这台服务器中转。
china0308 2008-11-25
  • 打赏
  • 举报
回复
我也正在开发这一块,可以QQ聊吗
我的QQ是40651359
umbrella_yang 2008-11-25
  • 打赏
  • 举报
回复
您测试过吗? 效果如何?怎么传送的?分包?
shily_fly 2008-11-25
  • 打赏
  • 举报
回复
学习。。。
xiaoyuzi 2008-11-25
  • 打赏
  • 举报
回复
以前用vc做的视频采集部分,但是是改的别人的代码,不用发图,它有一个事件不断发过来字节数据,然后我在c#里接受这些数据,接多少发多少,效果还可以,感觉跟qq,msn的差不多。
我用的udp,觉得不能用tcp,因为你要考虑有的人可能不在公网内(那种多人通过路由器用一个ip上网的),使用udp来穿透比较简单一些。

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧