FFmpeg 从零开始开发简单的音视频播放器(二)

简介和准备工作

一、FFmpeg

        FFmpeg是一套开源的、业界领先的多媒体框架,可以用来记录、转换数字音频、视频,并能将其转化为流。很多的视音频方案都离不开FFmepg,比如著名的VLC、MPlayer等。FFmpeg官网:http://ffmpeg.org/。

二、FFmpeg包含的开发库

  1. libavutil:是一个包含简化编程的函数库,包括随机数生成器、数据结构、数学例程、核心多媒体实用工具等等。
  2. libavcodec:是一个包含解码器和译码器的库,用于音频/视频编解码,也是音视频开发的重点库。
  3. libavformat:是一个包含了组合和拆分音视频的库,可以将视音频合并成一个文件(如mp4),也可以将其拆分为音视频。
  4. libavdevice:是一个包含输入和输出设备的库,用于抓取和呈现许多常见的多媒体输入/输出软件框架。
  5. libavfilter:是一个包含媒体过滤器的库。
  6. libswscale:是一个执行高度优化的图像缩放和彩色空间/像素格式转换操作的库,简单说就是图像格式转换(如yuv转rgb),是一个和视频处理相关的重点库。
  7. libswresample:是一个执行高度优化的音频重采样、重新矩阵和示例格式转换操作的库,简单说就是音频格式转换,是一个和音频处理相关的重点库。

三、FFmpeg编译和下载

        FFmpeg官方源码:http://ffmpeg.org/download.html

        官方编译教程:https://trac.ffmpeg.org/wiki/CompilationGuide

        下载源码后按照官方编译教程一步步编译,编译过程比较复杂且痛苦,需要花费一定时间。如果不想自己编译的同学,可以直接从官方下载编译好的库,下载地址:https://ffmpeg.zeranoe.com/builds/

FFmpeg 从零开始开发简单的音视频播放器(二)_第1张图片

        注意:官方编译好的库,使用的编译配置是默认配置,不过可以满足大多数需求,如果对编译配置有特别需求的同学,只能参照官方编译教程,一步一步来。(官方编译好的库,只能在win7以上的系统下运行,如果要在xp下运行,需要一些手段,后面我会说明)。

        我使用的版本是3.4.2,每个版本接口可能有差异。至此,准备工作已经完毕,下一章进入到工程搭建阶段。

你可能感兴趣的:(wpf,c#,FFmpeg,c++)