原创分析| 入门或者转行音视频,应该要怎么做?

要不要从事音视频开发

这一两年因为该死的疫情,让短视频、超高清视频和实时音视频反而成为需求风口。

我的看法当然是觉得音视频这个行业还可以,而且从我自己的观察来看,做音视频的现在普遍年龄都在 30+ 了,我 94 年的在组里有可能还是年龄最小的那一批人了。

有很多想从事这方面的开发者经常会有一个误区,把音视频开发认为是安卓的一个分支,我是非常不认同这个观念的。

我的观点是 音视频开发也可以是一个独立的分支,不一定要和 Android 、iOS 联系上的。和信息安全行业一样,也分移动安全、Web 安全、云安全等,不同的安全领域有可能差异很大,但还是都属于信息安全范畴,音视频同样如此。

做客户端上的音视频、服务端上的、嵌入式的、系统底层的都是音视频的范围,另外从事音视频编解码算法、网络通信协议、视频超分、音频降噪等等,也是音视频的领域范围内,所以说音视频也可以是一个很大的范围体系,每个人处在其中的位置不同而已。

如果你很熟练 FFmpeg ,熟悉播放器,或者很懂 OpenGL 渲染,那么不懂 JVM ,不懂 Android Framework 一点也不妨碍你找高薪工作。

音视频行业优势

电信行业的变革:

从1G语音、2G短信、3G图片语音、4G视频到5G未来可期的新时代,见证了音视频行业的磅礴发展。

原创分析| 入门或者转行音视频,应该要怎么做?_第1张图片

技术更新慢且门槛高

技术更新慢,技术门槛高,大部分技术沿用至今,依然保持生命力,技术人员成型时间较长。以音视频常见的协议标准和开源项目为例:

协议标准

部分音视频相关的技术标准发布时间年鉴(供参考)

1. 1980年 UDP用户数据报文协议(User Datagram Protocol)

2. 1981年 TCP传输控制协议(Transmission Control Protocol)

3. 1996年 RTP实时传输协议(Real-time Transport Protocol)

4. 1996年 RTCP控制协议(RTP Control Protocol)

5. 2003年 H264视频编解码

6. 2006年 NACK负向反馈(Negative Acknowledgement),接收方只有在没有收到数据的时候才通知发送方 rfc4585

7. 2008年 FLV流媒体格式 (Flash Video)

8. 2009年 HLS基于HTTP的自适应码率流媒体传输协议(HTTP Live Streaming)

9. 2009年 WebRTC网页即时通信(Web Real-Time Communication)

10. 2012年 RTMP实时消息传输协议 (Real Time Messaging Protocol)

11. 2013年 H265视频编解码

12. 2020年 H266视频编解码

开源项目

部分音视频开源项目发布时间,每个开源项目之所以能成功都是经过了开发者长期的时间投入。

1. 2001年 FFmpeg多媒体视频处理开源项目

2. 2009年 WebRTC开源项目发布

3. 2013年 SRS流媒体服务器(Simple-RTMP-Server)发布版本

4. 2013年 ijkplayer手机播放器发布

5. 2014年 OBS开源项目(支持webrtc,早期支持的是RTMP)(GitHub可查最早时间)

6. 2015年 Janus WebRTC流媒体服务器发布版本

7. 2015年 QMPlay2 PC QT(调用FFmpeg的接口,硬解接口,OpenGL)播放器发布

8. 2017年 ZLMediaKit流媒体服务器发布版本

音视频应用领域

原创分析| 入门或者转行音视频,应该要怎么做?_第2张图片

音视频自学的难点

  1. 音视频自学非常困难,网上通俗易懂的难找到

  2. 网上部分资源是对应的开源版本较低,比如雷霄骅(雷神)博客的FFmpeg版本较低

  3. 音视频涉及大量的开源库和协议

  4. 比如ffmpeg的编译,如果不熟悉各种编译报错

  5. Janus编译涉及各种开源组件编译不通过

  6. 比如WebRTC涉及的RTP RTCP SDP STUN等协议

  7. 部分嵌入式音视频的朋友技术面窄,技术不深入

  8. 比如有同学做了2年的音视频驱动,一帧音频能持续播放多久都不明白

哪些公司需要音视频

常见招聘音视频的大公司

原创分析| 入门或者转行音视频,应该要怎么做?_第3张图片

2022全新音视频流媒体高级开发进六大阶段

本路线涵盖最主流的音视频全栈开发技术,适合嵌入式开发、桌面开发、Android/IOS移动开发、后台开发、IT行业人员往音视频领域发展,适合音视频从业人员进一步系统提升音视频技术。学完具备全栈的音视频技术体系思维和视野,能够结合企业实际场景业务,进行播放器、录屏器、推拉流直播、视频监控、音视频通话、流媒体服务器等实际项目的开发。

​音视频开发免费文档视频资料+学习路线免费领取!
https://docs.qq.com/doc/DYUNJZHF0WWtKQnhL

第一阶段 音视频基础

原创分析| 入门或者转行音视频,应该要怎么做?_第4张图片

原创分析| 入门或者转行音视频,应该要怎么做?_第5张图片

原创分析| 入门或者转行音视频,应该要怎么做?_第6张图片

第二阶段 FFmpeg实战

原创分析| 入门或者转行音视频,应该要怎么做?_第7张图片

原创分析| 入门或者转行音视频,应该要怎么做?_第8张图片

原创分析| 入门或者转行音视频,应该要怎么做?_第9张图片

​FFmpeg+QT QMplay2播放器

原创分析| 入门或者转行音视频,应该要怎么做?_第10张图片

原创分析| 入门或者转行音视频,应该要怎么做?_第11张图片

OBS推流录制源码分析

原创分析| 入门或者转行音视频,应该要怎么做?_第12张图片

​音视频开发学习地址:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发

【文章福利】:小编整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!~点击832218493加入(需要自取)

原创分析| 入门或者转行音视频,应该要怎么做?_第13张图片

原创分析| 入门或者转行音视频,应该要怎么做?_第14张图片

第三阶段 流媒体客户端

原创分析| 入门或者转行音视频,应该要怎么做?_第15张图片

第四阶段 流媒体服务器

原创分析| 入门或者转行音视频,应该要怎么做?_第16张图片

ZLMediaKit源码剖析多线程

原创分析| 入门或者转行音视频,应该要怎么做?_第17张图片

第五阶段 WebRTC项目实战

原创分析| 入门或者转行音视频,应该要怎么做?_第18张图片

原创分析| 入门或者转行音视频,应该要怎么做?_第19张图片

第六阶段 Android NDK

原创分析| 入门或者转行音视频,应该要怎么做?_第20张图片

你可能感兴趣的:(1000道程序员常见问题解析,c++,音视频开发,FFmpeg,rtmp,webrtc)