工作需要接触音视频开发,学起来!
扫描二维码
随时随地手机看文章
前言:
大家假期好,之前有几个粉丝朋友加了我微信私底下说,能不能写一篇有关音视频学习的路线;这几天我也思前想后,我该怎样写一篇关于音视频的学习路线,音视频学习资料再网上本来就少,而且系统的资料更少,就像上次我说的书籍推荐,我至今在知乎和csdn上,也没找到合适的书籍,找的书籍大都大同小异。同时也提前说一下,我本人目前不是专门做音视频相关的岗位开发,但是由于业余时间对这块非常感兴趣,也在公众号上写了一些学习总结,期间不断有朋友过来相互交流,非常感谢他们,让我开阔了视野,更加对音视频这块有了一个清晰的认识!下面我写这篇文章的时候,我会结合一些实际企业招聘的要求来结合写,其实最近一段时间,我也抽时间去面试了一些流媒体岗位(这里说一下,嵌入式端和互联网的音视频差别不是很大,很多音视频知识互通的!),给大家提示一下,网络基础知识非常重要,里面会设计到很多网络协议!(下面是和一位粉丝朋友交流的最多的对话,他做的是一个奥运会项目,压力特别大,进度特别赶,不容易!)一、看看实际音视频招聘要求:
我们可以打开Boss直聘软件来看一些音视频的企业招聘要求:这几个招聘要求应该是比较有代表性的,有大厂的也有小厂的;通过上面要求,我们可以发现以下几点是我们在平时学习过程必须要去认真学习的:- ffmpeg
- h264、h265
- rtsp(这里面更多的是rtp和rtcp)、rtmp
- 常见的封装格式(ts、flv、mp4等)
- 音频、视频,关于它的解码和编码
- webrtc,这个更多的是在流媒体这块更偏向互联网方向,当然现在很多嵌入式岗位也会要求这个。
- 帧率、分辨率、刷新率
- 编码格式和封装格式
- 码率和画质
- DTS和PTS
- 时间戳
https://www.ffmpeg.org/ffmpeg.html
然后接着你可以学会使用ffmpeg常用接口,刚学这个ffmpeg,建议不要去研究它的源码(这个东西比较耗时间,等你有了一定知识量或者基础更扎实了,你再来研究里面的原理也不迟,现阶段你要的就是使用起来,可以做一些简单的东西出来,比如播放器等等),关于ffmpeg开源项目,可以在学习ffmpeg的时候,可以参考雷霄骅前辈的学习总结:https://blog.csdn.net/leixiaohua1020?spm=1001.2014.3001.5509
接着往下,你可以去学习rtsp、rtmp相关协议,学习这些协议的时候,更多的是动手写代码实践,因为关于协议的文档里面的知识点很多,你不可能一下记住,只有使用起来,才能理解和掌握的更深。最后,我个人建议,你可以学习一下开源的流媒体服务器srs:https://github.com/ossrs/srs
一些该支持的都支持了: