我用了压缩图片的方法把图片先从摄像头截取下来,放在本地然后压缩之后 就差不多7k  8k,之后传送到 对方那,对方接受后显示到pictrueBox可是,如果我发一张图片,它接受了之后再发给我我接受了之后在发给他,这样好像不能同步看到对方啊!!而且现在是 局域网内可以到和外网通讯 就不行了!!这种模式可能不是真正视频的模式!!

解决方案 »

  1.   

    用udp发送,每100毫秒发送一张图片给对方(效率高的话可以考虑更短的发送时间),只要对方收到新图片就放到pictruebox!这只是我的一个思路,毕竟没做过视频聊天的。
      

  2.   

    你的思路有问题,你的是客户端2收到图片才会发送一张图片给客户1?你两个客户端发送和接受应该要无关联,发送就是发送,接收只管接受。接收到新图片就放到pictrue!发送也是,发送出去就别管了
      

  3.   


    谢谢哈...如果我没记错,你是那时候教我怎么 接包的 那位大哥吧....还语音帮助我...先谢了!
    是这样的,我那个视频聊天是本地可以实现...而且 不卡...但这种发,收图片的方法好像很不合理,
    我今天改成了...当两个人建立了视频连接之后,就开启两个线程(两个人都开),一个send,一个receive
    这样的话,视频聊天 就更不卡了...感觉不错, 就是找不到旁边有人机子里装.netframework 4,不能测试不管怎样 先谢谢你哈!
      

  4.   


    花银子???RMB??
    我看未必吧.....远程协助...比视频更简单吧,就是要穿键盘和鼠标的事件过去而已....
      

  5.   

    让你知道自己的问题如果不算是一种对你的帮助的话,我想你也就一般地在北大青鸟毕业就行了,不要想“视频聊天”这种项目。我面试过好几个在3、4个月的培训班里做过这个项目的学生,比如说我问他们“加好友的流程是怎样的”,他们(甚至一位“组长”)竟然回答我说:“先在SQL Server数据库里查询出所有用户人员,放到Tree上显示,然后用户为好友打勾,然后将勾选的人保存到用户的好友表中做为好友”。我整个要吐了。为什么那样的培训班要聘请那样的只做过OA程序的人当老师却要坑爹学员说他会做IM呢?为什么?
      

  6.   

    视频聊天
    远程控制
    我都做不了
    我只能做点
    客户端发个hello
    服务端回个world
      

  7.   

    视频聊天实际就是将本地硬件采集的视频编码,然后传输流到另一端,再解码播放。参考:
    http://www.anychat.cn/faq/
      

  8.   

    不算,视频编码是指采用directshow之类的方式产生并传输视频流,你就先用图片吧,本身就是个实验产品。
      

  9.   

    没有现成的示例代码,只能简单说说了
    1:用摄像头抓视频,DirectX.Capture 可以抓 , VFW的API也可以抓,还有一些非官方的封装类也可以抓视频数据. 具体代码可以去搜索,例子应该不少
    2:将数据转化为流媒体并且压缩数据,传递给接收端,接受端最好设置一个循环缓冲区,设置两个指针,一个表示当前播放位置,一个表示当前存储位置,这样可以最大程度的保证播放的流畅性。
    3:视频聊天通过服务器中转有点不太靠谱,使用的人越多,服务器负荷越重 最好还是点对点的方式,采用UDP协议,当然如果要支持不同局域网内的机器使用,需要涉及到打洞穿透路由的技术,网上去查很多这方面原理和代码
      

  10.   


    Orz.....Orz.....你的回答很全面...谢谢
    打洞穿透路由的技术,这个大概是什么意思,可以详细说说么
    然后你说的第2点我不是很理解...你的意思是传类似于 avi的流媒体 过去??
    我现在是用一张图片一张图片传,本地两个摄像头测试还可以.
      

  11.   

    我就觉得你行,解决问题的能力很强。一个人现有知识怎么样,会什么根本不重要,最重要的就是你这种快速找到解决问题的途径和迅速学会相关知识的能力。
    你试试mbti测试,我觉得你是ISTP。
      

  12.   


    哈哈,恰恰相反...测了28题...说我是ENFJ
    测试链接:http://www.apesk.com/mbti/dati.asp
      

  13.   

    靠,我测了一下,居然是ISFJ
      

  14.   

    广域网聊天需要打洞的吧,通常机器如果处于局域网下,拥有的是内网IP,对外通过NET用的才是外网IP,这是需要服务器协助打洞才行
      

  15.   

    C#没有封装好的视频传输的库.. DirectShowLib,DShowNET,都没有,现在我也在做这个,做法跟lz一样
      

  16.   

    视频聊天你竟然发图片
    图像占用的带宽比起视频流来是高上百倍的。使用xvid,压缩视频流发出去,对方再解码播放。使用directshow采集播放比较简单,编解码就用开源的xvid,下载下来,上面有例子。
      

  17.   

    我没做过,不过感觉视频流应该是用些KMP类的算法的吧,就是把你的数据的“变化”给传递过去……
    直接发图片感觉好裸啊……你的图片就算想自己裸搞,做个分块,只发送有变化部分可能会好此吧。
    另外视频的时候应该是需要保持流畅优先的吧,记得QQ视频最开始的时候,很明显的就是声音和图像没有在时间上对齐,图像有明显地滞后,但是基本可以保持流畅。
    另外应该需要有一个缓冲区,然后信号量保护。
    剩下的就是看流量和计算能力的问题了,但我估计瓶颈应该还是在流量上,如果流量也没问题,应该会很流畅的。
    没做过这种应用,见笑。
    大概的一个思路啊……
      

  18.   

    大哥你用adobe 的 fms 不可以么? c# 里面装个flash 播放器,
    服务器 是flash meidia server或者red5
    这样来的快 估计很快就可以拿去忽悠啦
    哈哈
    没试过呢,不知道这个想法能不能成
      

  19.   

    视频的采集通讯 播放都由flash 来完成
      

  20.   

    如果 我做的话
    我就采用 flash 来试一下
      

  21.   

    如果 我做的话
    我就采用 flash 来试一下
      

  22.   

    如果 我做的话
    我就采用 flash 来试一下
      

  23.   

    Red5的主要功能和ADOBE公司的FMS类似,提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。它由Java语言编写,使用RTMP作为流媒体传输协议,这与FMS完全兼容。它具有流化FLV、MP3文件,实时录制客户端流为FLV文件,共享对象,实时视频播放、Remoting等功能。用Red5替换FMS后,客户端不用更改可正常运行。
      

  24.   

    百科上面的介绍Flash Media Server 4版本概述   为了满足你能够便捷地开始传送更高质量的媒体体验和互动应用程序的要求,你具有下面4个可以选择的版本:   Flash Media Streaming Server 4:一款能够启动传送HD视频的优秀、低成本选项,它利用广播公司使用的相同实时内容保护措施来保护大部分你目前收看的收费视频。   Flash Media Interactive Server 4: 一项在Flash Media Streaming Server中实现的很合理的设置,它能够利用DVR支持、实时F4F打包技术(基于业界标准MP4-HTTP传送的碎片优化)和IP多播支持,增加你的容量和媒体传送的选项。 该互动服务器也是多用户应用程序的中心,例如具有运行于TCP(目前UDP)的低时延协议的视频聊天和视频归档。   Flash Media Enterprise Server 4: 终极产品,它能够使用具有新的RTMFP协议的对等互助网络(peer-assisted networking)控制大规模媒体传送。 该服务器能够用于在你的企业网中传送更高质量的媒体或将其传送给你的客户,或者用于在大大降低的带宽和基础设施成本的情形下提供用户生成的体验。 Flash Media Development Server 4:你可以使用Flash Media Enterprise server的完全版开始测试和开发你的应用程序。 该版本包含对等互助网络(peer-assisted networking)的完全支持功能,最多可以支持50个对等连接和10个RTMP连接。   Flash Media Server 4功能概述当与Flash Player 10.1和 AIR 2 组合使用时,Flash Media Server 4的所有版本具有下列新的特点和功能(Flash运行环境的移动版也能支持这些功能):   HTTP动态流媒体源服务(HTTP dynamic streaming origin services) (预配置Apache web服务器)支持Flash Media Server 4 用作一个F4F文件格式的源。   绝对时间代码(Absolute timecode) 允许你对音频和视频流进行同步以便支持多摄像角度、音频feed、广告线索和其它数据feed。   动态流媒体的更快速交换功能(Faster switching for dynamic streaming) 可以通过具有RTMP流媒体协议的更快速交换时间来改善多比特速率视频的体验,而RTMP流媒体协议能够减少由波动网络引起的中断。   RTMP缓存改进功能(RTMP buffer enhancements) 通过快进、快退和即时回找功能支持新的预看体验,而这些功能使得你可以提供更为令人心动的体验。   64-位平台(64-bit platform) 可以充分利用大内存空间,支持更大文件以及使得附加的资源可用。   新平台(New platforms) 支持 Microsoft Windows 2008、Red Hat Enterprise Linux 5和CentOS 5.3(一种免费企业级操作系统)以帮助降低总拥有成本(total cost of ownership)。   差异化服务(Differentiated services(DiffServ)支持尽力而为(best-effort)业务保证的服务质量(quality of service),这样你可以确保你的通信和媒体不会中断。   在所有版本的这些公共功能之外,Flash Media Interactive Server 4 还添加了下列功能:   IP多播功能(IP multicast)完全支持IP多播以支持你的业务充分利用使用Flash创建的优秀视频体验的优势,而无需压垮你的网络,并且充分利用现有的支持多播网络。   HTTP动态流媒体实时F4F打包功能(HTTP dynamic streaming live F4F packaging)支持你从任何实时流媒体或服务器侧播放列表(线性流媒体)中生成F4F文件,这些媒体流或播放列表可以利用嵌入Apache服务器传送,或将它们作为内容传送网络的一个源使用。 UDP单播传输功能(UDP Unicast transport)能够充分利用使用UDP服务器-客户端传输的极低时延的优势。 
      

  25.   

    http://www.adobe.com/cn/products/flash-media-streaming/features.html
    flash media server 4.5 的功能