一、環境: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丟包率太高,花屏現象嚴重,無法使用