【发布时间】:2022-01-07 06:28:15
【问题描述】:
我检查了在 qml 视频表面中显示良好的视频流。现在我想获取视频帧数据来做一些不错的事情。但是,直到现在它似乎做得不好......我做了一个像下面这样的简单管道来专注于测试。
nvarguscamerasrc - appsink
我使用 QGst::Utils::ApplicationSink 来获取一帧数据。我引用了一个例子“appsink-src”
/* making pipeline */
QGst::ElementPtr source, sink;
SubClassApplicationSink *appsink;
source = QGst::ElementFactory::make("nvarguscamerasrc");
sink = QGst::ElementFactory::make("appsink");
appsink = new SubClassApplicationSink();
// configure elements
source->setProperty("sensor-id", n);
appsink->setElement(sink);
appsink->enableDrop(true);
appsink->setMaxBuffers(7654321);
m_pipeline->add(source, sink);
source->link(sink);
ApplicationSink 的子类实现了一些回调 eos、preroll、sample。
然后我在从新样本中获得的缓冲区中打印一些值。
调用回调函数时重复相同的输出。
结果:[开始-结束偏移量为-1,无标志,内存计数1,内存大小1008]
我不知道为什么……你觉得怎么样?
【问题讨论】:
标签: gstreamer-1.0