【发布时间】:2015-01-02 21:59:50
【问题描述】:
我想在 Qt 中显示来自 C++ 库的 Byte* 流中的视频。视频来自 Astrisk 服务器,格式为 VP8。我可以在 Qt 中从中获取 Byte* Stream,现在我想在 Qt 窗口中显示它我还获得了视频的所有信息,如帧速率、大小、宽度、高度。等等
【问题讨论】:
我想在 Qt 中显示来自 C++ 库的 Byte* 流中的视频。视频来自 Astrisk 服务器,格式为 VP8。我可以在 Qt 中从中获取 Byte* Stream,现在我想在 Qt 窗口中显示它我还获得了视频的所有信息,如帧速率、大小、宽度、高度。等等
【问题讨论】:
您可以拥有字节流的QByteArray,从QByteArray 提供QBuffer,并将缓冲区作为QMediaPlayer 的流传递:
databuf = QByteArray(reinterpret_cast<char*>(array), size);
QBuffer mediaStream(&databuf);
player = new QMediaPlayer;
player->setMedia(QMediaContent(), &buffer);
videoWidget = new QVideoWidget;
player->setVideoOutput(videoWidget);
videoWidget->show();
player->play();
【讨论】: