目录

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

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

要不要从事音视频开发

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

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

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

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

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

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

音视频行业优势

电信行业的变革:

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

https://i-blog.csdnimg.cn/blog_migrate/67fa593ac2d9fbb5ccc494e12e0422aa.png

技术更新慢且门槛高

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

协议标准

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

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

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

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

  4. 1996年 RTCP控制协议( 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流媒体服务器发布版本

音视频应用领域

https://i-blog.csdnimg.cn/blog_migrate/dfd5170a637509f933922a91882840ec.png

音视频自学的难点

  1. 音视频自学非常困难,网上通俗易懂的难找到
  2. 网上部分资源是对应的开源版本较低,比如雷霄骅(雷神)博客的FFmpeg版本较低
  3. 音视频涉及大量的开源库和协议
  4. 比如ffmpeg的编译,如果不熟悉各种编译报错
  5. Janus编译涉及各种开源组件编译不通过
  6. 比如WebRTC涉及的RTP RTCP SDP STUN等协议
  7. 部分嵌入式音视频的朋友技术面窄,技术不深入
  8. 比如有同学做了2年的音视频驱动,一帧音频能持续播放多久都不明白

哪些公司需要音视频

常见招聘音视频的大公司

https://i-blog.csdnimg.cn/blog_migrate/30b6cc6c8a11947cd14e759116b7ccd2.png

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

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

https://i-blog.csdnimg.cn/blog_migrate/7dcbd23c8c242e4b72644232c4f3bb73.png

​音视频开发免费文档视频资料+学习路线免费领取!

第一阶段 音视频基础

https://i-blog.csdnimg.cn/blog_migrate/05c6dfef315ecc740785bee80ab2f0ac.png

https://i-blog.csdnimg.cn/blog_migrate/20e284eed40741ad0ed1e30ee9f76210.png

https://i-blog.csdnimg.cn/blog_migrate/953d54fe9b0be0cf0c053a3181ed700b.png

第二阶段 FFmpeg实战

https://i-blog.csdnimg.cn/blog_migrate/9505a3aba3651fbce413ea6a14de58e3.png

https://i-blog.csdnimg.cn/blog_migrate/ecdab291352d7757121fd82d9cbb3fbb.png

https://i-blog.csdnimg.cn/blog_migrate/b6eac2970ccef5edf22b791e6d6f8701.png

​FFmpeg+QT QMplay2播放器

https://i-blog.csdnimg.cn/blog_migrate/57e9b04e74af7582d867a0764b02a3de.png

https://i-blog.csdnimg.cn/blog_migrate/80ef31f5fa1b499c32d9ae944602afaf.png

OBS推流录制源码分析

https://i-blog.csdnimg.cn/blog_migrate/b3c7aad5033a54a68d4401b477c313d2.png

​音视频开发学习地址:

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

https://i-blog.csdnimg.cn/blog_migrate/edb73a5af23bb00688ad618e4f9c1e43.png

https://i-blog.csdnimg.cn/blog_migrate/a6b0f053f8f0aab1b1ee5214472fb529.png

第三阶段 流媒体客户端

https://i-blog.csdnimg.cn/blog_migrate/ef1f98820458bd8c838bbab0a0867765.png

第四阶段 流媒体服务器

https://i-blog.csdnimg.cn/blog_migrate/fce87b593b5a41c4b1612295090f092c.png

ZLMediaKit源码剖析多线程

https://i-blog.csdnimg.cn/blog_migrate/633629a7774a42c82d567f288b730af0.png

第五阶段 WebRTC项目实战

https://i-blog.csdnimg.cn/blog_migrate/998e4d73237a90578402ab95285b5a04.png

https://i-blog.csdnimg.cn/blog_migrate/78e7f57c1baeec0a267f7a4d0bc89173.png

第六阶段 Android NDK

https://i-blog.csdnimg.cn/blog_migrate/124797baf7b20a4c1a000fbd36725d44.png