一、视频行业
1、视频是一个方兴未艾的大产业
(1)人类社会信息产品发展趋势:物理文本->电子文本->图片->音视频
(2)音视频行业方兴未艾:优酷&爱奇艺等、美拍&各种小视频、视频监控、人脸识别&自动驾驶
(3)科技以人为本,视频符合人类的天然需求,必然要得到大发展。
(4)技术融合是趋势:互联网、人工智能、视频采集和处理等技术会融合,构成奇幻美妙的现代科技生活。
2、视频行业潜在商机大、人才缺口大
(1)视频监控、手机拍照等“传统”视频领域仍有巨大发展空间
(2)自动驾驶、人脸识别闸机、刷脸支付等,潜在商机巨大,市场需求尚未井喷
(3)视频行业专业性强、学习周期长、技术难度大,技术门槛和壁垒效应明显
(4)行业出现时间短,发展快,根本没有相对应的课程体系和专门学习资料,学习无处下手
(5)中国处于这一波技术革命的浪潮中心,产业配套最全、综合实力最强、产品出货量最大,所以人才需求最旺盛。但同时中国技术积累和底蕴薄弱,高端人才严重匮乏。视频行业比较牛的公司国内的有海康威视和大华,据说华为也开始进军安防摄像头领域了。
3、了解华为海思的HI3518E方案
(1)海思的前身是华为的半导体部门,主要产品线包括:智能手机处理器麒麟系列,视频采集和编解码处理器HI35XX系列,无线通信方向芯片等。
(2)早年(2013、2014年之前)视频行业主要被TI等美国公司控制,台湾地区发展也很快,海思进入后凭借华为的技术和管理能力,迅速发展壮大,在高性价比消费级视频领域已经独霸了。
(3)海思还在不断发展,逐步渗透汽车级(行车记录仪、ADAS、自动驾驶等)、运动级(航拍、运动DV等)领域。
(4)还有更高端的工业级(工业相机譬如缺陷检测、机器视觉等)和军工级等多被美欧日德等把持,等待我们去征伐。
(5)一句话:海思方案用量大、范围广、工资高、潜力大,不学这个学什么? ??但是目前华为被美国制裁了好几次,海思目前的发展比较艰难,从手机芯片从原来的麒麟变成了高通骁龙就知道海思目前有多无奈了,明明有着最先进的芯片设计技术,却无法生产。不过华为今年年初在武汉已经建厂,准备进军芯片制造领域,实现自给自足,虽然需要的时间不会断,但最终一定可以的,华子yyds!
二、海思方案项目用到的硬件平台介绍
1、本专栏文章使用的开发板配置
(1)处理器: HI3518E (2)内存: 内置64MB DDR内存 (3)Flash: 板载16MB SPI Flash (4)SENSOR: OV9712 + AR0130或其他 (5)有线网络: 板载支持 (6)调试串口: 1路TTL串口 (7)底层调试: 预留JTAG口 (8)预留按键: 3个 (9)扩展存储: TF卡 (10)WIFI扩展: USB WIFI
2、处理器为什么选HI3518E
(1)HI35XX系列有很多型号,其中HI3518E是入门级最高性价比的型号,出货量很大。
(2)不同型号的差异主要是支持视频像素数和分辨率、通道数、高端特性差异等。
(3)不同型号的相同点:同一套思路的海思SDK、视频行业基础概念和经验、H.264编解码算法和编程技术、RTSP/ORTP等网络传输、P2P等外网视频直播技术等。
(4)综合比较结果:HI3518E最适合入门学习,硬件本身特性三年行业经验;
三 、本专栏文章规划和核心技术介绍
1、本专栏文章将通过我对朱有鹏老师的海思项目课程的学习进行不定期更新
文章内容划分大致如下:
第1季:全面认识海思SDK及嵌入式层开发
第2季:从官方例程深度学习海思SDK及API
第3季:ORTP库局域网图传和VLC实时预览
第4季:图像sensor的特性和驱动解析
第5季:海思平台上USB WIFI的移植与局域网无线调试和视频流预览
第6季:RTSP协议详解与实时流视频预览
第7季:视频打包为MP4格式并存储到TF卡的实现
第8季:海思平台OSD的实现
第9季:图像的IQ调试
第10季:P2P方式实现视频远程直播
第11季:基于opencv的图像识别开发
2、详细介绍
第1季:全面认识海思SDK及嵌入式层开发
本季首先介绍开发板整个硬件配置和测试方法,然后围绕海思官方SDK开发包讲解各种官方
资料的用法,最后用大量时间讲解如何在ubuntu中搭建海思视频方案的开发环境,如uboot的配
置和编译、烧写;kernel的配置和编译、rootfs的制作,tftp方式下载烧写并启动linux系统,
rootfs中各种配置文件的含义、ko文件的加载、mpp库的部署、sample程序的编译和运行等。
第2季:从官方例程深度学习海思SDK及API
本季课程详细分析海思SDK中的sample程序的实现,并顺带讲解视频采集中的很多基本概
念,视频sensor的工作原理、像素和视频分辨率的关系、rawRGB和RGB888的换算方式等,本季
课程的重点内容是海思SDK中API文档的带读,学习海思方案重点就在于学习这套API,这是海思
方案视频采集和H.264编码的关键所在,因此本季课程非常关键,学完本季课程才表示对海思方案
开发入门了。
第3季:ORTP库局域网图传和VLC实时预览
本季课程通过移植ORTP库并调用ORTP库函数来实现H.264裸流数据的网络传输,并且在
Windows中安装VLC播放器,并在VLC中通过配置文件的方式来解析ORTP发送的裸流实现视频实时
预览。本季课程的核心是ORTP协议的讲解,ORTP库的移植、部署和调用,VLC软件的用法讲解和
配置文件讲解,Wireshark网络抓包工具的用法讲解,实时视频流传输和解析的体验和编程实
现。
第4季:图像sensor的特性和驱动解析
本季课程以配置的2款图像sensor为案例来讲解图像sensor的关键特性和相关数据结构,
I2C控制接口和图像数据接口,海思SDK中sensor的驱动框架和编译、部署、加载,sensor调试
的一般方法和步骤等。
第5季:海思平台上USB WIFI的移植与局域网无线调试和视频流预览
本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并
且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网
络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都
要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。
第6季:RTSP协议详解与实时流视频预览
本季详细讲解RTSP协议的技术细节,并且编程实现基于RTSP协议的实时视频流传输,在局域
网内浏览实时监控画面。RTSP是实时视频网络传输最主流的实现方式,低延时高清晰度的RTSP视
频流传输是网络直播、在线会议系统等行业的核心技术,本季课程会详细讲解相关概念、编程实
战和调试技巧等。
第7季:视频打包为MP4格式并存储到TF卡的实现
本季实现将编码后的H.264视频流打包为MP4格式的录像,并存储到板载TF卡中。这个过程涉
及到的一个主要技术是H.264的视频帧格式,I帧、P帧等概念,另一个主要技术是MP4格式的文件
头、封包技术、MP4打包库的移植部署和调用等,最后是linux下TF卡的存储和文件管理(使用了
FAT32文件系统)。编码后图像打包成MP4存储的功能在行车记录仪、监控摄像头等产品上均是刚
需功能,尤其是行车记录仪,学好该季课程去做这类产品开发有非常大优势。
第8季:海思平台OSD的实现
OSD(on screen display)功能应用很广泛,譬如监控视频中的实时时间显示、电视转播
中的台标和字幕等。本季讲解如何在海思平台上实现图像OSD,核心是海思SDK中提供的OSD功能
相关的一些API的使用和调试技巧。
第9季:图像的IQ调试
sensor直接采集的图像都有各种不理想性,因此在编码前都会经过一个软件方式处理,这个
处理就叫ISP,图像的IQ调试就是研究这些处理算法和实现的。常见的IQ调试技术如:线性纠正、
噪声去除、黑电平校正、坏点去除、颜色插补、Gamma 校正、RGB2YUV 转换、主动白平衡处理、
主动曝光控制、AE评估等。
第10季:P2P方式实现视频远程直播
本季课程主要讲解如何实现视频的外网传输,核心技术是P2P内网穿透的实现和视频转发服务
器的架构。虽然也可以自己搭建视频服务器,但是实际开发产品时经常采用的是一些第三方的视
频服务,本季课程中两种开发方式都会涉及到,并力求让大家掌握其实现原理和编程技术、调试
技术。
第11季:基于opencv的图像识别开发
本季课程属于扩展开发,讲解如何在主机ubuntu中搭建和部署opencv的环境,将HI3518E采
集并编码后的视频传输到主机中并且使用opencv来进行图像识别和处理。近年来随着人工智能技
术的火爆,图像识别和视频识别技术越来越被看重,人脸识别闸机、刷脸支付、自动驾驶汽车、
ADAS系统等应用场景均有赖于视频识别的技术突破。本季课程算是抛砖引玉,向大家引入图像识
别技术的开发基础、环境搭建、基本算法原理、简单应用案例,希望帮助大家进入该技术领域。
注:本资料大部分由朱老师物联网大讲堂课程笔记整理而来并且引用了部分他人博客的内容,如有侵权,联系删除!水平有限,如有错误,欢迎各位在评论区交流。
|