音视频开发涉及知识面比较广,入门门槛相比来说较高,这是公认的。网上又信息量爆炸,寻找有用的学习资料很难,容易被带进坑里。
音视频开发学习成本高、效率低,主要有两方面的原因,一是音视频知识庞杂,通俗易懂的资料非常少;二是网上充斥着大量的错误信息,使得很多初学者掉到坑里就爬不出来了。
初学者可以从开源库(FFMEPG、WebRTC)入手,结合部分书籍和优秀的入门教程,了解音视频工程知识,逐步深入,学习音视频开发。学习博客
注:掌握FFmpeg的目的:快速掌握FFmpeg能做什么;加深对音视频的理解。
注: SDL兼容Win、Ubuntu、 Mac三大平台,大多数都用在后续项目的画面显示和声音输出
注: fplay.c是play命令的源码,掌握fplay对我们自己开发播放器有事半功倍的效果。
注: fmpeg.c是fmpeg命令的源码,掌握fmpeg.c的大体框架对我们要实现一些不知道如何编写代码的功能( ffmepg命令行可以但不知道如何调用fmpeg api时可以借鉴fmepg.c的逻辑)有极大的帮助,比如要裁剪视频长度。
注:该项目难度较大, 01-8提供视频教学,09-14以老师提供一对一技术上的支持为主
注: RTMP推拉流是我们进入音视频流媒体领域的第一个项目 ,从数据采集编码-推流流媒体服务器转发-拉流解码-播放等整个逻辑我们一定要掌握。
注: RTSP涉及的技术不单只适用于安防领域,其中的RTCP RTP SD等协议在WebRTC也有应用。
注:学习WebRTC建议从web端入手,可以直接调用js接口(万别刚接触WebRTC就忙着去编译WebRTC源码) , 对WebRTC通话流程有清晰的理解再考虑别的端。
,杏彩客户端手机版
