Nominate our 2022 Qt Champions!

Flickering VideoOutput

  • Hi all,

    I'm struggeling with an issue I cannot find the cause of and hope to find some advice/help here.

    As of now I created a QML application which shows a video stream using a VideoOutput component. The source property is set to an QObject derived class which exposes an mediaObject property which is a pointer to a QCamera object created by the C++ backend. The QML component containing the VideoOutput component is dynamically created and may get destructed at some time (the user unplugs the camera eg.). The width and height of this component are set to match the parent's, which are in turn set to fullscreen.

    Flow of camera frames: Camera-> Qt DS plugin -> Video filter -> QML. For throubleshooting I save some frames from our video filter as JPEGs and these are shown OK.

    But the VideoOutput is flickering. Not a single frame is shown properly, frames can have a totally random color but is the same for the given width and height. Strange thing is, this issue only appears to be on the dev PC (Windows 10) but not on production units (also Windows 10, but older version). Even more strange is that it worked before on the same dev PC. So I might suspect that Windows plays a part in this issue. Below a screenshot of two frames on how they appear:

    What I tried so far:

    • Different Qt versions (5.9.6, 5.9.7, 5.13.1); result: same issue
    • With and without video filter; result: same issue
    • Setted source of VideoOutput to Camera QML type; result: same issue

    Dev env:
    Qt 5.9.6
    VS 2015
    OpenCV 3.3.1

    Someone able to help me or some suggestions?

  • @bludger Hi. Is there a way to share your code ?

  • Hi @Yunus. I've stripped down the original application and created a minimalistic sample application which also have this issue (at least at my side). Note that I used Qt 5.9.6 (32-bit) MSVC2015 (on Windows 10). You can download it from here:

    Please let me know if you experience the same issue.

Log in to reply