嘿嘿,在此之前从来没有用c写个一个简单的demo,最多也是用c写写数据结构练习题什么的,通过这个学习了解了很多以前不了解的东西。
本人比较懒,做什么事情都是只有三分钟热度,但是一直对ffmpeg解码向往而入门不得。《零基础学习视频解码》系列文章严格意义上来说不算是原创,我无非是将按照http://dranger.com/ffmpeg/这个介绍在Ubuntu 14.04上面用Eclipse+CDT插件去实现了一遍,原文中的很多接口在ffmpeg2.3上面变了,有些接口甚至被删除了,这导致大多数情况下原文的例子编译不过,极大降低了大家的学习的热情。在本系列文章中这些都是可以编译通过并且运行成功的,这点是博主亲自测试通过的。
本系列文章不针对大牛,如果你是大神级别基本可以绕过,因为本人理解能力有限,系列文章中的音视频同步这几章都是直接翻译的dranger中的讲解,如有不妥还望指正。后续如果有精力继续研究将其完善和补充。
也有园友可能会发现这里面没有视频流预缓冲啊,没有字幕的处理啊,SDL使用的是1.2的为什么不使用SDL2.0,如何播放网络视频等等。原因只有一个,博主能力不够哇,套用前同事鄙视我的一句话:就是一个字,搓!!!
言归正转,本系列文章不是如何做一个完整的视频播放器,只是帮自己也帮大家来入门,知道如何使用ffmpeg来解码。如果想更加深入了解,可以详细去参考ffplay源码,里面有很多细节的处理,包括字幕的处理。
最后,也祝大家早日成为视频编解码界大神一般的存在!
[原]零基础学习视频解码之后记
时间: 2024-10-23 03:14:23