请教一个Linux下Qt关于multimedia的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一个Linux下Qt关于multimedia的问题相关的知识,希望对你有一定的参考价值。

参考技术A 可以 用::open和::close操作,因为调用的c接口,所以需要加上域操作符,好像还有用QIODEVICE来操作的,就不知道该怎么弄了,可以看看qt串口类是怎么弄的

使用 Qt MultiMedia 和 Widgets 播放网络流媒体视频

【中文标题】使用 Qt MultiMedia 和 Widgets 播放网络流媒体视频【英文标题】:Playing a network streaming video using Qt MultiMedia and Widgets 【发布时间】:2016-07-31 12:47:34 【问题描述】:

我正在尝试构建一个简单的 qt 应用程序来播放实时视频流。流媒体视频未在我的应用程序中播放。我使用 qt 播放了本地文件,但无法播放实时视频流。我找到了这个链接,但他们没有帮助我:-

Play a Live video Stream using Qt

Qt Stream IP Camera Video

这里是代码:-

#include <QApplication>
#include <QtMultimediaWidgets/QVideoWidget>
#include <QtMultimedia/QMediaPlayer>
int main(int argc, char *argv[])

    QApplication a(argc, argv);

    QMediaPlayer *player = new QMediaPlayer;
    QMediaContent *mc=new QMediaContent(QUrl("http://192.168.42.129:8080/video"));
    player->setMedia(*mc);
    player->setVolume(50);
    QVideoWidget *videoWidget = new QVideoWidget;
    videoWidget->resize(700,700);
    videoWidget->show();
    player->setVideoOutput(videoWidget);
    player->play();

    qDebug()<<player->availableMetaData()<<player->currentMedia().canonicalUrl();
    qDebug()<<player->errorString();

    return a.exec();

我正在使用我的 Android 手机中的应用程序来流式传输视频。流媒体视频正在 VLC 媒体播放器、Opera 浏览器、Mozilla 浏览器上播放。我尝试过不同的格式,如 MOV、MKV、WEBM(应用程序说我手机中的硬件渲染器不支持 MP4)。请帮忙,卡了一会儿。

编辑 - 我不想使用任何其他库,例如 libVLC,因为我注意到流视频在 vlc 媒体播放器中滞后。它可能存在一些性能问题。

【问题讨论】:

【参考方案1】:

我想出了一个办法。我无法使用 QMultimedia 小部件。我不得不使用像libvlc 或vlc-qt 这样的外部库。他们有很好的 API,通常没有性能问题(正如我之前所想的那样)。它们很容易与 Qt(及其小部件)集成。

【讨论】:

嗨,你有这个我可以学习的教程吗?我想为 Mac 和 Ubuntu 构建它。 你有教程吗?我在使用 VisualStudio 或 QTCreator 时遇到了很多问题

以上是关于请教一个Linux下Qt关于multimedia的问题的主要内容,如果未能解决你的问题,请参考以下文章

请教:qt下如何调用linux下编译的驱动程序

在Linux安装QT的问题:高手请教

QT中的 multimedia模块问题?如何添加.dll文件?

为啥我缺少 Qt Multimedia 功能?

Qt的高手,向你们请教下: 先谢谢了。我用Qt designer 设计了一个简单的ui ,想自定义一个简单的槽,不会

使用 Qt MultiMedia 和 Widgets 播放网络流媒体视频