目录
3、图像传输使用base64(传输QByteArray也可以,但是不建议);
1、QtMqtt安装;
测试环境:Windows Qt5.15.2 MIinGW8.1.0
下图中需要选择对应自己的版本,建议git工具下载,如果是download下载,需要手动创建.git空目录;
QtMqtt github下载地址:
GitHub - qt/qtmqtt: Qt Module to implement MQTT protocol version 3.1 and 3.1.1 http://mqtt.org/

代码放置qt安装目录,如 你的本机地址,qt\5.15.2\Src
需要安装perl
下载地址:Strawberry Perl for Windows
我的选择:

解压后,加入环境变量

进行测试:cmd 输入

用Qt Creator进行编译打开下载好的源码编译,可以参考如下视频:

必选cmake增加 install ,可选docs 、install_docs , 可选的最好选上
编译QT_mqtt官方库(5.14.2版本)_哔哩哔哩_bilibili
编译后如果存在提示 一个rc文件没有目录等问题,但是实际本地已经生成了,就不用管他,这时候需要手动进行对应文件处理即可;
生成文件放置:
bin\Qt5Mqtt.dll -> qt\5.15.2\mingw81_64\bin
lib目录
->qt\5.15.2\mingw81_64\lib
include\QtMqtt 含QtMqtt目录 -> qt\5.15.2\mingw81_64\include
mkspecs\modules\qt_lib_mqtt.pri -> qt\5.15.2\mingw81_64\mkspecs\modules
上面完成后,代码中就可以测试跑 qt\5.15.2\Src\qtmqtt-5.15.2\examples\mqtt\simpleclient 这个示例了,可以把simpleclient这个示例单独复制出来,到其他目录用qt creator来跑测试下即可;
2、EMQX使用
自己下载开源版本的EMQX
EMQX下载:
Directory listing for EMQX: / | EMQ
目前可用最新windows版本为emqx-5.3.2-windows-amd64
emqx使用教程参考这个:
Windows安装EMQX_emqx windows-CSDN博客
3、图像传输使用base64(传输QByteArray也可以,但是不建议);
获取视频图像后转QImage
image为槽函数接收的QImage
QBuffer buffer;
buffer.open(QBuffer::ReadWrite);
image.save(&buffer, "JPG");
m_client->publish(topic, buffer.data().toBase64());
QImage image;
image.loadFromData(QByteArray::fromBase64(message));
ui->label->setPixmap(QPixmap::fromImage(image).scaled(ui->label->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
测试结果,本机测试和局域网测试基本实时效果非常好,图像大小1.5M左右;
1万+

被折叠的 条评论
为什么被折叠?



