gpt4 book ai didi

.net - 使用...进行实时视频编码?

转载 作者:行者123 更新时间:2023-12-04 23:00:43 25 4
gpt4 key购买 nike

我正在尝试编写一个相当简单的应用程序,它将视频/音频从网络摄像头流式传输到互联网上的其他人(ala Skype,但具有更多控制权)。
关于该主题的有用/相关信息似乎很少,而且我能找到的信息基本上已经过时了。从我目前的研究来看,x264 seems to be the way to go因为它提供了 ultrafast专为这种情况设计的选项
我可以打开网络摄像头并接收图像流。我还可以在音频设备上收听并获取样本。
我失败的地方是以能够以最小延迟流式传输的方式对信息进行编码(根据我所读到的,200ms 延迟是没有明显延迟的目标,包括网络延迟 - 所以让我们瞄准100-150 毫秒)
我尝试过的事情
ffmpeg
这似乎是最广泛使用的编码选项。我在使用它时遇到了两个真正的问题。首先,即使使用没有前瞻的 x264 和用于稳定性的最小缓冲区,使用 image2pipe 的延迟似乎在 700 毫秒左右。其次,它需要安装 ffmpeg - 能够在没有外部依赖的情况下做到这一点会很好。
VLC
与 ffmpeg 一样,这需要一个否定的外部程序。更糟糕的是,我似乎无法获得低于 2 秒的延迟,这似乎会随着时间的推移而增加。我也只能让 VLC 捕捉相机本身,而不是拍摄图像流,这意味着我没有机会对它们进行预处理。
直接秀
我已经看到许多网站推荐使用 windows 直接显示编码器,但我还没有找到一个可以像实时一样工作的网站。事实上,我唯一能够可靠运行的是一个具有巨大延迟和相当大尺寸的 Windows Media 编解码器。
其他注意事项
以上都没有解决向视频添加音频流的问题。我不确定是否应该尝试将它们一起编码或在视频旁边发送单独的流。
简而言之,我已经在谷歌上搜索了一周左右,但还没有找到合适的方法来做到这一点。有人可以指点我一个像样的例子/指南吗?

最佳答案

一种方法是通过 DirectShow 甚至 Video for Windows 使用 x264vfw。此编解码器具有“零延迟”选项,它基本上在“帧输入 - 帧输出”模式下工作。我描述了如何减少 DirectShow 应用程序中的 x264 编码延迟here .

关于.net - 使用...进行实时视频编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com