Ubuntu安装ffmpeg教程
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
ffmpeg介绍
FFmpeg既是一款音视频编解码工具同时也是一组音视频编解码开发套件作为编解码开发套件它为开发者提供了丰富的音视频处理的调用接口。FFmpeg框架的基本组成包含AVFormat、AVCodec、AVFilter、AVDevice、AVUtil等模块库。其中各模块功能如下
AVFormat主要实现了目前多媒体领域的绝大多数媒体封装格式包括封装和解封装如MP4、FLV、TS等文件封装格式RTMP、HLS等网络协议封装格式。
AVCodec主要实现了目前多媒体领域的绝大多数常用的编解码格式既支持编码也支持解码。除了支持MPEG4、AAC等还可以支持第三方的编解码器如H264编码需要使用x264编码器H265需要x265编码器。
AVFilter库提供了一个通用的音频、视频、字幕等滤镜处理框架。在AVFilter中可以有多个输入和多个输出。
下载和安装
教程参考来自CompilationGuide/Ubuntu – FFmpeghttps://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
下载
进入FFmpeg官方下载网址选择Download Source Code即可。
或者使用如下命令获得最新版源码包。其中--no-check-certificate是为了解决网站认证问题。
wget --no-check-certificate -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
解压源文件
tar -xvjf ffmpeg-snapshot.tar.bz2
编译前准备
安装编译依赖
ffmpeg编译过程中依赖很多。官网给我们提供了apt命令我们可以在编译ffmpeg之前先安装这些依赖。如果占用空间太多可以在编译完成之后再remove掉。里面既有能够直接通过apt安装的也有必须通过源码安装的。
sudo apt-get update && sudo apt-get -y install \
autoconf \
automake \
build-essential \
cmake \
git-core \
libass-dev \
libfreetype6-dev \
libgnutls28-dev \
libmp3lame-dev \
libsdl2-dev \
libtool \
libva-dev \
libvdpau-dev \
libvorbis-dev \
libxcb1-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
meson \
ninja-build \
pkg-config \
texinfo \
wget \
yasm \
zlib1g-dev \
libunistring-dev
⦁ 安装NASM
sudo apt-get install nasm
⦁ 支持h264编码
sudo apt-get install libx264-dev
⦁ 支持h265
sudo apt-get install libx265-dev libnuma-dev
⦁ 支持VP8/VP9编码
sudo apt-get install libvpx-dev
⦁ 支持aac编码
sudo apt-get install libfdk-aac-dev
⦁ 支持opus编码
sudo apt-get install libopus-dev
⦁ 支持dash demuxer
sudo apt-get install libxml2
sudo apt-get install libxml2-dev
编译ffmpeg
进入源码目录
配置编译选项
./configure \
--extra-libs="-lpthread -lm" \
--ld="g++" \
--enable-gpl \
--enable-gnutls \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-libxml2 \
--enable-nonfree
编译
make
安装
sudo make install