视频编解码行业及发展方向简述

2023-05-16

目录

  • 一、视频行业
    • 1、视频是一个方兴未艾的大产业
    • 2、视频行业潜在商机大、人才缺口大
    • 3、了解华为海思的HI3518E方案
  • 二、海思方案项目用到的硬件平台介绍
    • 1、本专栏文章使用的开发板配置
    • 2、处理器为什么选HI3518E
  • 三 、本专栏文章规划和核心技术介绍

一、视频行业

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季:从官方例程深度学习海思SDKAPI3季: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季:从官方例程深度学习海思SDKAPI
	本季课程详细分析海思SDK中的sample程序的实现,并顺带讲解视频采集中的很多基本概
念,视频sensor的工作原理、像素和视频分辨率的关系、rawRGB和RGB888的换算方式等,本季
课程的重点内容是海思SDKAPI文档的带读,学习海思方案重点就在于学习这套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系统等应用场景均有赖于视频识别的技术突破。本季课程算是抛砖引玉,向大家引入图像识
别技术的开发基础、环境搭建、基本算法原理、简单应用案例,希望帮助大家进入该技术领域。

注:本资料大部分由朱老师物联网大讲堂课程笔记整理而来并且引用了部分他人博客的内容,如有侵权,联系删除!水平有限,如有错误,欢迎各位在评论区交流。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

视频编解码行业及发展方向简述 的相关文章

  • 新手程序员必学的代码编程技巧

    程序员往往渴望加入的是一支 30 的时间在写代码 xff0c 而70 的时间在喝着咖啡讨论着如何将产品做好 的团队 软件工作应该成为一项技术和艺术融合的高智力活动 xff0c 而项目经理应该是一个高度理解质量 范围和进度客观规律的明白人 x
  • 数学之美—细数 傅里叶变换 原理

    目录 一 傅里叶级数 xff08 Fourier Series FS xff09 的实数域表示 二 傅里叶级数 xff08 Fourier Series FS xff09 的复数域表示 三 傅里叶变换 xff08 FT xff09 的引出
  • C++小知识01 —— 0、‘0’、“0”、“\0”、‘\0’、NULL和nullptr

    可能对于才学完C 的初学者来说 这些概念都很简单 但是把它们放在一起 就真的真的给整不会了 其中最容易混淆的有单引号与双引号的用法 还有NULL与nullptr的用法 下面我会依次用代码文字结合的形式给大家讲解 0 这个就很简单 它就是数字
  • 如何解决Git代码冲突?

    本文主要用的是vscode工具 1 为什么会出现代码冲突问题呢 xff1f 可以理解为就是同一时间几个人更改同一个文件 xff0c git 不知道该听谁的 xff0c 所以就报冲突 xff0c 让开发者自己去选择 xff0c 选取到底用哪个
  • 算法优化工程师

    嵌入式算法移植优化 嵌入式算法移植优化 CUDA编程 嵌入式算法移植优化 CPU GPU TPU NPU都是什么 嵌入式算法移植优化 模型压缩与剪枝 嵌入式算法移植优化 pthread 嵌入式算法移植优化 SIMD编程 xff08 单指令流
  • Elasticsearch7.8.0启动报jdk版本错误

    因为7 8 0版本自带jdk12 xff0c 就可能会出现自己linux环境下的jdk版本较低 启动时老报错 xff0c 这时候就需要干掉当前jdk xff0c 然后启动elasticsearch xff0c 让他去匹配自带的jdk 使用命
  • 2-2进程管理-处理机调度

    文章目录 一 调度的层次二 进程调度的时机 切换与过程 调度方式三 调度器 闲逛进程四 调度算法的评价指标五 调度算法 xff08 一 xff09 先来先服务SCFS xff08 二 xff09 短作业优先算法SJF xff08 三 xff
  • 百度ai开放平台使用方法(附带例子详细步骤)

    百度ai开放平台 1 百度ai开放平台内有众多功能 xff0c 如文字识别 xff0c 语音技术等等内容 xff0c 本文章以身份证识别为例子 xff0c 教大家怎么使用它啦 链接走起 xff1a https cloud baidu com
  • 树莓派4b装完系统后,外接的显示屏刚开始蓝屏,过一会就不亮了是什么原因

    有可能是显示屏的连接或设置问题 xff0c 以下是一些可能导致这种情况的原因及相应的解决方法 xff1a 1 连接问题 xff1a 请确保显示屏与树莓派4B连接的正确 xff0c 建议检查接头是否牢固 另外 xff0c 如果你是通过 HDM
  • Maven报错:The packaging for this project did not assign a file to the build arti fact

    https blog csdn net gao zhennan article details 89713407
  • YOLO-MASK对图像数据集进行清洗

    一 前情介绍 之前在捣鼓yolo系列模型 xff0c 尝试着对coco的羊数据集进行训练 xff0c 可是发现不管怎么调参 xff0c Map一直在60几 xff0c 死活上不了70 后来在一位资深老算法师的指点下 xff0c 才明白 xf
  • 进程,文件,内存简述

    1 进程 一个程序一旦在操作系统里动起来 xff0c 他就成为了一个进程 进程表 xff1a 存放有进程的运行情况以及信息 进程核 xff1a 一个时刻 xff0c 一个进程占用的所有资源 核快照 xff1a 进程在某一时刻的状态 当产生了
  • GNURadio中运行ofdm_rx报错:gr::log :INFO: packet_headerparser_b0 - Detected an invalid packet at item ××

    修改方法 xff1a 减小发送端的乘数因子 但是本着知其然还要知其所以然的学习态度 xff0c 下面就解释下出现这种现象的原因 xff1a 2021 10 28 更新 xff1a 在实际的测试中发现 xff0c 引起该问题的原因还有可能是接
  • 关于改进邮政编码的建议 2018-03-08

    关于改进邮政编码的建议 2018 03 08 邮政法 第二十三条规定 xff1a 用户交寄邮件 xff0c 应当清楚 准确地填写收件人姓名 地址和邮政编码 邮政企业应当在邮政营业场所免费为用户提供邮政编码查询服务 邮政编码由邮政企业根据国务
  • Chapter5 MapReduce

    5 1概述 5 1 1分布式并行编程 MapReduce是一种分布式并行编程框架 在计算机发展史上的 34 摩尔定律 34 xff1a CPU的性能每隔18个月就可以翻一番 然而 xff0c 从2005年起 xff0c 摩尔定律逐渐失效 x
  • 解决Hadoop集群hdfs无法启动DataNode的问题

    问题描述 xff1a 在hadoop启动hdfs的之后 xff0c 使用jps命令查看运行情况时发现hdfs的DataNode并没有打开 笔者出现此情况前曾使用hdfs namenode format格式化了hdfs 如有三个hadoop集
  • Kalman滤波参数、调整原则

    1 Q P R关系 P的迭代为P 61 QTPQ xff1b R为观测的协方差 xff1b 状态延时高 xff0c 说明收敛速度慢 估计参数P越大 xff0c 收敛的越快 测量误差R越小 xff0c 收敛的越快 调整这两个参数即可 xff0
  • python import函数使用

    import函数调用整个模块 例子 xff1a 首先建一个python文件 pizza py span class token keyword def span span class token function make pizza sp
  • RLException: [fake_turtlebot.launch] is neither a launch file in package [rbx1_bringup] nor is [rbx1

    RLException fake turtlebot launch is neither a launch file in package rbx1 bringup nor is rbx1 bringup a launch file nam

随机推荐