Bootstrap

音视频开发,最新学习心得与感悟

音视频技术的知识海洋浩瀚无垠,自学之路显得尤为崎岖,技术门槛的存在是毋庸置疑的事实。

对于渴望踏入这一行业的初学者而言,学习资源的匮乏成为了一道难以逾越的障碍。

本次文章主要是给大家分享音视频开发进阶学习路线,虽然我之前写过,但是这次我会结合最新接触到不同层次的人来做一个总结分享!当然还是以入门为主,技术点都是当下企业要求必须要掌握的!

一、学习音视频的门槛高不高?

毋庸置疑,在音视频行业是有技术门槛的,同时学习资料(包括书籍之类的,非常少!)非常少,可以说,市面上系统的音视频书籍非常少,不信大家可以自行去各个网站搜索一下。

不止是书籍方面,连可用的工具都非常少。。。。

总之学习资料这块对新人来说,非常不友好!

二、音视频该怎么学习?

我个人认为,首先你得先对基本的音视频理论知识有基本的了解和掌握,比如说:

  • 1、什么是像素点、分别率?
  • 2、什么是帧率、码率?
  • 3、什么是rgb、yuv、pcm?

我这只是简单的列举了几个例子,这里面在工作当中会涉及到实际的工程问题,所以不展开讲,只是告诉你这些是必须要掌握的基础知识点。

接下来呢,给大家上一份音视频开发思维导图

三、还有哪些音视频知识点需要掌握?

1、流媒体协议:

面试或者实际工作当中,接触比较多的流媒体传输码流协议:

  • rtsp
  • rtmp

那我们该怎么去学习这些协议呢?

相信大部分人,一开始可能是先看理论知识,也就是看一些博客;恩,从我个人的角度来看,这个没有错的,但同时,我相信大部分刚开始学习的人,看完之后,还是一头雾水,或者你还是没有掌握到学习一个陌生的传输协议的共性:

  • 也就是协议头+协议体

恩,有了这个共性后,你可能还是雾水,因为一个协议里面,太多的知识点了,何况你是第一次学习,很陌生。

我们平时开发,对新东西的掌握,都是经历一个折腾期,才会领悟的更深。

所以对于我们学习的时候来说,特别是流媒体传输协议,我更加推荐抓包去学习传输协议,比如上面的编码rtsp代码案例,你可以用wireshark去抓包分析。

2、封装容器和h264:

这里我给一些常见的封装容器去学习:

  • flv
  • mp4
  • ts

然后是对码流进行编码和解码处理,这个肯定要先学习h264,这里主要是要掌握:

  • 什么是I、B、P帧?
  • NALU的码流结构
  • rtp对h264的打包方式的实现掌握,也就对h264裸流数据进行打包处理

我这里有很多细节没有说哈,这个只是给大家总结要重点要掌握的知识提纲,详细技术栈可以私信我拿。

多媒体开源库:

  • ffmpeg
  • gstreamer

这里我更推荐学习ffmpeg

v4l2:

如果你对底层的东西比较感兴趣的话,也可以学习Linux内核里面的v4l2:

最后:

给校招的小伙伴一句话:第一份工作不亚于一次高考,珍惜校招,社招的竞争是你目前想象不到的。能去大厂觉不妥协,IT行业第一份工作背景越好,起点越高,后续发展空间越好!

给那些1-3年的安于现状的伙伴一句话:

不要抱怨市场,不要安于现状,在低端,往中端领域看,在中端往高端领域看。认知以及对自身的要求,都会有所改变。

给那些担心35岁的伙伴一句话:

决定上限的不是年纪,而是技术。最后:希望学习路线对你有所帮助,希望码农的我们越来越好!

粉丝福利,博主耗时2个月整理了一份详细的音视频开发学习路线,涵盖了音视频开发FFmmpeg、流媒体客户端、流媒体服务器、WebRTC、Android NDK开发、IOS音视频开发等等全栈技术栈,并提供了配套的免费领取C++音视频学习资料包、技术视频/代码,内容包括(FFmpeg ,WebRTC ,rtmp ,hls ,rtsp ,ffplay ,编解码,推拉流,srs流媒体服务器,音视频通话等等)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

;