一、环境:Qnx单板配置
- 串口连接
Qnx单板配置,首先通过串口使用xshell连接qnx单板,并且设置qnx的ip为可用ip
#ifconfig fec0 192.168.50.200
- telnet连接
#inetd
#telnetd
#telnet
Telnet下配置环境变量
export SYSNAME=nto
export HOME=/
export PATH=:/bin:/usr/bin:/sbin:/usr/sbin:/proc/boot
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib:/usr/lib/graphics/iMX6X:/lib/dll:/proc/boot
export GRAPHICS_ROOT=/usr/lib/graphics/iMX6X
二、QT配置
Ubuntu+qt5.3.1+qnx660
- Ubuntu安装qnx660 按照安装说明安装即可
- qt-everywhere-opensource-src-5.3.1.tar.gz下载并且编译
#source ~/qnx660/qnx660-env.sh
#./configure -opensource -confirm-license -shared -release -xplatform qnx-armle-v7-qcc -no-rpath -system-sqlite -continue -no-openssl -nomake examples -nomake tests -force-debug-info -separate-debug-info -prefix /opt/qt5.3.1 -v -skip qtserialport -skip qtwebkit -skip qtmultimedia
#make
#make install
Qt5.3.1被安装到/opt/qt5.3.1中
- 压缩拷贝/opt/qt5.3.1中的lib,plug,qml到qnx单板位置例如:/base/qt5
并其配置环境变量
单板上qt环境的初始化
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/base/usr/qt5/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=/base/usr/qt5/plugins
export QT_PLUGIN_PATH=/base/usr/qt5/plugins
export QML2_IMPORT_PATH=/base/usr/qt5/qml
export QT_QPA_FONTDIR=/base/usr/qt5/lib/fonts
export QQNX_PHYSICAL_SCREEN_SIZE=1024,600
export QT_DEBUG_PLUGINS=1
- Ubuntu安装qt-opensource-linux-x86-5.3.1.run,按照教程配置ubuntu下qtcreator的交叉编译环境
- 使用ubuntu下的qtcreator开发应用,拷贝可执行文件到qxn单板,执行即可
三、ffmpeg编译
#./configure --enable-shared --disable-asm --prefix=qnx-ffmpeg --target-os=qnx --arch=armv7 --cc=ntoarmv7-gcc --enable-cross-compile --enable-pthreads --disable-asm --disable-static --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-avdevice --disable-doc --disable-symver --strip=ntoarmv7-strip
#make install
QT工程使用 pro文件增加配置
INCLUDEPATH += $$PWD/ffmpeg/include \
$$PWD/src
LIBS += $$PWD/ffmpeg/lib/libavcodec.so \
$$PWD/ffmpeg/lib/libavfilter.so \
$$PWD/ffmpeg/lib/libavformat.so \
$$PWD/ffmpeg/lib/libavutil.so \
$$PWD/ffmpeg/lib/libswresample.so \
$$PWD/ffmpeg/lib/libswscale.so
同时将库文件拷贝到qnx目标单板,可以放入qt5库路径一起使用
四、RTST sink端
使用QT配置ffmpeg rtsp拉流实现
目前发现问题:udp 接收缓冲区太小导致rtp丢包率太高,花屏现象严重,无法使用