一、打包项目
1、打包项目(zip格式),通过WinsCP拷贝到home/user01目录下。
2、Linux中执行指令
sudo apt-get install unzip
3、解压安装包到当前目录
unzip SecurityMonitoringSystem.zip
二、Linux中打开Qt项目
1、打开qt
cd /opt/Qt5.9.8/Tools/QtCreator/bin
./qtcreator
2、打开项目
选择pro文件并打开
三、引入库
1、安装SQLite3库和头文件
sudo apt-get install sqlite3 libsqlite3-dev
2、在Qt项目中配置SQLite3
QT += sql
LIBS += -lsqlite3
3、使用SQLite3 API
#include <QtSql>
4、pro文件进行修改适用Linux中的ffempeg
INCLUDEPATH += /usr/local/ffmpeg/include
LIBS+= -L/usr/local/ffmpeg/lib \
-lavcodec \
-lavdevice \
-lavfilter \
-lavformat \
-lavutil \
-lswresample \
-lswscale
5、链接库
sudo apt-get install libpulse-mainloop-glib
命令:
sudo find / -name libpulse.so*
sudo cp /usr/lib/x86_64-linux-gnu/libpulse.so.0 /usr/lib/libpulse.so
//在lib下就出现了libpulse.so
命令:
sudo find / -name libpulse-mainloop-glib.so*
sudo cp /usr/lib/x86_64-linux-gnu/libpulse-mainloop-glib.so.0.0.5 /usr/lib/libpulse-mainloop-glib.so
//在lib下就出现了libpulse-mainloop-glib.so
命令:
sudo find / -name libglib-2.0.so*
sudo cp /lib/x86_64-linux-gnu/libglib-2.0.so.0 /usr/lib/libglib-2.0.so
//在lib下就出现了libglib-2.0.so
四、摄像头的更改
1、找到USB控制器->将USB兼容性 选中 USB 3.0 下边的勾都选上->最后点击确定
虚拟机要关机后才能设计(ubantu16.0.4)
2、从虚拟机中增加摄像头
点击连接,与主机断开连接摄像头连接到虚拟机
3、摄像头名获取
for(int i = 0; i < 10; ++i)
{
QString devicePath = QString("/dev/video%1").arg(i);
QFile file(devicePath);
if (file.exists() && file.open(QIODevice::ReadOnly))
{
this->dropDownCombox->addItem(QString("video%1").arg(i));
file.close();
}
}
Linux中打开摄像头
int CameraThread::openCamera()
{
//推流格式
AVInputFormat *fmt=av_find_input_format("video4linux2");
//摄像头名称的拼接
QString cameraNameTemp="/dev/"+this->cameraName;
//打开视频的输入
int res=avformat_open_input(&this->pFormatContext,cameraNameTemp.toUtf8(),fmt,nullptr);
if(res!=0)
{
qDebug()<<"avformat_open_input failed"<<res;
}
return res;
}
问题汇总
摄像头无法打开
问题
-
解码时程序卡死
-
使用茄子大头贴软件打开摄像头显示一片黑暗
-
解决方法
- 找到USB控制器->将USB兼容性 选中 USB 3.0 下边的勾都选上->最后点击确定
虚拟机要关机后才能设计(ubantu16.0.4)
编码时发送一帧数据失败
问题
- 编码时这个函数执行失败
avcodec_send_frame
解决方式:配置x264
nasm和x264的安装包自行获取
## 安装nasm
tar xjvf nasm-2.13.01.tar.bz2
cd nasm-2.13.01
./autogen.sh
./configure
make
make install
## 安装 hx264
unzip x264
cd x264
./configure --enable-shared
make
make install
##重新编译ffmpeg
./configure --enable-shared --disable-yasm --enable-libx264 --enable-gpl --extra-libs=-ldl --prefix=/usr/local/ffmpeg
make
make install
## 配置x264
vi /etc/ld.so.conf
#将以下内容添加进文件的末尾
include /etc/ld.so.conf.d/*.conf
/usr/local/ffmpeg/lib
/usr/local/x264
总结
希望大家都能移植成功,成功的话帮我点点赞谢谢。