![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
基于海思HI3518E方案进行视频编解码传输
文章平均质量分 90
基于海思sdk,通过rtsp协议,实现视频流传输功能
小嵌同学
这个作者很懒,什么都没留下…
展开
-
Modbus协议了解与简单使用
Modbus 是一种串行通信协议,用于工业自动化系统中的数据传输。它被广泛应用于监控和控制设备。Modbus 协议由 Modicon(现在是施耐德电气的一部分)在 1979 年开发,用于其 PLC(可编程逻辑控制器)中。它是一种开源协议,可以在不同类型的网络和设备中使用。它是用于在电子设备之间的串行线路上传输信息的方法。原创 2024-07-21 21:01:37 · 894 阅读 · 0 评论 -
基于syslog协议的Linux系统日志服务程序的了解与使用
syslog协议是一种标准化的方法,用于在网络设备间传输日志信息,允许各种设备如服务器、路由器、防火墙等,将日志消息发送至中央日志服务器,便于集中管理与分析。以下是syslog。原创 2024-07-14 22:57:28 · 986 阅读 · 0 评论 -
Linux:NTP校时、PTP校时
在进行网络协议通信时,我们有时候需要计算通信的延迟。一般的方式就是:A端获取本地时间信息并将其填充到网络数据包中进行发送,B端收到数据包后进行解析获取到A发来的时间,然后B获取本地时间进行运算,网络延迟 = B端本地时间 - A端本地时间。NTP(Network Time Protocol)是一种用于同步计算机时间的协议。它能够确保计算机时钟与全球统一的时间标准保持同步。NTP使用一组分层的时间服务器来提供准确的时间参考。顶层的时间服务器会从原子钟或其他高精度时间源获取时间,并将它们传播到更低层的服务器。原创 2024-01-12 00:59:20 · 3919 阅读 · 0 评论 -
音视频开发基础概念
一个图片的基本单位, pix是英语单词picture的简写,加上英语单词“元素element”,就得到了**“pixel”**,简称px,所以“像素”有“图像元素”之意。每个通道的位深越大,能够表示的颜色值就越大,比如现在高端电视说的10bit色彩,即是每个通道用10bit表示,每个通道有1024种颜色。原创 2022-11-10 00:24:23 · 1141 阅读 · 5 评论 -
基于HI3516/HI3518/HI3559内部ADC驱动实现
最近实际开发中需要实现海思SOC内部自带的一个ADC的驱动,但海思SDK中并未提供相应的软件驱动支持,故需要自己去实现,整体流程也比较简单,不过对于第一次接触海思开发的人来说有一点困难。原创 2022-10-16 16:53:10 · 1995 阅读 · 0 评论 -
海思项目总结
前言在之前的文章中,我们已经分别实现了:1、使用rtsp传输h.264视频流的功能(即局域网视频监控功能)2、基于yolov5这个开源项目进行目标检测,实现简单的垃圾分类功能一、功能融合 接下来我们要将这两个功能进行结合:yolov5这个开源项目提供了直接读取rtsp传输的视频流的功能(我们也可以使用python的opencv库的接口,读取视频流,将视频中的画面保存到指定路径,再yolov5去该路径下读取图片进行检测),进行实时检测RTSP协议进行视频取流的方法、注意点及python实现:h原创 2022-07-30 17:11:47 · 1794 阅读 · 1 评论 -
opencv介绍与简单使用
一、open介绍 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库――尽管也可以使用某些外部库。 OpenCV用C++语言编写,它原创 2022-03-08 22:22:53 · 10080 阅读 · 0 评论 -
基于YOLOv5开源项目实现垃圾分类功能(2)
目录前言一、基本概念1、什么是权重文件?2、GPU与CPU的区别3、深度学习框架4、PyTorch二、下载和安装nvidia显卡驱动三、训练自己的模型并分析前言 在上篇文章中,我们已经了解并学会如何使用yolov5这个开源项目,在这篇文章中,我们将会进行模型训练,使用自己训练出的权重文件实现我们的垃圾分类功能。一、基本概念1、什么是权重文件? 权重文件保存的就是训练好的网络各层的权值,也就是通过训练集训练出来的。训练好之后,应用时只要加载权值就可以,不再需要训练集了.2、GPU与CPU的区别原创 2022-03-07 17:39:19 · 8174 阅读 · 9 评论 -
基于YOLOv5开源项目实现垃圾分类功能(1)
目录一、垃圾分类目标检测数据集---Pascal Voc数据集二、对数据集进行分析三、开发环境搭建一、垃圾分类目标检测数据集—Pascal Voc数据集参考学习(必看):https://blog.csdn.net/u013832707/article/details/80060327假设一张图片的宽为1000,高为654:标记方式一:bbx的左上角坐标,右下角坐标标记方式二:bbx的中心点坐标以及该点到矩形框底边和侧边的距离可以用python代码实现两种标记格式的转换:def conve原创 2022-03-05 23:28:26 · 9101 阅读 · 10 评论 -
YOLO算法之YOLOv5
目录一、什么是YOLOv5?一、什么是YOLOv5?参考学习:了解YOLO: https://baijiahao.baidu.com/s?id=1664853943386329436&wfr=spider&for=pc https://zhuanlan.zhihu.com/p/25236464了解目标检测(推荐):https://www.bilibili.com/video/BV1m5411A7FD “YOLO”是一个对象检测算法的名字,YOLO将对象检测重新定义为原创 2022-02-28 21:52:41 · 85869 阅读 · 1 评论 -
目标检测算法之YOLO
目录原创 2022-02-27 21:05:38 · 2755 阅读 · 1 评论 -
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN
目录一、SPP-net算法1、R-CNN的缺陷在于每个候选区域都进行了卷积运算2、SPP-net算法相比于R-CNN,主要进行了两点改进,提出了SPP层3、映射4、SPP层:将特征图转换成固定大小的特征向量5、总结二、Fast R-CNN算法1、相较于R-CNN算法改进的地方2、Rol pooling3、多任务损失4、SPP-net, Fast R-CNN, Faster R-CNN三种算法对比三、Faster R-CNN算法1、改进之处2、RPN原理3、Faster R-CNN的训练组成4、总结一、SP原创 2022-02-25 23:52:23 · 660 阅读 · 0 评论 -
计算机视觉之目标检测
在之前的文章中,我们已经实现了局域网视频流传输功能,朱老师的海思9季课程也结束了,一开始说的剩下的两季内容朱老师不做了,准备放到后边其他系列课程,所以暂时我也无法学习。不过我准备自己完成一些功能,接下来的工作就是:如何充分利用视频流中的图像实现更多的功能,我个人的打算是使用视频流中的图像进行垃圾分类检测。原创 2022-02-25 15:01:57 · 3403 阅读 · 0 评论 -
海思平台ISP与图像的IQ调试(2)
目录一、IQ调试相关的概念1、黑电平2、镜头阴影矫正3、坏点矫正4、自动曝光5、DRC与WDR6、噪声抑制7、颜色插值8、自动白平衡9、颜色矫正10、伽马矫正11、自动增益控制12、颜色空间转换13、色度矫正14、图像锐化15、感知色16、图像增强二、PQTool工具的安装和使用1、PQTool的2部分介绍2、准备工作3、PQTool使用4、分析gamma和sharpen的源码三、模拟图像参数调整试验1、gamma参数试验一、IQ调试相关的概念1、黑电平(1)暗电流物理器件不可能是理想的, 由于杂质原创 2022-02-23 16:09:02 · 6020 阅读 · 13 评论 -
海思平台ISP与图像的IQ调试(1)
目录一、何为ISP何为IQ调试1、ISP概念剖析一、何为ISP何为IQ调试1、ISP概念剖析(1)ISP: image signal process,图像信号处理image signal processor 图像信号处理器(2)思考:什么是图像信号?(3)为什么需要处理?器件或环境不理想导致图像不理想,譬如过曝光、不通透、坏点(4)如何处理?使用针对性算法对原始图像数据做运算处理(5)ISP的本质:用采集后的数字图像的运算处理修补前端的不理想,尽量提升图像质量(6)ISP处理器:核心是数字原创 2022-02-19 15:59:19 · 8270 阅读 · 5 评论 -
海思平台OSD的实现(2)
目录一、字库字符实现OSD1、代码框架分析2、原理讲解二、字库字符实现OSD源码解析一、字库字符实现OSD1、代码框架分析2、原理讲解HH_OSD_Init 初始化这一套 HH_OSD_SetOsdPosDefault HH_OSD_GetOrg HH_OSD_GetColor HH_OSD_GetTitle HI_Create_Osd HI_OSD_Build HI_OSD_Parse_OsdTitle HI_OSD_Get_BmpSize HI_Create_原创 2022-02-16 15:08:57 · 8271 阅读 · 4 评论 -
海思平台OSD的实现(1)
目录一、海思平台OSD理论学习1、OSD概述2、海思OSD的4种类型3、4种OSD类型各自支持的模块和功能4、海思OSD的几个重要概念5、海思平台OSD使用方法6、海思平台OSD的API和关键数据结构二、OSD实验演示和代码框架分析1、OSD实验演示2、OSD代码框架分析三、OSD代码实现分析一、海思平台OSD理论学习1、OSD概述2、海思OSD的4种类型3、4种OSD类型各自支持的模块和功能4、海思OSD的几个重要概念(1)区域层次(2)位图填充(3)区域公共属性(4)通道显示属性(5原创 2022-02-15 00:01:50 · 7408 阅读 · 11 评论 -
视频打包为MP4格式并存储到TF卡的实现
目录一、MP4文件格式解析1、视频文件总体介绍2、MP4格式总体介绍3、MP4学习路线4、正式开始MP4的组织形式的学习二、MP4Info工具使用三、mp4v2移植和播放实战1、下载mp4v22、配置并编译3、部署4、编译sample6、准备TF卡7、运行和测试四、MP4打包源码解析五、mp4v2结合MP4Info学习分析1、思路2、实践1:去掉sps3、实践2:去掉pps六、添加网络telnet调试1、为什么添加telnet调试2、telnet调试的原理3、在HI3518E开发板上telnet远程登录调试原创 2022-02-12 23:05:49 · 3600 阅读 · 2 评论 -
RTSP协议详解与实时流视频预览(3)
目录一、rtsp传输源码分析1、准备工作2、开始分析二、rtsp传输实战分析三、直接发送与环状buffer发送四、rtsp分包发送h264的源码分析一、rtsp传输源码分析1、准备工作(1)获取源码链接:https://pan.baidu.com/s/1nS2EWkQeq5OYNaThGQZDZg 提取码:vhbx --来自百度网盘超级会员V5的分享(2)使用sourceinsight软件建立工程,进行分析2、开始分析(1)从venc/sample_venc.c中的main主函数文件原创 2022-02-09 21:50:55 · 3467 阅读 · 1 评论 -
RTSP协议详解与实时流视频预览(2)
目录前言一、网络传输基本知识1、OSI七层模型2、TCP/IP四层模型3、总结二、RTSP协议详解前言 经过上篇文章的学习,我们已经了解了H.264标准的基本组成与原理,知道了发送的数据的格式与组成,即NALU。但是数据的发送要通过RTSP协议进行发送,所以我们这篇文章再来学习一下RTSP协议。一、网络传输基本知识1、OSI七层模型应用层: 为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登陆(虚拟终端等协议)。表示层: 将应用处理的信息转换为合适网络传原创 2021-12-16 21:37:28 · 3721 阅读 · 0 评论 -
RTSP协议详解与实时流视频预览(1)
目录一、本季核心技术点二、H264编码原理和基本概念1、h.264编码原理2、h.264编码相关的一些概念三、H264的NAL单元详解1、VCL和NAL的关系2、H.264视频流分析工具3、h264视频流总体分析4、相关概念一、本季核心技术点(1)rtsp视频传输实验1、调试ok的源码将其放在mpp目录下,便于调用该目录下lib中的库等等链接:https://pan.baidu.com/s/1QlS7OyMaf6wbz8KZHAbJEQ 提取码:jmld --来自百度网盘超级会员V5的分享原创 2021-12-14 22:04:16 · 3459 阅读 · 1 评论 -
海思平台上USB WIFI的移植与局域网无线调试和视频流预览(2)
四、USB WIFI做sta模式的驱动移植和部署1、源码修改(1)用sta版本的driver,可以简单看一下区别(2)修改makefile,参考AP模式下的修改点修改(3)config.mk中修改,参考AP模式下的修改点修改(4)修改网卡名称为wlan(5)make clean && make2、部署驱动(1)部署/etc/Wireless/RT2870STA/RT2870STA.dat(2)部署ko五、移植wpa_supplicant1、源码下载(1)wpa_sup原创 2021-12-08 22:00:37 · 1066 阅读 · 0 评论 -
海思平台上USB WIFI的移植与局域网无线调试和视频流预览(1)
目录一、海思平台上USB WIFI移植概述1、移植WIFI背景2、移植的起点3、本季文章安排二、AP模式USB WIFI驱动移植1、源码2、修改移植三、AP模式USB WIFI传输视频实战1、部署USB WIFI驱动使之工作为AP2、测试用例准备3、测试实验四、USB WIFI做sta模式的驱动移植和部署1、源码修改2、部署驱动五、移植wpa_supplicant1、源码下载2、移植openssl3、移植wpa_supplicant六、USB WIFI做sta模式的ORTP视频传输实验1、部署wpa_sup原创 2021-12-08 15:49:25 · 2396 阅读 · 2 评论 -
图像sensor的特性和驱动解析(2)
目录一、sensor驱动源码解析11、sensor驱动源码寻找2、sensor驱动的框架3、xxxx_cmos.c中实现和注册回调4、xxxx_sensor_ctl.c中配置sensor寄存器二、ISP_3A框架解读三、sensor驱动编译实战1、sensor的注册接口分析2、黑电平3、sensor驱动编译实战四、sensor驱动的寄存器操作1、sensor的寄存器设置2、实战任务:修改sensor的flip和mirror寄存器查看效果五、sensor驱动部分贯通总结1、体系思想2、海思方案的sensor驱原创 2021-12-06 21:27:29 · 2314 阅读 · 4 评论 -
图像sensor的特性和驱动解析(1)
目录一、本季文章主要内容和安排1、本课程主要内容2、查看SDK的2个相关文档二、更换OV9712并且做配置更改和测试1、更改配置脚本2、运行rtsp传输的测试版本3、运行官方SDK sample的测试版本4、运行ORTP传输的测试版本5、更换sensor的总结三、MIPI和LVDS和并口的细节讲解1、并口Sensor2、LVDS3、MIPI(MIPI-CSI2)4、总结四、HI3518E的Sensor接口引脚复用设置1、查看引脚定义框图2、找到相应设置寄存器3、himm工具一、本季文章主要内容和安排1、原创 2021-12-04 22:00:38 · 4375 阅读 · 0 评论 -
ORTP库局域网图传和VLC实时预览(2)
目录一、ORTP库的源码分析1、ORTP库概览2、ORTP库的使用案例3、rtp的session4、ORTP的一些小细节二、RTP发送实验源码分析(使用sourceinsight软件)1、了解H264的基本组成与工作原理2、发送函数的重点讲解3、可能的拓展方向三、VLC的sdp文件解析和本季总结1、SDP文件格式2、第三季总结一、ORTP库的源码分析1、ORTP库概览(1)库本身没有main,提供一堆功能函数,都在src目录下(2)库的使用给了案例,有main,在src/tests目录下(3)相关原创 2021-12-03 17:26:30 · 666 阅读 · 0 评论 -
ORTP库局域网图传和VLC实时预览(1)
目录一、ORTP的引入1、对之前两季文章内容的回顾2、视频网络传输的2种方式3、ORTP的介绍二、ORTP库的移植1、准备源码2、源码修改3、配置和编译、安装4、到/tmp/ortp目录下查看移植好的库和头文件三、RTP传输视频实战1、在官方SDK的sample中添加rtp传输代码2、重新编译sample3、开发板中部署并运行测试四、ORTP库的源码分析1、ORTP库概览2、ORTP库的使用案例3、rtp的session4、ORTP的一些小细节原创 2021-12-03 10:50:53 · 1112 阅读 · 4 评论 -
从官方例程深度学习海思SDK及API(4)
目录一、图像编码压缩基本原理二、MPP手册中图像编码部分解读三、sample中venc模块源码解读四、编码后的流文件输出和专栏总结一、图像编码压缩基本原理由于网上已有大量优秀的文章讲了这个,这里我就不写了,内容重复无意义!参考:http://blog.csdn.net/newchenxf/article/details/51693753压缩和解压缩就是数学运算的过程二、MPP手册中图像编码部分解读参考:http://blog.csdn.net/u013354805/article/details原创 2021-11-30 21:24:25 · 1340 阅读 · 0 评论 -
从官方例程深度学习海思SDK及API(3)
一、VI部分详解11、学习方法:绘制调用关系图谱(1)简单浏览VI部分的调用层次,发现很复杂(2)有些函数是sample写的,有些是调用MPP的,数据结构也是2种都有(3)学习重点1:全局把控熟悉整个过程全景视图(4)学习重点2:掌握细节数据结构元素含义,和遇到的概念(5)学习重点3:知道某些关键操作在哪里定义,哪里设置,将来需要改的时候能找到地方2、绘制VI部分调用关系3、其他比较重要的东西(1)常用Sensor的接口有三种:MIPI、LVDS、DC(2)WDR宽动态(3)isp就是原创 2021-11-29 21:09:21 · 2036 阅读 · 0 评论 -
从官方例程深度学习海思SDK及API(2)
目录一、海思MPP功能模块和视频缓存池1、MPP功能模块2、sample中SAMPLE_VENC_1080P_CLASSIC函数开始看二、视频缓存池1、什么是视频缓冲池2、相关的数据结构和API三、程序流程分析和MPP初始化详解1、整个main流程分析2、MPP系统初始化详解3、几个比较重要的宏四、VI部分详解11、学习方法:绘制调用关系图谱2、绘制VI部分调用关系3、其他比较重要的东西一、海思MPP功能模块和视频缓存池1、MPP功能模块(1)找到MPP手册(2)详见系统概述1.3部分2、samp原创 2021-11-26 21:49:15 · 1532 阅读 · 0 评论 -
从官方例程深度学习海思SDK及API(1)
目录一、官方mppsample的总体分析1、sample的整体架构2、sample代码学习的关键3、sample_venc的大体分析二、图像像素格式深度理解1、颜色的学问2、rawRGB和图像采集过程三、RGB和YUV详解1、RGB方式表示颜色2、YUV一、官方mppsample的总体分析1、sample的整体架构(1)sample其实是很多个例程,所以有很多个main(2)每一个例程面向一个典型应用,common是通用性主体函数,我们只分析venc(3)基本的架构是:venc中的main调用ve原创 2021-11-24 20:35:12 · 3518 阅读 · 0 评论 -
全面认识海思SDK及嵌入式层开发(4)
目录一、mpp的部署研究和实战2、开发板启动自动挂载主机3、部署ko文件4、部署lib文件二、sample的编译和测试1、sample的编译2、sample的部署和测试3、镜像重新制作4、最后的总结一、mpp的部署研究和实战1、mpp的文件结构详解(1)ko(2)lib(3)sample(4)其他几个2、开发板启动自动挂载主机(1)在profile中添加设置网卡IP地址(2)在profile中添加自动挂载主机nfs服务器mount -t nfs -o nolock 192.168.1.1原创 2021-11-22 22:31:18 · 3437 阅读 · 0 评论 -
全面认识海思SDK及嵌入式层开发(3)
目录一、编译osdrv1、编译策略和方法研究2、编译uboot3、编译kernel二、编译rootfs1、缺zlib错误2、报错3、在32位ubuntu中编译时的一个错误4、手工单独制作rootfs5、编译最终完成的标准三、uboot的烧写和flash分区1、裸机烧录uboot2、flash分区3、uboot的环境变量参数4、各种常见flash的简单讲解四、kernel和rootfs烧录与启动系统1、烧录kernel2、烧录rootfs3、uboot的各环境变量介绍和设置一、编译osdrv1、编译策略和原创 2021-11-22 17:50:52 · 3289 阅读 · 1 评论 -
嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)
目录一、安装VMware1、VMware介绍2、安装VMware16.0.0二、安装ubuntu16.04.3 LTS1、Ubuntu介绍2、下载安装包iso3、安装四、新安装Ubuntu的基本设置五、ubuntu的root用户六、安装vim一、安装VMware1、VMware介绍(1)虚拟机软件原理介绍 工作在主机上的一个软件,其借助电脑本身的硬件,运行后可以虚拟出来一台电脑,可以虚拟出Linux,windows,macos等多种操作系统的电脑。(2)常用虚拟机软件:VMware(收费的,而且原创 2021-11-20 20:29:59 · 1627 阅读 · 0 评论 -
全面认识海思SDK及嵌入式层开发(2)
目录一、海思SDK的整体介绍二、海思SDK包的学习和实验1、2篇相关文档2、SDK包复制到linux原生目录中并解压3、SDK包操作的脚本程序研究4、SDK的清理和解压脚本浏览5、SDK中源码包部分的配置编译分解三、在ubuntu16.0403X64上安装海思交叉编译工具链1、问题:工具链是32位的2、给ubuntu16.0403X64安装32位兼容包3、再次测试整体编译osdrv4、使用install脚本安装交叉编译工具链一、海思SDK的整体介绍二、海思SDK包的学习和实验1、2篇相关文档2、SD原创 2021-11-17 22:31:20 · 4005 阅读 · 6 评论 -
全面认识海思SDK及嵌入式层开发(1)
目录一、全面认识和检测配套开发套装1、套装配件介绍2、检测开发板3、注意二、视频设备开发的技术流1、视频从产生到被消费的整个流程2、视频行业的商业角度分段3、几个疑问点一、全面认识和检测配套开发套装购买方式:淘宝搜索->朱有鹏老师个人店1、套装配件介绍(1)主板(2)默认安装SENSOR组合:AR0130(3)备用SENSOR组合2:OV9712(4) 隔离式 USB转串口小板+杜邦线 开发板出现问题不会影响电脑,反之电脑出现问题也不会影响开发板。如开发板串口这边出现过高电压或者原创 2021-11-16 17:36:09 · 13222 阅读 · 6 评论 -
视频编解码行业及发展方向简述
这里写目录标题一、视频行业1、视频是一个方兴未艾的大产业2、视频行业潜在商机大、人才缺口大3、了解华为海思的HI3518E方案二、海思方案项目用到的硬件平台介绍1、本专栏文章使用的开发板配置2、处理器为什么选HI3518E三 、本专栏文章规划和核心技术介绍一、视频行业1、视频是一个方兴未艾的大产业(1)人类社会信息产品发展趋势:物理文本->电子文本->图片->音视频(2)音视频行业方兴未艾:优酷&爱奇艺等、美拍&各种小视频、视频监控、人脸识别&自动驾驶(3原创 2021-11-15 21:26:04 · 7089 阅读 · 2 评论