第一章

最近正在酝酿播放器教程的内容,正好在群里面也有小伙伴催更了。

这里有个点值得思考一下,为什么要催视频播放呢?很明显,因为教程是关于播放器的,播放器最直观的就是视频播放啦。

但是播放器除了视频播放,还有很多其他内容呀,比如音频播放、音视频同步、视频封装、编解码、码流格式等,这每一个部分都很重要,也都很值得深挖,而这也是我正在思考的内容。


一个音视频新手应该从播放器教程中获取哪些内容呢?

我观察了网上的一些教程内容,基本上都是讲一下音视频的基本概念,比如帧率、编码格式这些的, 然后就开始讲 FFmpeg 如何解封装、如何解码,有的还会把 FFmpeg 基本调用流程当做核心内容来讲,最后再把一个播放流程用界面展示成播放器的样子。

这样的教程网上有很多了,而且视频教程居多,视频对于新手比较容易理解,但个人觉得文字的形式更容易沉淀和查看,尤其涉及一些概念,视频容易泛泛而谈跳过去,不像文字可以仔细反复揣摩。

并且视频课程受时长的影响,很难引导人去深究其背后的原因。比如网上播放器教程那么多,难道看了都可以找到工作吗?随便问一下细节内容,很多人就答不上来了,而这些都是要在实践中得知的,需要真的去做过相关的业务。

思考过后,还是决定将一个播放器涉及到的方方面面做拆解,每个点都会去介绍,尽量做最大的涵盖面。

而且,播放器会涉及到音视频方方面面的知识,这些知识可以说是通用的。后续如果想做直播推流、视频编辑同样要用到这些知识,我也会把工作实践中遇到的问题和思考拿出来与大家分享。

因此,暂时拟定了几个方向如下:

  1. 首先是认识 MP4 视频,熟悉 MP4 封装格式,用工具去查看格式信息。

  2. 其次是解封装 MP4 ,除了用 FFmpeg 解封装之外,还会介绍其他的库去解析,甚至自己手动去解析 MP4 ,而且还可以推广到其他容器格式的学习。

  3. 接下来是解码,视频方面一步步去认识 H.264 编解码,认识 H.264 码流格式,并且手动去解析 H.264 格式,音频方面介绍 AAC 编解码,同样去解析 AAC 格式,另外再熟悉 FFmpeg 的解码流程,熟悉 API 的调用,尤其调用中的一些细节问题。

  4. 然后是播放,播放会涉及到的技术包括数据队列、音视频同步、丢帧、倍速等常见操作。

  5. 工作中的实践经验分享,更多的细节和思考,以及其他播放器项目的源码分析。

以上暂定的内容,后续肯定会有变化,只多不少吧,主要还是看我会想起哪些内容吧,但还是那个原则,尽量做最大的涵盖面。

如果你觉得漏掉了哪些,也可以给我提意见,一起补充上去。

当然了,这里面有些内容我自己还有知识盲区,需要去查漏补缺,但是没关系,哪怕篇幅长一点,也要把内容做好了,和大家一起冲!!!

关于播放器实践的专栏,后续大部分进展都会放在知识星球里面了,尤其是源码会在星球内同步更新,当然也会挑一些干货在公众号同步。

目前 音视频开发进阶知识星球 还在让利中,非常低的价格就可以获得业内一线开发人员的答疑解惑。

与其在群里面提问石沉大海,不如来星球有问必答,而且这个价格还是管一年的哦,一年的时间可以说是相当划算了。

同时星球内非常欢迎大家提问,尤其是我不会的问题,我会去找业内好朋友请教,既回答了你的问题又帮助了我提高。

想要加入的可以通过扫如下二维码进星球哦,iPhone 用户如果不能访问小程序的话,也可以加我微信 ezglumes 拉你进星球。

results matching ""

    No results matching ""