- 博客(51)
- 资源 (3)
- 收藏
- 关注
原创 windows下使用msvc编译ffmpeg 适用于ffmpeg-7.1
如果没有输出,则表示没有继承到VS 2019环境,查看msys2_shell.cmd是否修改成功。打开后跳转到msys2目录,并运行msys2_shell.cmd,会打开msys2窗口。在msys2目录修改msys2_shell.cmd。在msys2窗口中进入ffmpeg-7.1目录下。如果需要libx264,需要自行下载。如果有报错查看ffmpeg目录下的。即可编译带有x264的ffmpeg。编译ffmpeg-7.1。
2025-02-27 11:15:22
606
2
原创 ubuntu安装8812au驱动却无法加载网卡的问题
现在能找到最简单的解决办法就是。进入系统,接入网卡看看是否成功。表示驱动未签名,系统禁止加载。按照提示输入后即可关闭。按照里面提示安装驱动。查看驱动是否安装成功。
2024-12-17 13:17:51
338
原创 qt android 报错 FORTIFY: pthread_mutex_lock called on a destroyed mutex 和 HandleUsingDestroyedMutex
在析构函数才退出线程的时候,就会触发这个报错。且APP已经退出(即代码已经走到了。上面代码当线程一直在运行中。
2024-11-27 14:14:01
667
原创 qt android 使用nasm 汇编引发的ld.lld: error: undefined symbol坑
可以使用 nm命令查看.o文件导出的函数。windows下使用msys调用nm指令。那编译出来的.o文件导出函数为。使用nasm编译.asm文件。编译出来的函数前会附带。
2024-10-15 16:08:07
316
原创 Qt 加载字库,相同的Family Name导致设置字体无效问题
此问题在Qt 6.7.2 Android上发现。但是families获取到都是相同的字符串。导致设置font时无法正确加载需要的字库。加载字库并获取字库Id。获取families。Windows没问题。
2024-10-09 15:06:03
502
原创 c++ new 和 malloc 分配内存
通过预先申请一块, 每当new的时候, 就是将预先申请的内存分配给class。delete的时候, 只是程序回收了这个内存块, 不是返还给系统。再看一个例子, 将class修改一下。这就是内存池一个大致的原理。访问的都是同一块内存。
2024-06-07 12:38:21
393
原创 Qt C++ 在windows上三目运算不断增加内存
最后在nv12转rgb像素转换函数发现是因为三目运算导致内存不断增长。由于平时测试的摄像头分辨率都比较低,所以这个问题不太突出。函数内部无任何的 new 和 malloc操作。今天换了个高分辨率的镜头才出现了这个问题。今天在做摄像头项目的时候,运行程序很卡。打开任务管理器发现程序内存一直在增加。找了很久才定位到三目运算的问题。
2023-08-04 16:31:50
993
原创 vscode 交叉编译器 include 红色波浪线
c_cpp_properties.json里面的。运行gcc交叉编译器, 附带参数。底下的就是include路径。就可以解决这个问题了。
2023-07-27 13:55:03
464
原创 C++ 子类析构函数没有被调用
希望在父类调用delete时,子类的析构函数被调用。而父类的析构函数没有加virtual声明的话。则在父类的析构函数加上virtual。如果父类里执行了delete。子类的析构函数是不会被调用的。
2023-07-18 16:50:01
591
2
原创 qt6 qml 显示yuv数据图像
在QVideoFrame初始化的时候, QVideoFrameFormat::PixelFormat对应你的图像数据格式。config->frame为QVideoFrame。按照以往的方法,先将yuv转为rgb然后在传入。Config.cpp中的setSink函数。的videoSink指针传入到c++里面。在VideoOutput创建完成时,将。调整图像大小比较麻烦,总是按比例显示。这里只针对yuv420p进行初始化。然后在你接收yuv数据的代码中。这样的方法比较麻烦,现在通过。性能的话没有做测试对比。
2023-04-21 10:02:22
1185
3
原创 qt6 android glsl samplerExternalOES
要另外写一个文件,里面写入samplerExternalOES, 来注入fragmentShader.qsb。vertexShader和fragmentShader必须要用qsb来生成.qsb文件。因为里面用到了samplerExternalOES,所以怎么生成都会报错。只是qt6去掉了QSGSimpleMaterialShader这个类。在用qsb生成fragmentShader.qsb时。生成fragmentShader.qsb。我对于opengl和glsl都不熟悉。通过qsb指令将其替换。
2022-11-17 11:38:10
831
原创 wpa_supplicant不会自动获取ip的另外一种解决办法
然后发现wpa_cli可以触发wpa_supplicant断开和连接消息。每次调用wpa_supplicant后连上热点都不会获取ip。编写一个脚本/etc/cli_test.sh。在wpa_supplicant运行后,输入。每次热点连接就会调用脚本里的。
2022-09-23 17:26:33
1276
原创 Windows ffmpeg 构建x264 for android
安装msys2后,“以管理员身份运行” MSYS2 MinGW x64。自行在谷歌下载Windows使用的NDK。需要哪个 cpu的库就构建哪个。在x264目录下会有个新目录。, 里面有对应CPU的.a库。进入到 x264文件夹。
2022-08-15 16:34:07
619
原创 Qt for linux QNetworkConfigurationManager发布程序异常问题
在开发机上跑QNetworkConfigurationManager::isOnline()这个函数没问题到了发布软件的机子上跑,出现了获取状态有问题原因就是软件包缺少插件拷贝/gcc_64/plugins里面的bearer文件夹,复制到发布的可执行文件目录下即可...
2022-06-16 11:08:13
487
1
原创 windows 构建 tensorflow lite 库文件(lib, dll)
构建工具tensorflowhttps://github.com/tensorflow/tensorflow/tree/r2.6Visual Studio 2019 自行在网上下载msys2https://www.msys2.org/bazel 3.7.2https://github.com/bazelbuild/bazel/releases?q=3.7.2&expanded=truepython 3.7.6https://www.python.org/downloads/rel
2022-05-06 11:38:02
2167
原创 QT tcp socket 注意事项(tcp socket 导致程序崩溃)
F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 18493 (QThread), pid 18454 (project.example)或者是ASSERT: “m_buf” in file这两个错误是因为socket 在write的时候, 调用线程和socket创建的线程不一致产生的崩溃有两种情况在其他线程调用了write函数,需要通过信号跳转到socket创建的线程调用write(c
2022-04-06 15:15:06
8441
原创 QT LINUX 上发布程序 QImage问题
吐槽在LINUX上发布QT是真的很麻烦如果你在网上查询了一堆拷贝库的方法到最后发现使用QImage的时候崩溃了QImage::loadFromData突然间失败了就是因为库没有拷贝完整在plugins目录下 拷贝imageformats整一个文件夹注意是整个文件夹复制到可执行文件目录下放到你的编译好的可执行文件目录下然后就可以用了为什么库不齐全却能打开程序呢?可能这就是QT厉害的地方了。...
2022-03-25 09:42:10
514
原创 qt qml StackView 触摸滑动返回(swiping pop)
模仿ios的效果点击item触发push 第二层界面通过动画从右边往左边弹出然后在最左边向右滑动返回上一层StackView { id: stackView anchors.fill: parent initialItem: mainView property real hideX: 0 - width * 0.3 pushEnter: Transition { XAnimator {
2022-02-23 14:51:04
840
原创 Qt for Android 刘海屏 获取安全区域(Safe area, Display Cutouts)
在.java文件重写onAttachedToWindow()函数然后通过safeArea() 将上下左右的安全区域发出去public native static void safeArea(int top, int left, int bottom, int right);@Overridepublic void onAttachedToWindow() { super.onAttachedToWindow(); System.out.println("java -> on
2022-01-13 14:28:17
3541
原创 qt for ios xcode error:65
Qt 6.2Xcode 13.2.1第一次编译ios app的时候莫名报错error:65在.pro添加了这几个模块后就编译成功,在iPhone上成功运行LIBS += -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks -framework VideoToolboxLIBS += -F/Appli
2022-01-04 13:44:37
1550
原创 QT ffmpeg 解码av_read_frame 实现进度条快进快退
这个是之前写的添加暂停功能的文章https://blog.csdn.net/Lj2_jOker/article/details/121970262?spm=1001.2014.3001.5502既然实现了暂停,为什么不把进度条实现呢解码部分代码status = VideoProcess::__running;emit f->statusChanged();decode->old_dts_ms = 0;qDebug() << QThread::currentThrea
2021-12-21 16:37:32
2033
原创 Qt ffmpeg解码av_read_frame 实现暂停功能
解码的时候都是通过线程while读出视频流然后在转为QImage发送出去暂停就是把线程给暂停通过QWaitCondition 或是 std::condition_variable(例子用的是std::condition_variable)因为是通过帧的时间戳来发送QImage在计算时间戳的时候,需要把暂停这段时间给减上就行了// 记录开始读视频流的时间戳qint64 start_ms = QDateTime::currentDateTime().toMSecsSinceEpoch();//
2021-12-16 11:17:19
2091
原创 qt QTranslator::load()成功却没有翻译的问题
原因QTranslator为函数的局部变量,函数的生命周期过了,QTranslator也被销毁了则QApplication::installTranslator() 也没有作用了需要把QTranslator作为成员变量 或者 指针保存
2021-11-29 15:08:13
1388
原创 QT QImageReader缩放比QImage缩放更有效率
一般加载图片代码QImage img;img.load("image file path");如果只是加载一张图的时候,这种方法没问题在加载多图的时候,就会很慢了用QImageReader 加载图片QImageReader reader;reader.setFileName("image file path");QSize size = reader.size();// 这里缩放了size.scale(imgW, imgW, Qt::IgnoreAspectRatio);reader
2021-11-13 08:57:43
1315
原创 记录Tensorflow models的那些坑
以下都是在windows 10环境下进行安装编译tf models最麻烦的地方就是要安装对应版本的python而 git上的教程都很老了,安装tensorflow总是会出现各种问题现在tf 2.x 版本 需要python3.5在以上tensorflow models 官方安装教程tensorflow models下载最新的tf models,链接教程里面有源码连接Anaconda版本:Anaconda3-2020.02-Windows-x86_64.exe安装完anaconda 后要以
2021-11-03 16:43:11
634
原创 Qt使用FFMPEG时,解决路径带中文的BUG
avformat_alloc_output_context2 传带中文的路径时可以用QString::toStdString() 转为std::string然后std::string::c_str()传路径字符串 就可以解决路径带中文的问题
2021-09-10 12:55:01
1322
原创 LInux使用V4L2打开UVC摄像头
直接贴代码,编译工具用了qt#include <errno.h>#include <fcntl.h>#include <linux/videodev2.h>#include <linux/v4l2-controls.h>#include <stdint.h>#include <stdio.h>#include <string.h>#include <sys/ioctl.h>#include &l
2021-09-02 14:25:59
1713
原创 C++ 图像数据翻转代码 (水平翻转 垂直翻转 对角线翻转)
enum PixelFlip{ __NoFlip = 0, __Horizontally, __Vertically, __Diagonally,};enum PixelChannel{ __U8 = 1, // 8 bit __U24 = 3, // 8:8:8 bit};void flip(uint8_t *data, int width, int height, PixelFlip state, PixelChannel chan
2021-04-30 09:19:02
1610
原创 qt qdatastream二进制写入数据到文件
假设:要写入double类型数组double *data; // 二进制写入的double类型数组int dataLength = 10; // 数组长度QString filePath; // 文件路径QFile file(filePath);if( file.open(QIODevice::ReadWrite) ) { QDataStream stream(&file); stream.writeRawData(reinterpret_cast<char *>
2021-04-20 15:21:08
1371
原创 ARM-LINUX 使用 FFMPEG NGINX 实现 RTMP推流
NGINX 下载地址NGINX 依赖库pcre 源码pcre 下载地址openssl 源码openssl 下载地址zlib 源码zlib 下载地址nginx-rtmp-module得去git下载因为nginx和openssl版本不匹配可能会冲突我使用的是pcre-8.39openssl-1.0.2unginx-1.6.3 zlib-1.2.11nginx交叉编译真的太痛苦了主要会各种报错首先写一个脚本文件, 保存为nginx_build.sh#!/bi
2021-03-29 16:51:46
1366
原创 关于AT SMS所有指令都返回ERROR的问题
如果AT任何关于SIM卡操作都失效的话可能是SIM卡设置了PIN密码需要通过AT+CPIN=PIN密码来解锁输入AT+CPIN?看看返回类型返回值READY 不需要输入任何密码SIM PIN 需要输入 PIN 码SIM PUK PIN 码解锁密码PH-SIM PIN SIM 卡绑定密码PH-NET PIN 网络密码...
2021-02-20 11:51:44
2227
原创 QT QSerialPort 的坑
最近在做ARM-LINUX GPS信息接收4G模块是通过串口通讯的用QSerialPort接收数据因为数据量比较大,所以把串口接收数据的类放入了线程结果程序莫名崩溃,一开始还以为哪里指针报错了尝试了很久然后我在 QSerialPort 的 readAll() 前后进行了qDebug()发现 readAll() 后没有打印输出,那就是readAll() 出问题了readAll()不能放入子线程当接数据少的时候,在线程readAll()不容易出问题因为GPS数据量大,所以才发现了这个问题,之
2021-02-10 10:38:11
1669
2
原创 QT ME3630 通过AT指令 发送短信
首先先确认短信格式是否为TEXTQString str = QString("AT+CMGF?\r");serialport->write(str.toLatin1());串口返回:\r\n+CMGF: 0\r\nOK\r\n如果为0则为PDU模式需要设置为TEXT模式如果为1,则为TEXT模式设置TEXT模式:QString str = QString("AT+CMGF=1\r");serialport->write(str.toLatin1());串口返回:\r
2021-02-01 17:21:14
645
原创 QT 打开USB摄像头
请使用MSVC2015 64位或以上的编译器构建在工程exe添加/64bit_lib/libUVCamera.dll 动态库支持多摄像头打开可自行修改程序源码摄像头图像格式只支持yuv420p, yuyv其他格式请自行转换图形格式效果图:工程下载...
2021-01-26 12:52:01
683
原创 QT 使用Q_OBJECT导出动态链接库 dll 和使用报错:C2491
先吐槽一下Windows的导出库形式真的很麻烦假设你的dll头文件#if defined(_MSC_VER) || defined(WIN64) || defined(_WIN64) || defined(__WIN64__) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)# define Q_DECL_EXPORT __declspec(dllexport)# define Q_DECL
2021-01-23 10:21:55
2395
原创 ARM-LINUX uboot是怎样启动内核
首先进入到uboot输入:print输出(注意不同的uboot输出的内容不一样):baudrate=115200board_name=EVKboard_rev=14X14boot_fdt=trybootargs=console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.10.100:/home/lee/linux/nfs/rootfs ip=192.168.10.50:192.168.10.100:192.168.10.1:255.255.25
2021-01-22 09:50:41
220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人