FFmpeg入门之Windows/Linux下FFmpeg源码编译

1.源码下载:

bash 复制代码
git clone https://github.com/FFmpeg/FFmpeg.git

windows :

macos:

ubuntu:

2.编译FFmpeg

CompilationGuide -- FFmpeg

windows:

1.下载yasm并安装 : Download - The Yasm Modular Assembler Project

下载后复制到c:/windows

2.下载SDL

3.下载H264/265源码

bash 复制代码
git clone https://code.videolan.org/videolan/x264.git

Index of /pub/videolan/x265/

4.开始编译FFmpeg源码:

打开MSYS-MinGW-64控制台,进入FFmpeg源码目录,输入./configure

配置完成如下:

编译中...

编译成功:

生成的EXE文件如下

安装: make install 会安装到/usr/local目录下

linux编译FFmpeg源码:

安装依赖包:

bash 复制代码
sudo apt-get install autoconf automake cmake git 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
bash 复制代码
sudo apt install libunistring-dev libaom-dev libdav1d-dev

安装nasm:

bash 复制代码
sudo apt-get install nasm

安装libx264:

bash 复制代码
sudo apt-get install libx264-dev

安装libx265:

bash 复制代码
sudo apt-get install libx265-dev libnuma-dev

安装V8/V9编解码器:

bash 复制代码
sudo apt-get install libvpx-dev

安装AAC音频编码器:

bash 复制代码
sudo apt-get install libfdk-aac-dev

安装OPUS音频编解码器:

bash 复制代码
sudo apt-get install libopus-dev

安装AV1 视频编解码器:

bash 复制代码
sudo apt-get install libaom-dev
sudo apt-get install libsvtav1-dev
sudo apt-get install libdav1d-dev
bash 复制代码
sudo apt-get install python3-pip && pip3 install --user meson

编译SVT-AV1编码器:

配置:

bash 复制代码
 ./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" \
  --ld="g++" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-gnutls \
  --enable-libaom \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libdav1d \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree

编译: make

安装: make install

生成成功

生成位置:

支持H264/H265

macOS编译FFmpeg:

1.安装Xcode与brew

2.安装xcode命令行工具:

复制代码
xcode-select --install

3.使用brew安装依赖库:

bash 复制代码
brew install automake fdk-aac git lame libass libtool libvorbis libvpx opus sdl shtool texi2html theora wget x264 x265 xvid nasm

依赖安装成功

配置GCC:

配置:

bash 复制代码
./configure  --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass 
--enable-libfdk-aac --enable-libfreetype --enable-libmp3lame 
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libopus --enable-libxvid 
--samples=fate-suite

编译: make

安装: sudo make install

相关推荐
GeniuswongAir10 小时前
苹果电脑上启动一个 RTSP 推流,用来做测试
ffmpeg
Benny的老巢13 小时前
n8n工作流通过Execute Command用FFmpeg处理音频,报错 stderr maxBuffer length exceeded的解决方案
ffmpeg·音频合成·n8n·n8n工作流·execute command
七夜zippoe2 天前
Spring Data JPA原理与实战 Repository接口的魔法揭秘
java·ffmpeg·事务·jpa·repository
Benny的老巢2 天前
n8n工作流中FFmpeg 视频截取失败排查:文件路径和参数顺序错误解决方案
chrome·ffmpeg·音视频
RockWang.3 天前
【配置】FFmpeg配置环境ubuntu踩坑记录。
ffmpeg
王者鳜錸3 天前
Java使用FFmpeg获取音频文件时长:完整实现与原理详解
java·开发语言·ffmpeg·音频时长
桃杬3 天前
用现代 C++ 封装 FFmpeg:从摄像头采集到 H.264 编码的完整实践
c++·ffmpeg·h.264
cvcode_study4 天前
FFmpeg 工具基础
ffmpeg
1nv1s1ble4 天前
记录一个`ffmpeg`的`swscale`库crash的例子
ffmpeg
CodeOfCC4 天前
C++ 实现ffmpeg解析hls fmp4 EXT-X-DISCONTINUITY并支持定位
开发语言·c++·ffmpeg·音视频