一、前言
目前需要将之前跑在intel box(x86)机器上的代码,交叉编译移植运行在瑞芯微的(rk3566)的板子上,主要是有几个进行是C/C++编写,其它则是python、shell之类,应该可以正常运行,因为板子上默认装的系统是ubuntu20.04.3。其它的程序如果不交叉编译,则使用go语言重写,因为之前有写go的经验,本地web使用的gin的框架,之前使用的也是瑞芯微的rk3288和rk3399, 它们均是android系统。
https://aijishu.com/a/1060000000023713 ---参照链接
http://releases.linaro.org/components/toolchain/binaries/4.9-2016.02/aarch64-linux-gnu/ -arm上运行,x86机器上编译

使用了gcc-linaro-4.9-2016.02-x86_64_aarch64-linux-gnu gcc 编译了hkcam.c 可以在rk3566上运行
aarch64-linux-musl-cross和arm-linux-musleabihf-cross gcc编译并没有正常运行
在盒子上运行

二、领导说直接在arm板子上做开发编译,这样就不需要交叉编译了,(交叉编译还是很烦的)
1,编译nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev libgd-dev libxml2 libxml2-dev uuid-dev gcc git
git clone https://github.com/winshining/nginx-http-flv-module.git rtmp module
cd nginx-1.16.1
./configure --prefix=/home/cue/app/mserver/nginx --add-module=/home/cue/aibox/nginx-http-flv-module --conf-path=/home/cue/app/mserver/nginx/nginx.conf --error-log-path=/home/cue/log/nginx/error.log --http-log-path=/home/cue/log/nginx/access.log --pid-path=/home/cue/run/nginx.pid --user=cue --group=cue --with-threads --with-file-aio --with-http_ssl_module --with-http_auth_request_module --with-http_v2_module --with-debug

sudo apt install -y build-essential cmake libssl-dev libmosquitto-dev libz-dev libnet1-dev libjsoncpp-dev libjson-c-dev libcurl4-openssl-dev
三、系统监控的组件等
https://www.elastic.co/cn/downloads/past-releases/filebeat-7-16-2 filebeat download
四、rockship ffmpeg硬件加速编解码,使用瑞芯微的硬件加速
厂商ubuntu的自带的ffmpeg貌似没有带硬件加速的,网上找的ffmpeg支持rockship的mpp的加速
ffmpeg用的这个源码: https://github.com/jjm2473/ffmpeg-rk
./configure --enable-nonfree --enable-gpl --enable-version3 --enable-libx264 --enable-libdrm --enable-rkmpp
sudo usermod -a -G video,render user ; 加到video render组里去,这样就不需要sudo执行了
例子:./ffmpeg -rtsp_transport tcp -c:v h264_rkmpp -i "rtsp://admin:admin@192.168.1.2/h264/ch2/main/av_stream" -vf "fps=5,scale_rga=-1:720" -c:v h264_rkmpp -b:v 1M -g 10 -rw_timeout 5000000 -f flv -an "rtmp://127.0.0.1/cams/tt"
使用h264_rkmpp的编解码,将rtsp流转成720p, 1M 5fps 10关键帧的ts文件信息
网友评论