我正在开发一个用于显示我的IP-CAMERA流的Qt应用程序。它的代码与此项目类似: 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视频时,视频的数据包即将播出,媒体播放器播放。但是当我在Qurl中写入ip camera的rtsp地址时,媒体播放器无法播放此流。 使用Wireshark进行捕获表明收到了rtsp数据包。但媒体播放器被视为黑屏。
我删除了ip camera的用户名和密码。但我也尝试使用用户名和密码(rtsp://192.168.1.1:554 / live / stream1&& rtsp:// username:password@192.168.1.1:554 / live / stream1)。
你能帮我吗?我无法理解这个问题的根本原因。