跳转至

FFmpeg and SDL tutorial 1

怎样用不到1000行代码写一个视频播放器

FFmpeg是创建视频应用和通用组件的一个非常好的库。FFmpeg库将视频处理相关的解码、编码、装包、拆包等复杂操作都囊括在其中,这样极大的简化了媒体应用的编写。它使用C语言实现,具有简单、快速、可以编解码几乎所有当前流行的视频格式。

唯一的不足就是相关的文档不是很完善,学习起来比较费劲。这个简单的教程就是我在学习FFmpeg的时候,参考官网提供的一套教程,记录一下我的整个实践过程,因为FFmpeg也在不断的发展,这期间,会有一些API名称和调用方式的修改,可能与原来的教程所列出的代码不一致,如果你使用较新版本的FFmpeg,可能会有编译不通过的时候,所以,在我实践的时候,也会针对这种情况,只把我改写后并以对应版本编译通过的代码贴出来,以供大家参考,不过更主要的目的是为了加深我对FFmpeg的理解。

当这个教程学完之后,你就会有一个简单的视频播放器可以使用了 ;-)

这个视频播放器使用SDL输出媒体文件的音频和视频。SDL是针对MPEG播放软件、模拟器或视频游戏的优秀跨平台多媒体库。你需要安装SDL开发库来学习本教程。

这个教程需要读者有C语言开发经验,你需要知道诸如队列、拆包、波形以及一些多媒体相关的基本术语,本教程进行中也会对相关的概念作一些解释。