技术专栏
海思3518开发板移植live555
一、从官网下载
1、在linux中直接下载
wget http://live555.com/liveMedia/public/live.2023.06.20.tar.gz
- 1
或直接找镜像下低版本后面能少报点错
2、解压缩
tar -vxf live.2023.06.20.tar.gz
- 1
二、编译
备份配置文件
cp config.armlinux config.myarmlinux
- 1
修改配置文件,改为自己的海思交叉编译路径,添加宏:
-DLOCALE_NOT_USED
CROSS_COMPILE?= /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-
COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLOCALE_NOT_USED
- 1
- 2
生成Makefile,每次修改配置文件后都要执行!
./genMakefiles myarmlinux
- 1
编译
make
- 1
三、解决报错
报错:找不到openssl的库文件
include/TLSState.hh:34:25: fatal error: openssl/ssl.h: 没有那个文件或目录
- 1
1、获取openssl
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1s.tar.gz
- 1
2、解压缩安装包
tar -vxf openssl-1.1.1s.tar.gz
- 1
3、配置config脚本,–prefix=后添加openssl生成文件的目标目录,–cross-compile-prefix=后添加海思交叉编译链
./config no-asm no-async shared --prefix=/home/cxh/tools/hisi_ssl --cross-compile-prefix=/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-
- 1
4、打开openssl的Makefile,查找m64删除-m64参数
CNF_CFLAGS=-pthread
CNF_CXXFLAGS=-std=c++11 -pthread
- 1
- 2
5、然后编译openssl:
make && make install
- 1
6、可以看到目标目录下已经生成文件,回到live555目录下,打开config.myarmlinux在COMPILE_OPTS 后添加,-I后跟刚生成的库文件路径
COMPILE_OPTS = -I/home/cxh/tools/hisi_ssl/include
- 1
7、将lib软链接到交叉编译器下:
sudo ln -s /home/cxh/tools/hisi_ssl/lib/libssl.so.1.1 /opt/hisi-linux/x86-arm/arm-hisiv300-linux/arm-hisiv300-linux-uclibcgnueabi/lib/libssl.so
- 1
sudo ln -s /home/cxh/tools/hisi_ssl/lib/libcrypto.so.1.1 /opt/hisi-linux/x86-arm/arm-hisiv300-linux/arm-hisiv300-linux-uclibcgnueabi/lib/libcrypto.so
- 1
然后重新make
报错:未添加c++11支持
RTSPCommon.cpp:364:3: warning: identifier ‘nullptr’ is a keyword in C++11 [-Wc++0x-compat]
if (gmtime_r(&tt, &time_tm) == nullptr) {
- 1
- 2
打开config.myarmlinux在CPLUSPLUS_FLAGS后添加-std=c++11
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 -std=c++11
- 1
报错:变量成员未找到
BasicTaskScheduler.cpp:191:40: error: ‘struct std::atomic_flag’ has no member named ‘test’
if (fTriggersAwaitingHandling[i].test()) {
Makefile:42: recipe for target 'BasicTaskScheduler.o' failed
- 1
- 2
- 3
- 4
找到BasicTaskScheduler.cpp
,找到上面这段,修改test()
为test_and_set()
四、运行
将编译得到的mediaServer/live555MediaServer移到开发板,并且将libcrypto.so.1.1
和libssl.so.1.1
移动到开发板的lib中
./live555MediaServer &
- 1
将视频文件与live555MediaServer放同一目录下,打开vlc,输入网络串流地址
rtsp://192.168.xx.xx/<filename>
- 1
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
点赞
收藏
评论
打赏
- 分享
- 举报
评论
0个
手气红包

相关专栏
-
浏览量:3623次2018-04-26 15:06:40
-
浏览量:2900次2020-07-29 15:54:29
-
浏览量:1008次2023-12-11 11:37:59
-
浏览量:1222次2024-01-15 15:09:32
-
浏览量:1102次2023-10-09 16:20:04
-
2020-10-17 18:27:28
-
浏览量:4563次2020-08-11 10:39:44
-
浏览量:4101次2020-04-26 17:55:16
-
浏览量:5559次2020-08-11 10:30:44
-
浏览量:5066次2020-08-11 10:32:41
-
浏览量:4312次2020-08-14 11:25:29
-
浏览量:3953次2020-08-11 10:29:05
-
浏览量:7425次2018-06-14 23:13:10
-
浏览量:3119次2022-11-02 13:51:26
-
浏览量:1433次2023-11-27 14:02:37
-
浏览量:4213次2023-04-12 16:05:14
-
浏览量:1201次2024-01-24 18:28:37
-
浏览量:847次2024-02-23 17:34:00
-
浏览量:1167次2024-01-24 15:46:44
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者

miko
您的支持将鼓励我继续创作!
打赏金额:
¥1

¥5

¥10

¥50

¥100

支付方式:

举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注