FFmpeg 是一个完整的跨平台音视频解决方案,用于记录、转换和流式处理音视频。它是目前最强大的音视频处理开源软件之一,被广泛应用于视频网站、播放器、编码器等多种场景中。
FFmpeg项目包含以下主要组件:
根据最新的FFmpeg 7.1版本更新,主要包含以下重要特性:
根据需要选择其一下载、仅版本差异,功能相同:
解压路径需要添加到环境变量的 Path 中(没有Path变量可以新建):
在Path后面追加 ;D:\App\ffmpeg-7.1-full_build-shared\bin
打开命令行,输入ffmpeg -version
,如下图说是表示环境变量设置成功。
# 使用Chocolatey安装
choco install ffmpeg
# 使用Scoop安装
scoop install ffmpeg
# 更新软件源
sudo apt update
# 安装FFmpeg
sudo apt install ffmpeg
# 验证安装
ffmpeg -version
# 安装 Nux Dextop 仓库
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
# 安装FFmpeg
sudo yum install ffmpeg ffmpeg-devel
# 验证安装
ffmpeg -version
# 安装依赖
sudo apt install build-essential yasm cmake libtool libc6 libc6-dev unzip wget
# 下载源码
wget https://ffmpeg.org/releases/ffmpeg-7.1.tar.bz2
tar xjf ffmpeg-7.1.tar.bz2
cd ffmpeg-7.1
# 配置编译选项
./configure --enable-gpl --enable-libx264 --enable-libx265 --enable-nonfree
# 编译和安装
make -j$(nproc)
sudo make install
# 安装Homebrew(如果未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装FFmpeg
brew install ffmpeg
# 验证安装
ffmpeg -version
# 安装依赖
brew install yasm cmake pkg-config
# 下载并编译源码(步骤同Linux)
安装完成后,可以通过以下命令验证安装是否成功:
# 查看版本信息
ffmpeg -version
# 查看编译选项和支持的格式
ffmpeg -buildconf
# 查看支持的编解码器
ffmpeg -codecs
# 查看支持的封装格式
ffmpeg -formats
# 视频格式转换
ffmpeg -i input.mp4 output.avi
# 提取音频
ffmpeg -i input.mp4 -vn output.mp3
# 视频压缩
ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4
# 视频裁剪
ffmpeg -i input.mp4 -vf crop=w:h:x:y output.mp4
# 视频旋转
ffmpeg -i input.mp4 -vf transpose=1 output.mp4
# 其中:
w = 输出宽度(width)
h = 输出高度(height)
x = 裁剪起始点的 X 坐标(左上角)
y = 裁剪起始点的 Y 坐标(左上角)
# 添加水印
ffmpeg -i input.mp4 -i logo.png -filter_complex overlay output.mp4
# RTMP推流
ffmpeg -i input.mp4 -c copy -f flv rtmp://server/live/stream
# HLS切片
ffmpeg -i input.mp4 -c:v h264 -flags +cgop -g 30 -hls_time 5 playlist.m3u8
性能优化
质量控制
开发建议
FFmpeg 作为一个功能强大的音视频处理工具,不仅提供了丰富的命令行工具,还提供了完整的开发库支持。它的持续发展和开源特性使其成为音视频处理领域的首选工具。无论是个人开发者还是企业用户,都可以通过 FFmpeg 实现各种复杂的音视频处理需求。