如何学习嵌入式音视频开发,这一部分的开发路线或者发展方向是什么?
snowdream
共 904字,需浏览 2分钟
·
2022-02-09 17:34
看了题主的问题和描述,其中的心路例程也曾经经历过。不同的是,我一直做MCU,SOC的应用开发,但是因为对驱动感兴趣,又将技术栈扩展到了Linux的驱动开发。恰好,有几年的视频处理器和流媒体控制器开发经历,那就针对我个人的经历和题主分享一下我当时怎么从0开始学习视频处理技术的。
的确,题主说的也是很多做驱动开发程序员的心声。做驱动基本就是对照芯片手册在原有的成型框架基础上进行修改,开发比较成型和单一。但是做应用软件开发的话,不同的业务存在不同的需求,相对软件开发上接触的信息和方便比较多,相对而言更加有“乐趣”一些。
其实,单说视频处理这块,市面上有很多现成的硬件处理SOC芯片。比如我们用过的TI达芬奇系列,华为海思的353x系列等等。很多视频处理的细节,都被处理器的某些子功能单元进行了功能封装,我们仅仅需要将对应的数据输入到对应的硬件管脚,通过软件配置,启动子功能单元功能即可。在正常情况下,你好我好大家好,但是做过程序员的都知道,哪有软件开发没有bug?
所以,必要的基础知识积累,是非常必要的。当时我们的产品线,主要涉及到视频分割、叠加和多窗开屏,流媒体服务器的流转发,视频编解码硬件控制器等产品。所以,根据这些,我主要研究过以下视频基础知识,后面都用得上,题主可以看看是否符合你的需要:
- 基本视频信号知识:HDMI、TMDS、VGA等相关视频信号相关理论知识(行,场信号,像素,存储等)。这部分,在网络上有很多讲解,找到一两篇说的明白的,就足够了。
- 视频领域常见术语理论知识:什么是亮度,对比度,饱和度,I帧,P帧,S帧等等。这部分,我基本也是从网上学习的。
- H264,H265理论基础:这块是视频编码的基础中的基础。虽然很多编码行为已经由硬件完成,但是在定位问题的时候,还是需要理论进行支撑。
- RTSP协议和ONVIF协议:如果要走向IPC和流转发功能开发,这两个协议是真的绕不过去的。
建议题主,先从1,2的基础知识入手 -> 针对你们产品芯片研究技术手册 ->根据你们产品方向,选择对应的理论知识。(编解码离不开H264/H265,流媒体离不开RTSP,IPC控制离不开onvif)
以上建议,仅供参考。
评论