🔧 一、FFmpeg 核心定义
跨平台音视频处理框架:开源工具集,支持录制、转换、流化音视频,覆盖几乎所有主流格式(MP4、MKV、AVI、FLV 等)和编解码标准(H.264/AVC、H.265/HEVC、AAC、Opus等)24。
核心组件:
ffmpeg:音视频转码工具(如格式转换、压缩)47。
ffplay:简易播放器4。
ffprobe:媒体流分析器4。
开发库(如 libavcodec编解码库、libavfilter滤镜库)56。
⚙️ 二、核心功能与应用
- 格式转换与压缩
bash
Copy Code
基础转换(自动匹配编解码器)
ffmpeg -i input.rmvb output.mp4
指定参数转码(H.264视频 + AAC音频)
ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -b:a 192k output.mp4:ml-citation{ref=“7,10” data=“citationList”}
关键参数:
-crf:画质控制(18~28为常用范围,值越小画质越高)7。
-b:v:视频比特率(如 -b:v 1000k 压缩体积)7。
2. 高级处理
视频剪辑:截取片段(-ss起始时间 -t持续时间)
bash
Copy Code
ffmpeg -i input.mp4 -ss 00:01:30 -t 10 output_clip.mp4:ml-citation{ref=“7,10” data=“citationList”}
添加滤镜:调整分辨率(scale)、旋转(transpose)
bash
Copy Code
ffmpeg -i input.mp4 -vf “scale=640:480,transpose=1” output.mp4:ml-citation{ref=“7” data=“citationList”}
流媒体推流:支持 RTMP、HLS 协议
bash
Copy Code
ffmpeg -i input.mp4 -c copy -f flv rtmp://live.example.com/stream:ml-citation{ref=“4” data=“citationList”}
3. 媒体分析
bash
Copy Code
查看视频详细信息(编码格式、分辨率、时长等)
ffprobe -v error -show_format -show_streams input.mp4:ml-citation{ref=“4,5” data=“citationList”}
📦 三、安装与配置
Windows:官网下载预编译版本,配置环境变量711。
Linux/macOS:
bash
Copy Code
sudo apt-get install ffmpeg # Debian/Ubuntu
brew install ffmpeg # macOS (Homebrew):ml-citation{ref=“1,4” data=“citationList”}
⚠️ 四、常见问题处理
DLL缺失错误(Windows):
重新安装 FFmpeg 或修复系统依赖库1314。
使用工具自动修复(如专用 DLL 修复软件)13。
编解码器不支持:
查看支持的编解码器列表:ffmpeg -codecs79。
安装扩展编码器(如 libx265)后重新编译 FFmpeg6。
💡 五、典型应用场景
媒体转码:老旧格式(如 RMVB)转 MP4/WebM11。
直播推流:实时转换摄像头输入至 RTMP 服务器4。
自动化处理:批量转换脚本(Windows 示例):
bat
Copy Code
@echo off
for %%a in (*.rmvb) do ffmpeg -i “%%a” “%%~na.mp4”:ml-citation{ref=“7” data=“citationList”}
FFmpeg 凭借其完备的功能库和命令行灵活性,已成为音视频处理领域的底层基石。掌握基础命令与参数组合,可应对绝大多数媒体处理需求。