我在一家公司工作,我们正在开发现有应用程序上的视频聊天支持。我已经查看了各种解决方案,例如:
- 使用C#中的Managed Direct Show进行视频捕获和流处理
- 一些代码示例,其中我们拍摄一张图片并通过网络传输(我认为这是一个比较粗糙的解决方案,因为这将占用大量带宽)。
- 从头开始编写压缩算法并使用它来压缩/解压缩视频。
现在的挑战是,我们希望实现非常高质量的视频流,并且容器应用程序是使用C#.NET编写的。
到目前为止,这是我提出的建议:将用于流数据的网络逻辑编写为C#,将视频压缩编写为VC++,并使用PInvoke或CLI调用此VC++ dll。
我正在寻找在这个领域比我更有经验的人,他可以建议我是否正确或者这个方案是否还能改进。
最终目标是高质量的视频流。编解码器可以是任何像h.2633、h.264等的编码格式。