Я разрабатываю приложение Qt для отображения моего потока IP-камеры. У этого есть код, подобный этому проекту:
https://github.com/cleitonbueno/qt-rtsp-test/tree/widgets
QVideoWidget *_vw1 = new QVideoWidget;
QMediaPlayer *_player1 = new QMediaPlayer;
QGridLayout *layout = new QGridLayout;
layout->addWidget(_vw1,0,0,1,1);
QWidget *win = new QWidget();
win->setLayout(layout);
setCentralWidget(win);
_player1->setVideoOutput(_vw1);
const QUrl url1 = QUrl("rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov");
const QNetworkRequest requestRtsp1(url1);
_player1->setMedia(requestRtsp1);
_player1->play();
Когда я играю видео Bigbuckbunny, приходит видео пакет и проигрыватель мультимедиа. Но когда я записываю rtsp-адрес ip-камеры в Qurl, медиаплеер не может воспроизвести этот поток.
Захват с помощью Wireshark показывает, что пакеты rtsp получены. Но у медиаплеера виден черный экран.
- Я использую Linux Ubuntu 16.04 Gnome 3 (86_64 GNU / Linux)
- QT 5.10.0
- Создатель QT - 4,5
Я удаляю имя пользователя и пароль ip камеры. Но я также пытался использовать имя пользователя и пароль (rtsp: //192.168.1.1: 554 / live / stream1 && rtsp: // username: password@192.168.1.1: 554 / live / stream1).
Можете ли вы помочь мне. Я не могу понять причину этой проблемы.