live555是一个开源项目,是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。
live555在监控、安保、视频直播、移动、自动驾驶开发领域有着广泛的应用。
- 下载live555,网址:Index of /liveMedia/public
- 下载openssl, 并解压
官网/source/index.html (openssl.org)下载openssl-1.1.1v - 编译openssl
编译openssl 之前要先安装perl,nasm
3.1地平线J3平台配置./Configure no-asm linux-aarch64 --prefix=/home/yangkm/Studio/test/openssl-1.1.1v/openssl_install --cross-compile-prefix=aarch64-linux-gnu-
no-asm:不生成汇编
linux-aarch64:芯片架构
--prefix:安装包的目录,必须是绝对路径
--cross-compile-prefix:交叉编译器的前缀
3.2编译 make
3.3安装make install - 解压live555-latest.tar.gz, 进入目录live
- 编辑config.armlinux
编辑前先在.bashrc中配置交叉编译器的环境变量。
5.1 指定交叉编译器的前缀
CROSS_COMPILE?=aarch64-linux-gnu-
5.2 配置OPENSSL
把4.3节的openssl_install目录拷贝到live目录下,重命名为openssl。COMPILE_OPTS行添加-I./openssl/include,如下:COMPILE_OPTS = $(INCLUDES) -I/usr/local/include -I. -I./openssl/include -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
LIBS_FOR_CONSOLE_APPLICATION添加-L./openssl/lib
如图:
LIBS_FOR_CONSOLE_APPLICATION = -L./openssl/lib -lssl -lcrypto
5.3 有非常简单的方法避免使用openssl,就不需要5.2配置
也可以用-DNO_OPENSSL=1同时去掉-lssl -lcrypto库引用
5.4 加上宏-DNO_STD_LIB - 配置
./genMakefiles armlinux - 编译
make - 查看库
./groupsock/libgroupsock.a
./liveMedia/libliveMedia.a
./UsageEnvironment/libUsageEnvironment.a
./BasicUsageEnvironment/libBasicUsageEnvironment.a
- 完成live555的编译,可以做RTSP视频了。