利(li)用QWebView加載mjpg圖片
時間(jian):2018-09-27 來源:未知
近期在研究QT的過程(cheng)中有發(fa)現(xian)QWebView并(bing)不能有效的解(jie)析mjpg‐streamer視頻(pin)流數據,而僅僅能夠(gou)解(jie)析到單(dan)幀(zhen)圖片。下(xia)面(mian)我們來討論一下(xia)如何解(jie)決這種問題(ti)。
本文引用地址://fsbing.cn/emb/Column/7498.html
開發環境: mingw32-g++ QT 5.0+
首先上解決思想:
通過(guo)解析單(dan)幀圖片(pian),然后將(jiang)單(dan)幀圖片(pian)逐(zhu)個顯(xian)示。
解決方法:
方法1:
通(tong)過獲取單幀圖片的方(fang)法獲取圖片:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
socket = new QTcpSocket;
socket->connectToHost("192.168.1.1",2001);
QTimer *mytimer = new QTimer;
mytimer->start(800);
connect(mytimer,SIGNAL(timeout()),this,SLOT(flashPic()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::flashPic()
{
qDebug("flash!");
ui->webView->setUrl(QUrl("//192.168.1.1:8080/?action=snapshot"));
ui->webView->update();
}
效果:

當(dang)然這個(ge)解(jie)決辦(ban)法是有缺(que)點的,如果網絡不好的情(qing)況下(xia)可能(neng)會造成閃爍過(guo)多的情(qing)況,網上(shang)還有其他的解(jie)決辦(ban)法大家可以自行查(cha)找(zhao)下(xia)。