1

我正在尝试在 Qt 5.5 中创建一个 qml 应用程序,以使用Gstreamer 1.0库(不是现有的 Qml 相机)流式传输相机输出。现在我将 gstreamer 输出和应用程序窗口作为单独的窗口。如何将 gstreamer 相机输出窗口集成到 Qml 窗口?

4

1 回答 1

1

这更像是某种想法而不是实际答案,但也许它会让你进入(希望是好的,或者至少是一些)方向。

我认为只交叉编译 gstreamer(如果你还没有)就足够了。

您可以轻松地从 Qt 应用程序中使用 gstreamer。接下来要做的是使用appsink而不是ximagesink或您现在使用的任何东西来实现您在Qt应用程序中已经拥有的管道(为此创建一个类等)。

然后,您只需从应用程序接收器中获取框架并将它们推送到一些 QML 小部件中。我不知道那会是哪个元素..

但是在这里这里我找到了一些例子(第二个使用 QtGstreamer,但它有一些有用的见解)。

我认为(但只是推测,从未这样做过)您可以将 QDeclarativeItem 的视口设置为 QGLWidget。然后就是用 QPainter 绘制框架了。

我认为还有一些方法可以直接传递OpenGL上下文并直接绘制..

高温高压

于 2015-09-25T13:17:31.920 回答