FFmpeg 简介

本文最后更新于:1 年前

Reference


基本组成

  • 封装模块 AVFormat;
  • 编解码模块 AVCodec;
  • 滤镜模块 AVFilter;
  • 输入输出设备模块 AVDevice;
  • 工具模块 AVUtil;
  • 视频图像转换计算模块 swscale;
  • 音频转换计算模块 swresample。

编解码工具 ffmpeg

ffmpeg 是 FFmpeg 源代码编译后生成的一个可执行程序,其可以作为命令行工具使用。

ffmpeg 的主要工作流程是:
1、解封装;
2、解码;
3、编码;
4、封装。


播放器 ffplay

ffplay 是 FFmpeg 源代码编译后生成的一个可执行程序,其提供了音视频显示和播放相关的图像信息、音频的波形信息等。


多媒体分析器 ffprobe

ffprobe 是 FFmpeg 源代码编译后生成的一个可执行程序,其可以从媒体文件或者媒体流中获得你想要了解的媒体信息,比如音频的参数、视频的参数、媒体容器的参数信息等。


编译源代码

安装依赖

1
2
sudo apt-get update
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev

创建文件夹

1
mkdir ~/ffmpeg_sources

安装编译器(二选一)

NASM

1
2
3
4
5
6
7
8
cd ~/ffmpeg_sources
wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.bz2
tar xjvf nasm-2.13.03.tar.bz2
cd nasm-2.13.03
./autogen.sh
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install

YASM

1
sudo apt-get install yasm

安装编解码库

libx264

1
sudo apt-get install libx264-dev

libx265

1
sudo apt-get install libx265-dev

libvpx

1
sudo apt-get install libvpx-dev

libfdk-aac

1
sudo apt-get install libfdk-aac-dev

libmp3lame

1
sudo apt-get install libmp3lame-dev

libopus

1
sudo apt-get install libopus-dev

安装 SDL2

否则无法使用 ffplay 命令,使用时会报错:The program 'ffplay' is currently not installed.

下载 SDL2 源代码

SDL 官网下载 SDL2

编译 SDL2

1、解压缩 SDL2-2.0.8.tar.gz

2、编译 SDL2

1
2
3
4
cd ~/Downloads/SDL2-2.0.8
./configure
make
sudo make install

编译 FFmpeg

1
2
3
4
5
6
7
8
9
10
11
cd ~/ffmpeg_sources
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH"
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --extra-libs="-lpthread -lm" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree
PATH="$HOME/bin:$PATH"
make
sudo make install
hash -r

让 ffmpeg 命令立刻生效

1
source ~/.profile

注:ffplay 命令需要手动配置 FFmpeg 环境变量并重启 PC

查看 ffmpeg 版本

1
ffmpeg -version



FFmpeg 简介
https://weichao.io/13759d3c0e43/
作者
魏超
发布于
2018年5月11日
更新于
2022年12月4日
许可协议