我想使用 Qt 创建一个可以播放本地视频文件的简单 GUI 应用程序。我可以使用 Phonon 来完成所有幕后工作,但我需要有更多的控制权。我已经使用 decodebin 和 autovideosink 元素成功地实现了 GStreamer 管道。现在我想使用 Qt 小部件将输出引导到。
有没有人成功地做到这一点?(我想是的,因为有基于 GStreamer 的基于 Qt 的视频播放器。)有人能指出我正确的方向吗?
注意:这个问题类似于我之前发布的关于如何将 Qt 与传入的 RTP 流连接的问题。这似乎很有挑战性。我想这个问题会更容易回答。
更新 1
Patrice 对使用 libVLC 的建议已经非常有帮助了。这是在 VLC 网站上找到的代码的更简洁的版本: Sample for Qt + libVLC。但是,我最初的问题仍然存在:如何将 GStreamer 连接到 Qt 小部件?
更新 2
经过一些实验,我最终得到了这个工作示例。它依赖于我自己的小 GstSupport 库中的GstWidget.h和GstWidget.cpp 。但是,请注意,目前仅在 Mac 版本的 Qt 上进行了测试。