一、介绍
移植FFMPEG主要是为了实现RTMP推流功能、RTMP拉流功能和SRT推流功能,主要分为3个小项目:
1、单路/多路RTMP推流
2、单路/多路RTMP拉流
3、SRT推流
项目主要涉及多个知识点,x264,x265, srt等,RV1126可以直接采用硬件编码方式和解码方式采集H264和H265,我们只需要把数据和音频通过RTMP等协议推出去和拉取显示,操作为内网操作,在本地部署RTMP服务器来接收RTMP的流,外部需要公网等条件,不作介绍。
二、FFMPEG编译
参数说明:
prefix为编译后的库文件路径
cross-prefix:SDK的交叉工具链
其他参数自行了解。
1、编译x264
下载:git clone https://github.com/mirror/x264.git
编译:
./configure --prefix=/opt/arm_libx264 --host=arm-linux --cross-prefix=/home/leona/rv1126/buildroot/output/alientek_rv1126/host/bin/arm-linux-gnueabihf- --enable-shared --enable-static
make
sudo make install
2、编译x265
解压libx265.tar.gz压缩包
wget https://johnvansickle.com/ffmpeg/release-source/libx265-git.tar.xz
xz -d libx265-git.tar.xz
tar -xvf libx265-git.tar
cd libx265-git/source/