1、openssl编译
下载地址:http://distfiles.macports.org/openssl/
解压后进入源码根路径执行
./config no-asm no-async --prefix=/home/chenyc/project/hi3518e/Hi3518E_SDK_V1.0.3.0/armlib/openssl --cross-compile-prefix=arm-hisiv300-linux-#打开生成的makefile 删除-m64 在126 127行makemake install
2、编译live555
下载地址:http://download.videolan.org/pub/contrib/live555/
我这里下载是最新版本
# 解压文件tar -xvf live.2020.08.19.tar.gz# 修改配置文件# 打开config.armlinux# 修改第一行、第二行 主要添加了openssl的头文件路径和编译工具链CROSS_COMPILE?= arm-hisiv300-linux-COMPILE_OPTS = $(INCLUDES) -I/usr/local/include -I. -I/home/chenyc/project/hi3518e/Hi3518E_SDK_V1.0.3.0/armlib/openssl/include -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64# 修改第8行 添加了LOCALE_NOT_USED宏 可以关闭locale这个模块,防止编译报错 使用的是uclibc没有这个模块CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 -DLOCALE_NOT_USED# 修改第16行 添加了openssl的库路径LIBS_FOR_CONSOLE_APPLICATION = -lssl -lcrypto -L/home/chenyc/project/hi3518e/Hi3518E_SDK_V1.0.3.0/armlib/openssl/lib# 至此该修改内容完成,进行配置,编译# 配置source ./genMakefiles armlinux# 编译make # 等待编译完成注意:由于手里的开发板的flash太小编译完后openssl的太大放不下,就去掉openssl相关的内容在修改配置文件时候添加 -DNO_OPENSSL=1 去掉指定链接的-lssl -lcrypto这两个库
3、rtsp推流
进入live555的源码路径下找到这个目录下的文件live/testProgs/testOnDemandRTSPServer.cpp
# 打开testOnDemandRTSPServer.cpp# 注释掉81-94行 109-431行# 再次编译live555或者单独编译该文件# 修改 播放的文件名:char const* inputFileName = "stream_chn0.h264";# 修改buffer大小,在main函数开始添加,大小看情况确定 OutPacketBuffer::maxSize = 203574;# 编译后拷贝到nfs文件夹中
进入Hi3518的命令行切换到mnt路径下
# 执行live55的测试程序./testOnDemandRTSPServer &# 运行3518的示例程序./sample_venc 0
在vlc中打开网络串流输入rtsp地址
rtsp://192.168.3.10:8554/h264ESVideoTest