我正在开发一个应用程序来显示rtsp流视频。我用过opencv和livbav avplay。问题是延迟或低延迟。使用此解决方案,我获得了500ms的延迟。但我需要大约300毫秒才能正确控制流媒体摄像头。
我尝试使用mplayer命令控制台打开相同的rtsp流,结果令人惊叹。我有250-300毫秒的延迟。但问题是,我还没有找到一个合适的解决方案来使用我的应用程序(WPF),例如,在opencv和livab avplay中,我获得了一个可以在我的应用程序中使用的Mat或字节结构(逐帧)。但是mplayer呢?有什么解决方案可以获得相同的结构吗?我的意思是一帧一帧地获取,然后用我的应用程序绘制它。有像opencv或avplay这样的API或lib可用吗?
谢谢。
发布于 2014-06-07 16:18:05
我相信你已经在以前的帖子中回顾了广泛的答案:How can I display an RTSP video stream in a web page?
更重要的是,Windows上的mplayer使用DirectX...so编译Windows二进制文件,参数化您的RTSP源代码,并在播放模式下启动最小化窗口。使用窗口挂钩从你的应用程序到mplayer窗口来传递mplayer控制调用(暂停,恢复...)在应用程序内部,捕获DirectX实例并注册一个用于填充帧缓冲区对象的侦听器。使用您的代码对这些帧执行您想要的操作...
我会说得更具体些,但你并没有真正阐明你的目标,只是为了“获取”框架。
如果您想要的只是显示视频源,那么新窗口将工作,并且是可控制的。在其他帖子中讨论的VLC播放器提供了一个API来实现更多的控制/多功能性。
https://stackoverflow.com/questions/24087960
复制相似问题