当前位置: 首页 > article >正文

海思Linux-DEMO(1)-sample_venc(h265,h264)视频流文件的获取

目 录

前  言

一、BSP编译

二、mmp驱动的构建

2.1 进入进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out/obj目录

2.2 使用指令将mpp驱动编进内核

三、uBuntu配置nfs环境

3.1 创建nfs_rootfs共享文件目录

3.2 如果没有安装,则需要安装nfs,如果已经安装,并且开启了nfs服务,则可以跳到四

3.3 更改 /etc/exports 文件

3.4 通过命令重新加载,应用共享

3.5 确保nfs服务已启动并正常运行

3.6 查看当前已导出的共享

 四 开发板重新烧录

五 开发板挂载nfs文件目录

5.1.登陆开发板

5.2 配置网络ip

5.3 挂载共享文件目录

六、 运行ko

6.1 进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out目录

6.2 开发板进入ko/load3516cv610目录

七、加载运行原厂自带demo-sample_venc

7.1 复制sample_venc可执行文件到共享文件目录

7.2 执行sample_venc目录

八、总结


前  言


芯片选型:HI3516CV610 - 20s

选择的开发板是:酷电科技馆的Hi3516CV610-MINI开发板

上一篇文章:无

下一篇文章:无

说明:该系列文章为学习文章,为参考网上各路大神的开源文章,但是个人天资愚笨,踩了无数坑,然后制作了这些步骤,如有侵权,请联系本人删除。

一、BSP编译

【ubuntu操作】

进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/bsp目录,进行bsp的编译


cd Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/bsp
sudo make LIB_TYPE=musl CHIP=hi3516cv610 DEBUG=1 all

等待编译完成

二、mmp驱动的构建

【ubuntu操作】

2.1 进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out/obj目录

使用下面的指令构建mmp驱动

sudo make -j4

等待编译结束

2.2 使用指令将mpp驱动编进内核

sudo make BUILD_DRIVER_TO_KERNEL=y -j4

三、uBuntu配置nfs环境

【uBuntu操作】

3.1 创建nfs_rootfs共享文件目录

使用下面的指令

mkdir nfs_rootfs

3.2 如果没有安装,则需要安装nfs,如果已经安装,并且开启了nfs服务,则可以跳到四

使用下面的指令去安装

sudo apt install nfs-kernel-server nfs-common
sudo systemctl restart nfs-kernel-server

3.3 更改 /etc/exports 文件

(示例,如果没有nfs_rootfs目录则需要先去创建这个目录)

vi /etc/exports

在最后一行添加下面代码 (示例):

/home/spmwgj/nfs_rootfs *(rw,sync,no_subtree_check,no_root_squash)

3.4 通过命令重新加载,应用共享

sudo exportfs -ra

3.5 确保nfs服务已启动并正常运行

sudo systemctl start nfs-server

3.6 查看当前已导出的共享

sudo exportfs -v

 四 开发板重新烧录


【ubuntu操作】
下载目录到window系统
Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/bsp/pub/hi3516cv610_image_debug_musl
然后参考博文:

五 开发板挂载nfs文件目录


【开发板操作】


5.1.登陆开发板


开发板接线示意

使用 MobaXterm工具,从串口连接

5.2 配置网络ip


使用下面的指令(示例)

ifconfig eth0 hw ether ee:ef:00:11:22:33
ifconfig eth0 192.168.2.112 netmask 255.255.255.0
route add default gw 192.168.2.1

使用ifconfig,和ping ubuntu网络进行测试

5.3 挂载共享文件目录

使用下面的指令(示例):

mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 192.168.2.218:/home/spmwgj/nfs_rootfs /mnt

在ubuntu的nfs_rootfs目录下创建文件,在开发板的/mnt目录下进行查询,如果能成功看到,说明可行

六、 运行ko

【ubuntu操作】


6.1 进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out目录


使用下面示例指令(自行更改自己的用户名)复制到共享文件夹

sudo cp -r ko /home/spmwgj/nfs_rootfs/

【开发板操作】

6.2 开发板进入ko/load3516cv610目录


使用下面的指令加载ko

./load3516cv610_20s_debug -a

运行成功示意:

七、加载运行原厂自带demo-sample_venc

【ubuntu操作】

7.1 复制sample_venc可执行文件到共享文件目录


执行指令

cd Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/mpp/sample/venc
sudo sudo cp sample_venc /home/spmwgj/nfs_rootfs/

【开发板操作】

7.2 执行sample_venc目录

进入mnt目录

执行下面的指令:

./sample_venc 0

输入0

再输入c,然后等待一段时间,再按下两次回车,这个等待时间即视频录制时间

最后,查询当前文件夹,会输出两个流文件

八、总结

该例程输出了两个流文件

该例程还能进行别的操作。


http://www.kler.cn/a/472839.html

相关文章:

  • IvorySQL 升级指南:从 3.x 到 4.0 的平滑过渡
  • 使用Registry explore实现法医检查练习
  • Mysql - 多表连接和连接类型
  • ASP.NET Core 实现微服务 - Elastic APM
  • docker学习记录:创建mongodb副本集
  • 鸿蒙APP之从开发到发布的一点心得
  • TRAVEO™ T2G的SWAP功能
  • 服务器及MySQL安全设置指南
  • 使用Postman进行Base64解码
  • 使用 Rust 实现零拷贝数据处理:性能优化的极致探索
  • 如何监听Vuex数据的变化?
  • 第四届智能系统、通信与计算机网络国际学术会议(ISCCN 2025)
  • 虚拟机配置静态ip后出现两个ip问题
  • 单片机毕业设计项目分享(4)
  • 实验四 数组和函数
  • Mysql--基础篇--事务(ACID特征及实现原理,事务管理模式,隔离级别,并发问题,锁机制,行级锁,表级锁,意向锁,共享锁,排他锁,死锁,MVCC)
  • 深入学习RabbitMQ的Direct Exchange(直连交换机)
  • 常见的http状态码 + ResponseEntity
  • 设计模式 结构型 桥接模式(Bridge Pattern)与 常见技术框架应用 解析
  • 【centos8 ES】Elasticsearch linux 龙晰8操作系统安装
  • Flink分区方式有哪些
  • Unity:删除注册表内的项目记录
  • 05、Docker学习,常用安装:Mysql、Redis、Nginx、Nacos
  • springboot点餐平台网站
  • 小程序学习08—— 系统参数获取和navBar组件样式动态设置
  • 58. Three.js案例-创建一个带有红蓝配置的半球光源的场景