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

相关推荐
EasyCVR9 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
简鹿办公9 小时前
使用 FFmpeg 进行音视频转换的相关命令行参数解释
ffmpeg·简鹿视频格式转换器·ffmpeg视频转换
EasyCVR13 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
runing_an_min13 小时前
ffmpeg 视频滤镜:屏蔽边框杂色- fillborders
ffmpeg·音视频·fillborders
岁月小龙1 天前
如何让ffmpeg运行时从当前目录加载库,而不是从/lib64
ffmpeg·origin·ffprobe·rpath
行者记2 天前
ffmpeg命令——从wireshark包中的rtp包中分离h264
测试工具·ffmpeg·wireshark
EasyCVR2 天前
国标GB28181视频平台EasyCVR私有化视频平台工地防盗视频监控系统方案
运维·科技·ffmpeg·音视频·1024程序员节·监控视频接入
hypoqqq2 天前
使用ffmpeg播放rtsp视频流
ffmpeg
cuijiecheng20182 天前
音视频入门基础:FLV专题(24)——FFmpeg源码中,获取FLV文件视频信息的实现
ffmpeg·音视频
QMCY_jason2 天前
黑豹X2 armbian 编译rkmpp ffmpeg 实现CPU视频转码
ffmpeg