1

我搜索并搜索了答案,但找不到答案。

基本上我正在开发一个网络摄像头/音频流应用程序,它应该从电脑(usb 网络摄像头/麦克风)捕获音频和视频并将它们发送到接收服务器。服务器将如何处理这是另一个故事和第二阶段(我现在正在跳过)

我使用 DirectShow 和 Windows Media Format 编写了一些代码,它非常适合捕获音频/视频并将它们发送到另一个客户端,但是有一个主要问题:延迟。

互联网上每个人都给了我相同的答案:“对不起,伙计,但媒体格式不适用于视频会议,他们的编解码器延迟太高”。我以为我可以跳过 .wmv 问题,但似乎不可能做到……这条路到此为止。

所以我看到了一些 DirectShow.NET 的例子,它们在音频和视频方面都更快。我的问题是:为什么 DirectShow.NET 对视频/音频会议来说更快更好?它不应该只是 C++ 的 DirectShow 的 .NET 移植吗?

我错过了什么吗?在这一点上我有点困惑

4

1 回答 1

1

是的,DirectShow.NET 只是一个为非托管 DirectShow 提供托管映射的端口。Windows Media 确实不是低延迟的理想选择,但您可以通过选择正确的编解码器/配置文件(即低延迟 CBR 和设置)在一定程度上缓解。最后,尽管它取决于消费者(主要是 Windows Media Player,Silverlight更好)在显示一帧之前缓冲了多少内容。

长话短说,DirectShow.NET 和 DirectShow 的限制是相同的,我怀疑使用 Windows Media 时延迟会低于 2 秒。

于 2011-01-15T20:09:26.453 回答