hi3518e移植live555实现点播

1.说明

本文章记录在hi3518e上移植live555,以实现将之前生成的h264裸流文件的点播操作

2.Live555移植

2.1.源码获取

官方链接:http://www.live555.com/liveMedia/public/

wget http://www.live555.com/liveMedia/public/live.2019.06.28.tar.gz

tar -zxvf live.2019.06.28.tar.gz

2.2.修改配置文件

修改配置文件(config.armlinux),修改项主要有两个,

  1. 交叉编译工具链路径修改:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-
  2. 增加一个宏: -DLOCALE_NOT_USED
CROSS_COMPILE?=         /opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-
COMPILE_OPTS =          $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLOCALE_NOT_USED

2.2.1.LOCALE_NOT_USED宏说明

由于在开发板上使用的uclibc交叉编译工具链编译,工具链中缺少xlocale.h这个头文件,而live555中liveMeida/locale.hh中调用
该头文件,编译时会导致如下错误:

arm-openwrt-linux-uclibcgnueabi-g++.bin: warning: environment variable 'STAGING_DIR' not defined
In file included from MPEG4GenericRTPSink.cpp:22:0:
include/Locale.hh:67:3: error: 'locale_t' does not name a type
   locale_t fLocale, fPrevLocale;
   ^
Makefile:33: recipe for target 'MPEG4GenericRTPSink.o' failed
make[1]: *** [MPEG4GenericRTPSink.o] Error 1
make[1]: Leaving directory '/home/chengqy/workspace/live555/live/liveMedia'
Makefile:34: recipe for target 'all' failed
make: *** [all] Error 2

通过添加宏:LOCALE_NOT_USED,可以关闭locale这个模块,防止编译报错

2.3.编译

2.3.1.生成Makefile

./genMakefiles armlinux

2.3.2.编译

make

2.4.测试

2.4.1.设备端运行

将生成测试程序:live/mediaServer/live555MediaServer 拷贝到设备上,然后运行,运行结果如下所示:
在这里插入图片描述

需要注意的是,测试程序通过文件的后缀名来识别格式

2.4.2.Vlc配置

在vlc中使用打开网络串流的方式,url格式为:rtsp://开发板IP/视屏文件名称
在这里插入图片描述
配置完成后,点击播放,可以在vlc中看到之前录取的视频文件
在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值