FFmpeg是非常流行的多媒体框架,主要用于音视频的解码、编码、转码、混流、过滤、播放等操作。
2000年,法国著名的程序员Fabrice Bellard创建FFmpeg项目,前两个字母FF是Fast Forward的意思,同时他也发起MPlayer开源多媒体播放器项目。
围绕FFmpeg后续将讲解FFmpeg的命令行操作,使用FFmpeg的API编写程序,深入源码进行分析等,本篇介绍FFmpeg如何安装,以及命令行程序的简单使用。
使用系统为Ubuntu 18.04.4 LTS,采用Ubuntu是因为该系统对于程序员开发十分友好,没有各种软件弹窗,很多日常娱乐的软件也没有。
如果是Mac OS系统,和Ubuntu的安装方法类似,前提需要安装Homebrew程序。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
使用Mac OS中的brew命令代替Ubuntu中的apt命令。
如果是Windows系统,可以参看官方提供的安装指南(https://trac.ffmpeg.org/wiki/CompilationGuide),建议在Windows中使用虚拟机进行学习,也可以使用Docker容器。
操作系统的差异在刚开始的学习时可能比较困扰,但是熟能生巧,三个系统都可以顺利地进行FFmpeg开发,没有必要担心系统的不同而无法学习的情况。
举个简单的例子,刚开始学习java的时候,需要安装JDK,网上有各种版本眼花缭乱。但是在理解JDK的原理之后,无论是哪种环境,都可以很容易地编写和运行java程序。
- 安装环境依赖
依赖根据系统而定,必须有最基本的编译工具。
sudo apt install build-essential nasm git cmake
- 下载源码
作为非常实用的代码管理工具,git的使用是必备的基础知识,后续将进行讲解。
git clone https://github.com/FFmpeg/FFmpeg
- 配置编译选项
除去编译动态库之外,都采用默认配置。
可以通过./configure --help查看具体的配置信息,在没有掌握FFmpeg前不建议进行更多的配置。
./configure --enable-shared
- 编译安装
生成Makefile后进行编译。
make
使用默认路径进行安装,install命令将库文件安装在/usr/local/lib/文件夹中,将头文件安装在/usr/local/include/文件夹中。
sudo make install
- 验证安装正确性
将FFmpeg库相关信息打印出来。
ffmpeg -version
安装之后,系统会带有ffplay,ffmpeg,ffprobe三个程序。
ffplay用于音视频的播放,比如需要播放视频文件。
ffplay test.mp4
注:test.mp4是视频测试文件,也可以任意使用MP3文件进行播放。
ffmpeg用于转码、过滤等操作,用法比较多比较复杂,比如将mp4文件转化为avi文件。
ffmpeg -i test.mp4 out.avi
ffprobe用于查看多媒体文件流的相关信息。
ffprobe test.mp4
会显示该文件使用H264格式进行视频编码,使用AAC格式进行音频编码。
以上为FFmpeg的安装和简单的使用,如果碰到问题可以在下面留言,后续的篇章将陆续介绍多媒体相关的知识。