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

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

八、总结

该例程输出了两个流文件

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

相关推荐
炽烈小老头9 小时前
【每天学习一点算法 2026/05/25】矩阵中的最长递增路径
学习·算法·矩阵
张小姐的猫9 小时前
【Linux】多线程 —— 线程同步 | 生产者消费者模型 | POSIX 信号量
linux·运维·服务器
wuxinyan1239 小时前
工业级大模型学习之路021:LangChain零基础入门教程(第四篇):文档加载与文本分块技术
人工智能·python·学习·langchain
Qres8219 小时前
Git基础命令学习笔记
笔记·git·学习
奔跑的Ma~10 小时前
Azure OpenAI Codex 详细配置与使用教程(国内用户专属)
学习·microsoft·flask·ai编程·azure
Harm灬小海11 小时前
【云计算学习之路】学习Centos7系统-Linux下用户及组管理
linux·运维·服务器·学习·云计算
扛枪的书生11 小时前
HAProxy 学习总结
linux
herinspace11 小时前
管家婆辉煌主机登录提示“连接失败,请确认输入正确的服务器名”
运维·服务器·学习·零售·管家婆软件·财务软件
日取其半万世不竭11 小时前
Linux 云服务器磁盘扩容:从分区到文件系统的完整流程
java·linux·服务器
byxdaz11 小时前
Linux 系统中常用的日志查看命令
linux·运维