
海思芯片学习
华为海思芯片开发学习
QtHalcon
大学一直做嵌入式和音视频方向的开发,熟悉Linux,毕业转到了CV方向,现在在深圳从事计算机视觉的工作。
展开
-
海思HI3518E启动配置
1 烧录系统,uboot,根文件系统2 测试USB转串口、网线、电源线,确保三个都可以工作3 虚拟机网络配置为192.168.1.1414 把可执行程序放到挂载的根文件系统中5 确保虚拟机和开发板可以正常通信6 执行你的可执行程序7 通过VLC软件显示摄像头采集的信息打开网络串流下面两个根据需要设置可能出现的错误:1 开发板不能和虚拟机通信只要按...原创 2019-02-23 16:14:14 · 1842 阅读 · 0 评论 -
oRTP库分析
一:关于 oRTPoRTP 是一款开源软件,实现了 RTP 与 RTCP 协议。目前使用 oRTP 库的软件主要是 linphone(一款基于 IP 进行视频和语音通话的软件)。oRTP 作为 linphone 的 RTP 库,为基于 RTP 协议传输语音和视频数据提供保障。二:源代码的构建框架类似于 mediastream2 中的 filter,在 RTP 中也有比较重要的一...原创 2019-03-09 21:09:21 · 2223 阅读 · 0 评论 -
RTP有效负载(载荷)类型 (RTP Payload Type)
下图为RTP部格式:*****************************************************1) V:RTP协议的版本号,占2位,当前协议版本号为22) P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。3) X:扩展标志,占1位,如果X=1,则在R...原创 2019-03-10 08:52:29 · 13415 阅读 · 0 评论 -
DVP,LVDS和MIPI
Mipi 接口 和 LVDS 接口区别主要区别:1. LVDS接口只用于传输视频数据,MIPI DSI不仅能够传输视频数据,还能传输控制指令;2. LVDS接口主要是将RGB TTL信号按照SPWG/JEIDA格式转换成LVDS信号进行传输,MIPI DSI接口则按照特定的握手顺序和指令规则传输屏幕控制所需的视频数据和控制数据。液晶屏有RGB TTL、LVDS、MIPI DSI接口...原创 2019-03-14 17:00:58 · 45325 阅读 · 0 评论 -
11 海思Hi3518E移植WIFI驱动(AP模式)
1 修改USB WIFI驱动mt7601u驱动源码下载:https://www.mediatek.com/products/broadbandWifi/mt7610u也可以到我的网盘下载:链接:https://pan.baidu.com/s/1GRyqlmyxpgj7zLfvlVQKsQ提取码:gqr0(1)include/rtmp_def.h中1627行左右,修改网络名始终...原创 2019-03-19 16:08:48 · 9428 阅读 · 5 评论 -
12 海思Hi3518E移植WIFI驱动(STA模式)
1 移植驱动源码下载:链接:https://pan.baidu.com/s/1EXGMkPs8-GxsdyK0735Sqw提取码:bx5c(1)include/rtmp_def.h中1627行左右,修改网络名始终为:wlan(2)修改Makefile原来默认的平台是PC,然后添加平台添加Linux内核源码路径,编译工具链,CPUifeq ($(PLATF...原创 2019-03-19 20:25:34 · 6564 阅读 · 1 评论 -
13 海思Hi3518E纯WIFI无线调试环境的搭建
有时候我们的开发板没有网线,只能通过WIFI进行调试和下载文件,这就需要搭建纯WIFI环境。1 原理(1)ubuntu和Windows桥接,这样ubuntu、windows、开发板三者都做sta,连同一个AP(2)开发板事先移植部署好USB WIFI驱动、wpa_supplicant等(3)开发板/etc/profile中设计好配置WIFI启动、连接AP、静态IP 或者 动态DHCP...原创 2019-03-20 10:53:09 · 2093 阅读 · 0 评论 -
10 修改和部署sensor驱动
1.1、sensor的注册接口分析sensor的主要配置和注册回调函数,是在sensor_register_callback()中。1.2、黑电平黑电平(black level)指在经过一定校准的显示装置上,没有一行光亮输出的视频信号电平。定义图像数据为0时对应的信号电平,调节黑电平不影响信号的放大倍数,而仅仅是对信号进行上下平移。如果向上调节黑电平,图像将变暗,如果向下调节黑电平图像将变...原创 2019-03-16 09:53:51 · 1127 阅读 · 0 评论 -
9 海思Hi3518E的sensor移植
1、配置脚本 load3518e 配置了调用哪一个sensor在/etc/profile中更改下面的代码cd /ko./load3518e -i -sensor av9712 -osmem 32 -total 64cd -2、运行rtsp传输的测试版本3、运行官方SDK sample的测试版本更改aa@ubuntu:~/sambashare/Hi3518E_...原创 2019-03-13 20:15:58 · 2338 阅读 · 1 评论 -
14 海思Hi3518E用RTSP传输实时视频
有两种实现方式第一种:直接发送RtspServer_init RtspServerListen RtspClientMsg //线程1 : 不断监控是否又客服端来连接自己,并且建立双方的连接 if(strstr(cmdName, "OPTIONS")) OptionAnswer; if(strstr(cmdName, "DESCRIBE")) DescribeAns...原创 2019-03-25 21:11:21 · 7577 阅读 · 2 评论 -
15 海思Hi3518E移植mp4v2
1.下载mp4v2(1)https://launchpad.net/ubuntu/+source/mp4v2/2.0.0~dfsg0-6(2)解压,并在目录内创建install目录作为安装目录2.配置并编译(1)sudo PATH=$PATH:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin CC=arm-hisiv300-l...原创 2019-03-27 19:20:07 · 1110 阅读 · 2 评论 -
16 海思Hi3518的OSD学习
我们有时候需要在视频中叠加一些特定的信息(如:通道号、时间戳等),必要时还会填充色块。这些叠加在视频上的 OSD 和遮挡在视频上的色块统称为区域。 REGION 模块,用于统一管理这些区域资源。用户通过创建一个区域,通过 HI_MPI_RGN_AttachToChn,将该区域叠加到某个通道(如 VENC 通道)中。在通道进行调度时,则会将 OSD 叠加在视频中。一个区域支持通过设置通道显示属性...原创 2019-03-28 18:16:54 · 3935 阅读 · 4 评论 -
17 海思Hi3518的OSD实现
代码框架:SAMPLE_VENC_720P_CLASSIC SAMPLE_RGN_CreateVideoRegion//用图片的方式创建所有区域 SAMPLE_RGN_CreateOverlayForVenc//左下角的区域 HI_MPI_RGN_Create HI_MPI_RGN_AttachToChn SAMPLE_RGN_Add HI_MPI_RGN_...原创 2019-03-29 13:48:41 · 4132 阅读 · 1 评论 -
海思Hi3518E的VENC模块
VENC 模块,即视频编码模块。本模块支持多路实时编码,且每路编码独立,编码协议和编码 profile 可以不同。本模块支持视频编码同时,调度 Region 模块对编码图像内容进行叠加和遮挡。VENC 模块的输入源包括三类:用户态读取图像文件向编码模块发送数据; 视频输入(VIU)模块采集的图像经视频处理子系统(VPSS)发送到编码模块; 视频输入(VIU)模块采集的图像直接发送到编码...原创 2019-04-09 19:38:19 · 3778 阅读 · 0 评论 -
VLC的sdp文件格式分析
一概述:SDP目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。他定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成。典型的会话传送协议包括:SAP(Session Announcement Protocol会话公告协议),SIP(Session Initiati...转载 2019-03-09 17:02:24 · 1797 阅读 · 0 评论 -
RTP协议
1 RTP协议背景及概述流(Streaming)是近年在Internet上出现的新概念,其定义非常广泛,主要是指通过网络传输多媒体数据的技术总称。流式传输分为两种顺序流式传输 (Progressive Streaming) 实时流式传输 (Real time Streaming)实时流式传输是实时传送,特别适合现场事件。“实时”是指在一个应用中数据的交付必须与数据的产生保持精确...原创 2019-03-06 21:12:49 · 934 阅读 · 0 评论 -
ORTP源码分析
1、ORTP库概览(1)库本身没有main,提供一堆功能函数,都在src目录下(2)库的使用给了案例,有main,在src/tests目录下(3)相关数据结构和头文件在include/ortp目录下(4)ortp实现了rtp和rtcp协议,前者负责传输,后者负责控制和同步协调2、ORTP库的使用案例下面分析主要对 src/tests/rtpsend.c 进行分析3、rtp的s...原创 2019-03-06 18:49:32 · 1575 阅读 · 0 评论 -
搭建海思Hi3518E_SDK开发环境
参考:https://blog.youkuaiyun.com/tainjau/article/details/79190297https://blog.youkuaiyun.com/tainjau/article/details/79190311注意:当不能安装某软件时,就用sudo aptitude install命令 ...原创 2019-02-25 14:11:10 · 842 阅读 · 0 评论 -
海思Hi3518E烧写镜像
切换芯片每个芯片的权限不同,如下面的有些功能不能用 1 烧写UBOOT选择好以下参数:点击烧写,若提示找不到串口就先关闭软件,先叉串口,再打开软件串口已经连接,请给单板上电,若已经上电,请断电后重新上电。正在下载:最后烧写成功: 从/home/aston/sambashare/Hi3518E_SDK_V1.0.3.0/osdrv/pu...原创 2019-02-25 17:02:07 · 3185 阅读 · 0 评论 -
3 海思Hi3518E视频编码
VENC 模块,即视频编码模块。本模块支持多路实时编码,且每路编码独立,编码协议和编码 profile 可以不同。本模块支持视频编码同时,调度 Region 模块对编码图像内容进行叠加和遮挡。VENC 模块的输入源包括三类:用户态读取图像文件向编码模块发送数据; 视频输入(VIU)模块采集的图像经视频处理子系统(VPSS)发送到编码模块; 视频输入(VIU)模块采集的图像直接发送到编码...原创 2019-03-01 13:45:32 · 2507 阅读 · 0 评论 -
海思Hi3518E部属MPP
在01.software\board\Hi3518E_SDK_V1.0.3.0\package\mpp中mpp的一些文件 启动网卡,在/etc/profile中添加这两行代码为了不频繁安装测试KO文件,就用挂载文件的形式先在ubuntu中安装一个nfs挂载文件,如果已经安装,就用下面的命令得到nfs挂载文件路径~$ sudo showmount -eExport lis...原创 2019-02-25 19:57:51 · 755 阅读 · 1 评论 -
开发板快速启动优化
配置 boot 下的环境变量 bootdelay 为 0方法:在 boot 下的命令行中输入: setenv bootdelay 0;saveenv说明: 为了方便进入 boot 命令行, boot 下默认设置 bootdelay 为 1, 配置 bootdelay为 0 可以加快 fastplay 启动时间约 1S(boot 中已修改代码配置默认值为 0)配置 boot 阶段不做内核校验...原创 2019-02-26 08:53:19 · 667 阅读 · 0 评论 -
Hi3518E开发OSD
参考:https://blog.youkuaiyun.com/qq_29350001/article/details/79075800网上相关功能实现资料有很多,关键操作:海思osd+freetype+SDL+SDL_ttf字体颜色。我的虚拟机是 Ubuntu 14.04,那首先移植 freetype+SDL+SDL_ttf 这三个库。一、库移植(1)freetype下载安装...转载 2019-03-05 15:28:17 · 1094 阅读 · 0 评论 -
视频小结
1080p1080p是一种视频显示格式,外语字母P意为逐行扫描,是一种在逐行扫描下达到1920×1080的分辨率的显示格式。有别于1080i的隔行扫描(interlaced scan)。帧率通常为25,可表示在p后面,如1080p25,意思是一秒的图像有25张画面。常见的帧率还有24、30、60等。QCIF,CIF,4CIF,D1,720P,1080I,1080P分辩率、清晰度及其...原创 2019-02-26 14:51:18 · 1096 阅读 · 0 评论 -
ORTP库的移植
1、准备源码(1)下载ortp源码:https://github.com/dmonakhov/ortp(2)存放到临时工作目录并解压2、源码修改(1)由于这个没有支持H.264,所以增加H.264的payload支持。在src/avprofile.c中357行添加:rtp_profile_set_payload(profile,96,&payload_type_h264)...原创 2019-03-06 08:33:06 · 798 阅读 · 0 评论 -
4 海思Hi3518E实例代码分析
海思媒体(mmp)处理平台架构海思媒体处理平台的主要内部处理流程如图 1-2 所示,主要分为视频输入(VI)、视频处理(VPSS)、视频编码(VENC)、视频解码(VDEC)、视频输出(VO)、视频侦测分析(VDA)、音频输入(AI)、音频输出(AO)、音频编码(AENC)、音频解码(ADEC)、区域管理(REGION)等模块。主要的处理流程介绍如下:VI 模块捕获视频图像,可对其做剪切...原创 2019-03-03 11:13:03 · 4545 阅读 · 1 评论 -
8 海思Hi3518E部署ORTP
1、在官方SDK的sample中添加rtp传输代码(1)venc/sample_venc.c中,添加:s32ChnNum = 1;(2)common/sample_common_venc.c中,改了很多第一步:添加下面ortp代码#define ORTP_ENABLE 1#if ORTP_ENABLE#include <ortp/ortp.h>#include ...原创 2019-03-06 10:22:05 · 1190 阅读 · 0 评论 -
1 海思Hi3518EMPP系统结构
海思提供的媒体处理软件平台(Media Process Platform,简称 MPP),可支持应用软件快速开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供MPI(MPP Programe Interface)接口完成相应功能。该平台支持应用软件快速开发以下功能:输入视频捕获、 H.265/H.264/MJPEG/JPEG/MPEG4 编码、 H.264/MPEG4/MP...原创 2019-02-27 08:36:21 · 1162 阅读 · 0 评论 -
5 海思Hi3518E视频输入(VI)模块
海思媒体(mmp)处理平台架构1 概述视频输入(VI)模块实现的功能:通过 ITU-R BT656/601/1120 接口或 Digital Camera接口、 MIPI Rx(含 MIPI 接口、 LVDS 接口和 HISPI 接口)接收视频数据。当工作在离线模式时,将接收到的数据存入到指定的内存区域。 当工作在在线模式时, VI 会将数据直接送给 VPSS。在此过程中, VI...原创 2019-03-03 17:12:38 · 4142 阅读 · 1 评论 -
2 海思Hi3518E视频缓存池
应用程序启动 MPP 业务前,必须完成 MPP 系统初始化工作。同理,应用程序退出MPP 业务后,也要完成 MPP 系统去初始化工作,释放资源。整个系统架构为视频缓存池视频缓存池主要向媒体业务提供大块物理内存管理功能,负责内存的分配和回收,充分发挥内存缓存池的作用,让物理内存资源在各个媒体处理模块中合理使用。一组大小相同、物理地址连续的缓存块组成一个视频缓存池。视频输入通道需要...原创 2019-02-27 13:20:45 · 2134 阅读 · 3 评论 -
6 海思Hi3518E的ISP及其3A
ISP主要坐下面的工作:AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、AF(自动对焦)色彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Black Level、Auto White Level可以参考:ISP(图像信号处理)功能描述lens 将光信号投射到 sensor 的感光区域后, sensor 经过光电转换, 将 Bay...原创 2019-03-03 20:32:12 · 4084 阅读 · 3 评论 -
7 海思Hi3518E的视频处理子系统(VPSS)
1 概述VPSS(Video Process Sub-System)支持对一幅输入图像进行统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理,最后输出多种不同分辨率的图像。VPSS 单元支持的具体图像处理功能包括 FRC(Frame Rate Control)、 Crop、 NR(Noise Reduce)、 LDC(Lens Distortion Correction)、...原创 2019-09-02 12:56:29 · 8909 阅读 · 0 评论