我已经在客户端和服务器之间设置了自定义 TCP 连接。 我正在制作一个简单的聊天程序。到目前为止,用户可以互相交谈并发送文件。 我正在添加网络摄像头聊天,并使用 AForge.Net 从网络摄像头抓取帧。但是将这些捕获的帧从客户端发送到服务器需要很长时间并且占用太多带宽。服务器大约每 2~4 秒接收 1 帧。
我尝试过使用 Jpeg 编码器并将质量设置为 30,但这并没有任何改善
你们知道对网络摄像头流进行编码以发送到服务器的好方法吗?
干杯 罗马
您需要将网络摄像头内容作为视频流发送,而不是一系列图像。 我推荐 H264,因为它结构紧凑,是当今网络上最常用的视频编解码器。 然而,视频的编码、流传输、接收和显示并不简单。 有很多开源项目可以提供帮助,例如 X264 和 VLC,但这绝对比抓取 jpg 并发送它们要复杂得多。 使用支持网络摄像头的现有视频聊天组件会容易得多。
带有 RTMP 服务器的 Flash 应用程序可以支持网络摄像头,并且有许多可用的开源/免费 RTMP 服务器(尽管我不是 100% 支持实时网络摄像头流 - 商业 Adobe Flash Media Server 肯定支持)。 Flash 视频组件可以集成到另一个应用程序(Windows 或 Web)中。
我刚刚创建了这个 GUI 客户端/服务器 C# 应用程序 https://github.com/cisamu123/WebCamViaTCP