作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我意识到,当我使用OpenCV在rtsp网址中抓取视频(cv2.VideoCapture('rtsp:// ...'))时,实际上是在获取流的每一帧,而不是实时帧。
示例:如果视频具有30fps和10秒长,如果我获得第一帧并等待一秒钟以获取下一帧,那么我得到的是帧号2,而不是实时帧(它应该是帧号30或31)。
我担心这些问题,因为如果我的代码花费更长的时间进行视频处理(深度学习卷积),则结果总是会在以后而不是实时地交付。
从rtsp捕获时,我如何设法始终获取当前帧?
谢谢!
最佳答案
这与代码无关。许多IP摄像机为您提供编码输出(H.265 / H.264)。
使用VideoCapture()
时,CPU会解码摄像机的输出数据。如您提到的那样,获得延迟(例如1秒至2秒)是正常的。
可以做些什么来使其更快:
VideoCapture()
与FFMPEG标志一起使用,FFMPEG具有高级方法来解码编码数据,这可能会为您提供CPU可获得的最快输出。 但这不会减少太多时间。 关于opencv - OpenCV如何获取实时帧而不是下一帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63045053/
有时,当我调用 ipdb 时,我知道我想要成为跟踪设置上方的框架。我认为这就是 API 公开 frame 参数的原因(如 the documentation 中所述)。 所以这是函数: import
我是一名优秀的程序员,十分优秀!