FFmpeg&SDL教程:用不到1000行代码写一个播放器

更新:本教程最近一次更新于2015年2月。

FFmpeg是一个创建视频应用,甚至更通用程序的强大音视频工具库。FFmpeg能够完成视频处理过程中解码,编码,封装和解封装所有这些棘手工作。借助它,可以大大简化媒体应用程序的开发。它的代码非常精简,使用C语言开发,效率极高。并且可以解码几乎所有流行的视频压缩格式,也可以用来编码大多数视频格式。

但是,因为音视频的门槛较高,网上这方面的文档资料比较少。早年雷霄骅大神有过很多分析博客。而国外有些博客介绍FFmpeg,但都是英文。从事了这么多年音视频工作,现在想将外文博客翻译成中文,对这些年的工作做个整体全局性的回顾,记录在此专栏中。

FFmpeg有一个名为FFplay的示例程序。它是一个简单的C程序,使用FFmpeg实现了一个功能完整的视频播放器。本教程将基于最新版本(v2.6.3)的原始教程,开发一个可以使用的视频播放器。在本教程每个章节中,我将介绍一两个新想法并解释我们要怎么实现它。每个教程都有一个C文件,以便您可以下载、在自己电脑上编译运行。跟着本教程,我们将用不到1000行代码实现的视频播放器!

本播放器的开发,我们使用SDL输出媒体文件的音频和视频。 SDL是一个优秀的跨平台多媒体库,常用于MPEG解码播放、模拟器和许多游戏的渲染。您需要为自己电脑下载并安装SDL开发库,以便在本教程中编译程序。

本教程适用于有一定编程基础的开发者。至少你应该熟悉C语言,对队列,锁等基本概念有了解。您也应该了解一些关于多媒体的基础知识,像帧率、分辨率、YUV、I/B帧等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如何用FFmpeg一个简单播放器详细步骤介绍 FFMPEG一个很好的库,可以用来创建视频应用或者生成特定的工具。FFMPEG 几乎为你把所有的繁重工作都做了,比 如解码、编码、复用和解复用。这使得 多媒体应用程序变得容易编。它是一个简单的,用 C 编的,快速的并且能够 解码 几乎所有你能用到的格式,当然也包括编码多种格式。 唯一的问题是它的文档基本上是没有的。有一个单独的指导讲了它的基本原理另 外还有一个使用 doxygen 生成的文档。这就是为什么当我决定研究 FFMPEG 来弄 清楚音视频应用程序是如何工作的过程中,我决定把这个过程用文档的形式记录 并且发布出来作为初学指导的原因。 在 FFMPEG 工程中有一个示例的程序叫作 ffplay。它是一个用 C 编的利用 ffmpeg 来实现完整视频播放的简单播放器。这个指导将从原来 Martin Bohme 一个更新版本的指导开始(我借鉴了一些),基于 Fabrice Bellard 的 ffplay, 我将从那里开发一个可以使用的视频播放器。在每一个指导中,我将介 绍一个 或者两个新的思想并且讲解我们如何来实现它。每一个指导都会有一个 C 源文 件,你可以下载,编译并沿着这条思路来自己做。源文件将向你展示一个真正 的 程序是如何运,我们如何来调用所有的部件,也将告诉你在这个指导中技术实 现的细节并不重要。当我们结束这个指导的时候,我 们将有一个少于 1000 代 码的可以工作的视频播放器。 在播放器的过程中,我们将使用 SDL 来输出音频和视频SDL一个优秀的跨 平台的多媒体库,被用在 MPEG 播放、模拟器和很多视频游戏中。你将需要下载 并安装 SDL 开发库到你的系统中,以便于编译这个指导中的程序。 这篇指导适用于具有相当编程背景的人。至少至少应该懂得 C 并且有队列和互斥 量等概念。你应当了解基本的多媒体中的像波形一类的概念,但是你不必知道的 太 多,因为我将在这篇指导中介绍很多这样的概念。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值