Как воспроизвести видео из сети URL LAN в QMediaPlayer (Qt 5.7)

Пожалуйста, помогите мне воспроизвести видео из сети URL LAN в Qt. У меня есть IP-камера с URL = 192.168.1.101:8080/video, и вот мой код 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();
}

Но это не работает. Я проверил видео с локального хоста, и все в порядке. Спасибо и извините за мой английский.


person Shymaxtic    schedule 23.11.2016    source источник
comment
Возможный дубликат Как воспроизвести поток с помощью QMediaPlayer   -  person 0xbaadf00d    schedule 11.10.2019


Ответы (1)


Вы можете напрямую указать URL-адрес функции setMedia(...): _player->setMedia(url);. Я проверил это, воспроизведя поток в QML VideoOutput с C++ QMediaPlayer с использованием setMedia(QUrl("http://127.0.0.1:8080"));
Поток был создан медиаплеером VLC с использованием HTTP на порт 8080.

person Alkin    schedule 10.10.2019