如何在 QMediaPlayer (Qt 5.7) 中播放来自 URL LAN 网络的视频

Posted

技术标签:

【中文标题】如何在 QMediaPlayer (Qt 5.7) 中播放来自 URL LAN 网络的视频【英文标题】:How to play video from URL LAN network in QMediaPlayer (Qt 5.7) 【发布时间】:2016-11-23 16:56:40 【问题描述】:

请帮助我在 Qt 中播放来自 URL LAN 网络的视频。我有一个 URL = 192.168.1.101:8080/video 的 IP 摄像机,这是我的 qt 代码

#include "dialog.h"
#include <QApplication>
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QNetworkRequest>
#include <QDebug>
int main(int argc, char *argv[])

    QApplication a(argc, argv);
    QMediaPlayer *_player = new QMediaPlayer;
    QVideoWidget *_vw = new QVideoWidget;
    _player->setVideoOutput(_vw);
    const QUrl url = QUrl("http://192.168.1.101:8080/video");
    const QNetworkRequest requete(url);
    _player->setMedia(requete);
    _vw->setGeometry(100,100,300,400);
    _vw->show();
    _player->play();

    return a.exec();

但它不起作用。我已经用本地主机的视频进行了测试,没问题。 谢谢你,对不起我的英语。

【问题讨论】:

How do i play a stream with QMediaPlayer的可能重复 【参考方案1】:

您可以直接将 URL 放入 setMedia(...) 函数:_player-&gt;setMedia(url);。 我已经通过使用 setMedia(QUrl("http://127.0.0.1:8080")); 使用 C++ QMediaPlayer 在 QML VideoOutput 中播放流来检查它 该流是由 VLC 媒体播放器使用 HTTP 到 8080 端口创建的。

【讨论】:

以上是关于如何在 QMediaPlayer (Qt 5.7) 中播放来自 URL LAN 网络的视频的主要内容,如果未能解决你的问题,请参考以下文章

Qt系列文章之二十六(基于QMediaPlayer 在 QVideoWidget或QGraphicsVideoItem 组件上播放视频)

Qt系列文章之二十六(基于QMediaPlayer 在 QVideoWidget或QGraphicsVideoItem 组件上播放视频)

QMediaPlayer - 如何从在线广播中获取元数据?

如何访问 QMediaPlayer 的元数据?

QMediaPlayer 在 qt5 中不起作用

在 Qt5 中使用 QMediaPlayer 播放流时使用代理? [复制]