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

目 录

[前 言](#前 言)

一、BSP编译

二、mmp驱动的构建

[2.1 进入进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out/obj目录](#2.1 进入进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out/obj目录)

[2.2 使用指令将mpp驱动编进内核](#2.2 使用指令将mpp驱动编进内核)

三、uBuntu配置nfs环境

[3.1 创建nfs_rootfs共享文件目录](#3.1 创建nfs_rootfs共享文件目录)

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

[3.3 更改 /etc/exports 文件](#3.3 更改 /etc/exports 文件)

[3.4 通过命令重新加载,应用共享](#3.4 通过命令重新加载,应用共享)

[3.5 确保nfs服务已启动并正常运行](#3.5 确保nfs服务已启动并正常运行)

[3.6 查看当前已导出的共享](#3.6 查看当前已导出的共享)

[四 开发板重新烧录](#四 开发板重新烧录)

[五 开发板挂载nfs文件目录](#五 开发板挂载nfs文件目录)

5.1.登陆开发板

[5.2 配置网络ip](#5.2 配置网络ip)

[5.3 挂载共享文件目录](#5.3 挂载共享文件目录)

[六、 运行ko](#六、 运行ko)

[6.1 进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out目录](#6.1 进入Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/out目录)

[6.2 开发板进入ko/load3516cv610目录](#6.2 开发板进入ko/load3516cv610目录)

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

[7.1 复制sample_venc可执行文件到共享文件目录](#7.1 复制sample_venc可执行文件到共享文件目录)

[7.2 执行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,然后等待一段时间,再按下两次回车,这个等待时间即视频录制时间

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

八、总结

该例程输出了两个流文件

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

相关推荐
磊灬泽5 小时前
【日常错误】鼠标无反应
linux·windows
知识分享小能手6 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
茯苓gao8 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾9 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT9 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
aaaweiaaaaaa9 小时前
HTML和CSS学习
前端·css·学习·html
Miracle&9 小时前
2.TCP深度解析:握手、挥手、状态机、流量与拥塞控制
linux·网络·tcp/ip
专注API从业者10 小时前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
Ribou10 小时前
Ubuntu 24.04.2安装k8s 1.33.4 配置cilium
linux·ubuntu·kubernetes
看海天一色听风起雨落10 小时前
Python学习之装饰器
开发语言·python·学习