Hi3519AV100通过ORTP库实现局域网图传和VLC实时预览

前言

环境介绍:

1.编译环境

Ubuntu 18.04.5 LTS

2.SDK

Hi3519AV100_SDK_V2.0.1.0

3.单板

Hi3519AV100开发板
IMX347 2688x1520(4M)@30fps


ORTP库移植

ortp库移植网上有很多关于hi3518e的参考,这里不多介绍,可以参考这位大佬的。ORTP库局域网图传和VLC实时预览
这里重点讲解一下不同之处。

1.Makefile,添加libortp的链接支持

修改的是这个文件
mpp/sample/smp_linux.mak
添加
-lortp
-L/tmp/ortp/lib

$(TARGET):$(COMM_OBJ) $(OBJS)
	#@$(CC) $(CFLAGS) -lpthread -lm -o $(TARGET_PATH)/$@ $^ -Wl,--start-group $(MPI_LIBS) $(SENSOR_LIBS) $(AUDIO_LIBA) $(REL_LIB)/libsecurec.a -Wl,--end-group
	@$(CC) $(CFLAGS) -lpthread -lm -lortp -o $(TARGET_PATH)/$@ $^ -Wl,--start-group $(MPI_LIBS) $(SENSOR_LIBS) $(AUDIO_LIBA) $(REL_LIB)/libsecurec.a -Wl,--end-group -L/tmp/ortp/lib

2.ortp init LOCAL_HOST_IP

注意此IP指的是主机的IP,并且与主机上VLC的sdp配置文件c=IN IP4一致。

#define LOCAL_HOST_IP  "192.168.1.16"
m=video 8080 RTP/AVP 96
a=rtpmap:96 H264
a=framerate:25
c=IN IP4 192.168.1.16

3.配置和编译、安装

进行配置安装的时候提示无权限,使用sudo编译、安装成功,但在venc make时提示file not recognized: File format not recognized。通过file libortp.so.9.0.0查看发现文件为ELF 64-bit LSB relocatable, x86-64,并非我们需要的arm。主要是使用sudo进行编译时会切换到root账户,环境变量也会跟着切换,而我root的环境变量并没有设置交叉编译路径,导致找不到需要的gcc,此时会切换到Ubuntu本身的x86-64 gcc上编译。
此时需要删除原先编译的内容

sudo make clean
sudo make uninstall

通过sudo -s切换到root账户,但不改变环境变量的方式解决;

sudo -s
./autogen.sh
./configure --prefix=/tmp/ortp --host=arm-himix200-linux
make && make install

sudo su 和 sudo -s都是切换到root用户,不同的是:

sudo su 环境用的是目标用户(root)的环境

sudo -s 环境用的是当前用户本身的环境

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值