用于 RTSP 流的 OpenCV cvGetTickCount()

Posted

技术标签:

【中文标题】用于 RTSP 流的 OpenCV cvGetTickCount()【英文标题】:OpenCV cvGetTickCount() for RTSP streaming 【发布时间】:2016-10-24 18:27:59 【问题描述】:

我正在通过 RTSP 从 MJPEG 媒体服务器流式传输

OpenCV 有一个函数叫 cvGetTickCount()

我的问题是:此方法是否返回帧之间 RTP 时间戳(来自 rtp 标头)的差异?还是 OpenCV 只看 FPS 和滴答频率,每次都返回一个常数值?

当我从 cvGetTickCount() 打印结果时,这些值看起来太完美了。我记得以前手动解码 RTSP 流并获得一些差异的结果

我正在努力寻找有关此方法的任何适当文档

【问题讨论】:

【参考方案1】:

“cv2.getTickCount 函数返回从参考事件(例如机器开启的那一刻)到调用此函数的那一刻的时钟周期数。”,参见Reference。您可以使用此功能测量基于系统时钟的运行时间。但这与 RTSP 流时间戳无关。 我建议使用 VLC api 或 ffmpeg api 来获取该时间戳。

【讨论】:

"cv::VideoCapture 类将是该实现的正确位置" OpenCV 中是否存在此功能?否则我会尝试 live555,因为他们有一个很好的 RTSPClient 示例 不,它不存在

以上是关于用于 RTSP 流的 OpenCV cvGetTickCount()的主要内容,如果未能解决你的问题,请参考以下文章

带有 Gstreamer 流的 OpenCV 具有延迟、缓慢和伪影

Android LibVLC,在没有 TextureView 的情况下拍摄 RTSP 流的快照

RTSP

OpenCV 之 网络摄像头

各大厂RTSP取流的URI

来自 RTSP 流的 gstreamer,更改分辨率