Firefly1126中RTMP推流库安装配置

Firefly1126中RTMP推流库安装配置

1,搭建rtmp客户端,首先下载librtmp源代码在Ubuntu上准备编译,执行下面的命令下载,因为librtmp库使用openssl,zib,因此这两者也要一起下载

下载openssl1.0.2s.tar.gz

https://www.openssl.org/source/old/1.0.2/

下载zlib1.2.11.tar.gz

https://www.zlib.net/

下载librtmp

git clone https://github.com/Bingnan/rtmpdump-2.4.git

2,解压zlib与openssl
tar -zxvf openssl-1.0.2s.tar.gz 
tar -zxvf zlib-1.2.11.tar.gz 
3,交叉编译openssl

输入配置命令

setarch i386 ./config no-asm shared --prefix=/home/kxq/Desktop/librtmp

setarch i386声明生成32位CPU,64位不需要这个指令

share 声明生成动态库

no-asm 指在交叉编译过程中不使用汇编加速,因为open-ssl的汇编代码对arm不支持

之后修改生成的makefile

将62行,69,70,72修改为

CC= arm-linux-gnueabihf-gcc
AR= arm-linux-gnueabihf-ar $(ARFLAGS) r
RANLIB= arm-linux-gnueabihf-ranlib
NM= arm-linux-gnueabihf-nm

之后执行make,makeinstall安装

4,交叉编译zlib

与openssl相似,首先进行配置,进入zlib的目录,打开终端,输入以下命令

./configure --prefix=/home/kxq/Desktop/librtmp

之后修改makefile中的19,30,31,39,41,修改为

CC=arm-linux-gnueabihf-gcc

LDSHARED=arm-linux-gnueabihf-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
CPP=arm-linux-gnueabihf-gcc -E

AR=arm-linux-gnueabihf-ar

RANLIB=arm-linux-gnueabihf-gcc-ranlib

之后make , make install 即可以安装到桌面下的librtmp文件夹

5,交叉编译rtmpdump-2.4

进入文件根目录,修改其中的makefile,在CC=$(CROSS_COMPILE)gcc之前加入以下语句

CROSS_COMPILE = /home/kxq/Desktop/rv1126_rv1109_linux_release_20210306/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
XCFLAGS = -I/home/kxq/Desktop/librtmp/include/
XLDFLAGS = -L/home/kxq/Desktop/librtmp/lib/

其中,XCFLAGS和XLDFLAGS分别为openssl和zlib的头文件与库文件目录

之后进入librtmp文件夹中,修改makefile

第3行改为

prefix=/home/kxq/Desktop/armrtmp

是rtmp库的安装目录,之后在CC=$(CROSS_COMPILE)gcc之前加入以下语句

CROSS_COMPILE = /home/kxq/Desktop/rv1126_rv1109_linux_release_20210306/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
XCFLAGS = -I/home/kxq/Desktop/librtmp/include/
XLDFLAGS = -L/home/kxq/Desktop/librtmp/lib/

之后在librtmp文件夹目录的终端下执行make,make install命令

posted @ 2022-04-14 10:32  Deceiver_Ker  阅读(410)  评论(0编辑  收藏  举报