Why the videoFrameProbed signal does not work

player = new QMediaPlayer(); vw = new QVideoWidget; probe = new QVideoProbe; probe->setSource(player); connect(probe, SIGNAL(videoFrameProbed(const QVideoFrame &)), this, SLOT(processFrame( const QVideoFrame &))); way = QFileDialog::getOpenFileName(this, tr("Open File"), "", tr("Video Files (*.mp4));")); player->setMedia(QUrl::fromLocalFile(way)); player->play(); 

    1 answer 1

    Unfortunately, the QtMultimedia framework QtMultimedia not yet correspond to the quality of implementation that I would like to see. The abundance of its constituent classes with all sorts of interesting buns in the end does not give anything, because for the most part, they either do not work at all or work ... uh-uh ... in some places. The situation with QVideoProbe is the case. However, the comment in the help from the developers themselves is quite eloquent:

    probe-> setSource (player); // Returns true, hopefully.

    Therefore, if you need access to video frames, refer to the C API ffmpeg, or another other framework that has the required functionality.