QMediaPlayer流播放无法在Windows中工作

时间:2020-06-09 02:19:23

标签: qt streaming qmediaplayer

我要播放流视频。

服务器是使用ffserver配置的。

ffplay运行正常

ffplay http://192.168.0.122:8090/camera2.mjpeg

OpenCV示例很好。

int main(int argc, char *argv[])
{
    cv::Mat frame;
    cv::VideoCapture cap = cv::VideoCapture("http://192.168.0.122:8090/camera2.mjpeg");
    if (!cap.isOpened()) {

        return -1;
    }

    while (1)
    {
        cap >> frame;

        imshow("video", frame);
        if (cv::waitKey(1) == 27) break;

    }

    return 0;
}

但是在Qt VideoPlayer中,示例不起作用。

它仅在Windows上不起作用。

在Ubuntu上运行良好。

在VideoWidget中,其修改如下。

void VideoPlayer::openFile()
{
#if 0
    QFileDialog fileDialog(this);
    fileDialog.setAcceptMode(QFileDialog::AcceptOpen);
    fileDialog.setWindowTitle(tr("Open Movie"));
    QStringList supportedMimeTypes = m_mediaPlayer->supportedMimeTypes();
    if (!supportedMimeTypes.isEmpty())
        fileDialog.setMimeTypeFilters(supportedMimeTypes);
    fileDialog.setDirectory(QStandardPaths::standardLocations(QStandardPaths::MoviesLocation).value(0, QDir::homePath()));
    if (fileDialog.exec() == QDialog::Accepted)
        setUrl(fileDialog.selectedUrls().constFirst());
#endif
    setUrl(QUrl("http://192.168.0.122:8090/camera2.mjpeg"));
}

qmediaplayer对象没有有效的服务。

在Windows中需要一个特殊的库吗? 让我知道我有什么问题。

PS。

  1. 文件正在工作

  2. mediaPlayer =新的QMediaPlayer(this,QMediaPlayer :: StreamPlayback);是相同的结果

0 个答案:

没有答案
相关问题