Unsolved video doesn't display on LCD screen
-
@Jeffff said in video doesn't display on LCD screen:
VideoProducer
Is that one in a different thread than the main thread ?
-
Yes, sure. video capturing and displaying are 2 different threads, they are sync by signal.
-
That I understood, my question is: does the displaying happen in the main thread of your application ? Not a secondary thread that you created.
-
Yes, it is the main thread of my application. As I've mentioned at the beginning, the same code can run on my Ubuntu.
-
@Jeffff said in video doesn't display on LCD screen:
multimedia.video: media object is QObject(0x0)
This one looks pretty odd and is likely related to your 0 frame rate.
Can you test with a minimal QVideoWidget to compare ?
-
I did some test by qmlvideo sample App, which runs good on same imx6 board. As qmlvideo runs smoothly, it means my running environment is good.
On the other hand, I found that if I use small resolution image frame(such as 480*270), it is working. All frames are display on preset windows(800*480), obviously, it should be gstreamer which enlarges the frame. The very weird thing is that other large resolutions, such as (640*360, 1280*720, 1920*1080), are not OK to be displayed, in replace, the area keeps dark.
With the logging enabled , I can also find the gstreamer plugin inserted as below figure shows even though video cannot be displayed.
-
For my own app and the qmlvideo app, I also dump their lib dependency as below:
file:///mnt/hgfs/Share/Screenshot%20from%202021-12-01%2023-30-58.png
Another strange part to me: the Qt5Multimediea appears in my app, while it doesn't appear in qmlvideo example. As I described before, my app cannot display video frame, while qmlvideo can display... -
-
-
Ok, the sample does not link to the QtMultimedia library directly because it does not use it directly as is your C++ application.
The QVideoWidget class, if memory serves well does not support the same number of formats as the QtQuick Video item.