Pre-requisites:
- Gstreamer 1.16.1
- Qt 5.15.2
- Target Device: imx8 with Yocto
I'm trying to visualize a camera stream inside an item on one of our pages. For this purpose, we transmit the camera stream over UDP to the target device. I'm able to launch and see the stream on the target if I open it using gst-launch-1.0
command. Also am I able to launch the stream using qt-multimedia from within the app. But it is working using the autovideosink only. Using qtvideosink I don't get an error, but a grey area. Autovideosink makes the stream full screen overlapping the whole app. Apparently it is like a separate process - nothing "embedded".
But, I want it to be embedded on a dedicated spot within a QML item.
I saw two ways how to do this over the www:
- Using Qt Multimedia and MediaPlayer/VideoOutput the qtvideosink
- Using the Qt Plugin from Gstreamer (https://github.com/GStreamer/gst-plugins-good/tree/1.16.1/tests/examples/qt/qmlsink, main.cpp:54 assertion error at runtime)
Which one is the way to choose? What is the difference of them? For both ways I have questions:
For the Qt-Multimedia way:
- How can I check if the qtvideosink is even available? How can I test it to be working.
- Is there a mvp for this/ An easy test example?
For the Gstreamer Plugin way:
- Found so many different versions of this (e.g. github page and gitlab mirror do not really look the same). Which one to chose for Qt 5.15.2?
- What binaries need to be installed? Can I check whether they are installed or not?
I feel like it is not working because binaries/ plugins are missing on my target device. However, I don't have the knowledge to prove this.