开发具有高质量视频流的视频聊天应用程序 [英] Developing a Video Chat Application with high quality video streaming

查看:18
本文介绍了开发具有高质量视频流的视频聊天应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一家公司工作,我们正在为现有应用程序开发视频聊天支持.我已经看过各种解决方案,例如

I am working for a company where we are developing video chat support on an existing application. I have looked at various solutions for this like

  1. 在 C# 中使用 Managed Direct show 进行视频捕获和流式传输
  2. 代码项目中的一些代码示例,我们在其中拍摄图像并将其通过网络传递(我称之为粗略的解决方案,因为这会占用大量带宽.
  3. 从头开始编写压缩算法,并使用它来压缩/解压缩视频.

现在的挑战是我们希望实现非常高质量的视频流,并且容器应用程序是用 C#.NET 编码的

Now the challenge is that we are looking to achieve very high quality video streaming and the container application is coded in C#.NET

这是我目前提出的建议.流数据的网络逻辑用 C# 编写,视频压缩用 VC++ 编写,并使用 pinvoke 或 CLI 调用此 VC++ dll.

This is what I have proposed so far. The network logic to stream data is written in C# , the video compression to be written in VC++ and call this VC++ dll using pinvoke or either CLI which way possible.

我正在寻找一个在这个领域比我更有经验的人,他可以向我建议我是否正确或是否可以改进.

I am looking for some one more experienced that me in this field who can suggest me if Iam going correct or can this be still improved.

最终目标是高质量的视频流.编解码器可以是任何类似 h.2633、h.264 等的东西.

The ultimate goal is high quality video streaming. The codec can be any anything like h.2633, h.264 etc.

推荐答案

我使用了多种方法来轻松地使用 .net 进行视频流/会议,而无需深入研究 directshow.(好吧,挖一些,但不深:)

I've used several ways to get video streaming/conferencing with .net easily, without need to dig into directshow. (ok, dig some, but not deep :)

1) 使用普通的 Windows Media Encoder 组件.它通过 Windows Media Encoder SDK 中的示例进行了记录.适用于任何高分辨率流媒体,但延迟对于实时聊天来说太大了(最多 0.5-2 秒).现代 Express Encoder SDK 的另一种选择.

1) Use of plain Windows Media Encoder components. It is documented with samples in Windows Media Encoder SDK. Good for any high resolution streaming, but delay is too big for realtime chat (0.5-2 seconds at best). Modern Express Encoder SDK another option.

2) Microsoft Research ConferenceXP http://cct.cs.washington.edu/ 全功能会议 API,包括应用程序流.他们太低级的 Windows Media 编码过滤器并将它们包装到托管代码中.效果很好.易于定制.现在看起来有点被遗弃了.

2) Microsoft Research ConferenceXP http://cct.cs.washington.edu/ Full featured conferencing API including application streaming. They too low level Windows Media coded filters and wrapped them into managed code. Works well. Easily customizable. Looks bit abandoned now.

3) 微软 RTC 客户端 1.3 版 - Windows Messenger 的核心.

3) Microsoft RTC Client up to version 1.3 - core of windows messenger.

优点:来自 Microsoft 的托管示例、良好的文档、可靠的性能、可自由再分发、与 Microsoft 兼容(良好)的 SIP 堆栈.像 Emblaze VCON 这样的主要会议供应商在不久之前就将他们的解决方案基于它,现在不确定,但我知道 Tandberg 获得了 Microsft 的 VC-1 的许可.

pros: managed samples from Microsoft, good docs, reliable performance, freely redistributable, microsoft compatible (good) SIP stack included. Major conferencing vendors like Emblaze VCON based their solutions on it in some near past, not sure about this days, but I know that Tandberg licensed Microsft's VC-1.

缺点:1.3 以下版本仅支持 h261-h263 视频.支持 VC-1(h264) 编解码器的现代版本不允许直接无服务器 ip-ip 连接.它确实需要 Microsoft Live Communications 服务器.较新版本的 SDK 不能很好地覆盖视频会议通话.

cons: version up to 1.3 support h261-h263 video only. modern version with support of VC-1(h264) codec does not allow direct serverless ip-ip connections. It does at require Microsoft Live Communications server. Newer version SDK does not cover well video conferencing calls.

http://msdn.microsoft.com/en-us/library/ms775892(VS.85).aspx

请告诉我们您选择了哪个平台.顺便说一句,我什至将 ConferenceXP 视频 rtp 部分与 RTC 1.3 语音/SIP 功能一起使用来提高视频质量,因此您可以在这里选择多种托管技术.另一件事是 Live Meeting,我还没有机会好好看看.

Please let us know what platform you have chosen. By the way, I've even used ConferenceXP video rtp part with RTC 1.3 voice/SIP features together to improve video quality, so you have wide choice of managed technologies here. Another thing is Live Meeting at which I had no chance to take good look yet.

这篇关于开发具有高质量视频流的视频聊天应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆