ffmpeg怎么用
安装FFmpeg
- Windows: 下载编译好的二进制文件并添加至系统PATH
- Mac:
brew install ffmpeg
- Linux:
sudo apt install ffmpeg
(Ubuntu/Debian) 或sudo yum install ffmpeg
(CentOS/RHEL)
基础命令结构
`
bash
ffmpeg [全局选项] {[输入文件选项] -i 输入文件} ... {[输出文件选项] 输出文件} ...
`
常用操作示例
视频转换格式
`
bash
ffmpeg -i input.mp4 output.avi
`
提取音频
`
bash
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
`
调整视频分辨率
`
bash
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
`
剪切视频片段
`
bash
ffmpeg -i input.mp4 -ss 00:01:30 -to 00:02:30 -c copy output.mp4
`
合并视频文件
- 创建文本文件
filelist.txt
包含:file 'video1.mp4' file 'video2.mp4'
- 执行合并:
`
bash ffmpeg -f concat -i filelist.txt -c copy output.mp4`
高级功能
添加水印
`
bash
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4
`
调整视频比特率
`
bash
ffmpeg -i input.mp4 -b:v 1500k output.mp4
`
提取视频帧为图片
`
bash
ffmpeg -i video.mp4 -r 1 -f image2 image-%03d.jpg
`
实用技巧
- 使用
-preset
参数控制编码速度与压缩率(ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow) - 添加
-y
参数自动覆盖输出文件 - 使用
-hide_banner
参数隐藏启动信息 - 查看支持的编解码器:
ffmpeg -codecs
获取帮助
`
bash
ffmpeg -h
ffmpeg -h full
ffmpeg -h encoder=libx264
`
注意:FFmpeg参数顺序很重要,确保选项放在正确的位置(输入文件前或输出文件前)
ffmpeg怎么用入门教程?
安装FFmpeg
Windows系统
- 访问FFmpeg官网下载Windows版本
- 解压下载的压缩包
- 将bin目录添加到系统PATH环境变量
Mac系统
`
bash
brew install ffmpeg
`
Linux系统
`
bash
sudo apt-get install ffmpeg # Debian/Ubuntu
sudo yum install ffmpeg # CentOS/RHEL
`
基础命令结构
`
bash
ffmpeg [全局选项] {[输入文件选项] -i 输入文件} ... {[输出文件选项] 输出文件} ...
`
常用操作示例
视频转换格式
`
bash
ffmpeg -i input.mp4 output.avi
`
提取音频
`
bash
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
`
调整视频分辨率
`
bash
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4
`
剪切视频片段
`
bash
ffmpeg -i input.mp4 -ss 00:01:30 -t 00:00:20 -c copy output.mp4
`
合并视频文件
- 创建文本文件filelist.txt,内容为:
file 'video1.mp4' file 'video2.mp4'
- 执行合并命令:
`
bash ffmpeg -f concat -i filelist.txt -c copy output.mp4`
添加水印
`
bash
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4
`
实用技巧
查看视频信息:
`
bash ffmpeg -i video.mp4`
调整视频质量:
`
bash ffmpeg -i input.mp4 -crf 23 output.mp4 # CRF值18-28,数值越小质量越高`
提取视频帧为图片:
`
bash ffmpeg -i video.mp4 -r 1 -f image2 image-%03d.jpg`
转换视频为GIF:
`
bash ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" -c:v gif output.gif`
注意事项
- 使用
-c copy
可以避免重新编码,加快处理速度 - 添加
-y
参数可以自动覆盖已存在文件 - 使用
-preset
参数可以控制编码速度与压缩率的平衡 - 处理大文件时建议使用
-movflags +faststart
参数优化网络播放
ffmpeg怎么用转换视频格式?
`
markdown
基础转换命令
`
bash
ffmpeg -i input.mp4 output.avi
`
- -i
指定输入文件
- 输出格式由文件扩展名自动判断
常用格式转换示例
MP4转MOV:
`
bash ffmpeg -i input.mp4 -c:v copy -c:a copy output.mov`
AVI转MP4:
`
bash ffmpeg -i input.avi -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 192k output.mp4`
MKV转MP4:
`
bash ffmpeg -i input.mkv -codec copy output.mp4`
高级参数控制
指定视频质量(CRF值18-28,越小质量越高):
`
bash ffmpeg -i input.mp4 -c:v libx264 -crf 20 output.mp4`
调整视频分辨率(缩放为720p):
`
bash ffmpeg -i input.mp4 -vf scale=-1:720 output.mp4`
改变帧率(设置为30fps):
`
bash ffmpeg -i input.mp4 -r 30 output.mp4`
音频控制
提取音频:
`
bash ffmpeg -i input.mp4 -vn -acodec copy output.aac`
修改音频码率:
`
bash ffmpeg -i input.mp4 -b:a 128k output.mp4`
批量转换脚本
`
bash
for file in *.avi; do
ffmpeg -i "$file" "${file%.avi}.mp4"
done
`
常见问题解决
- 编码器不支持错误:安装对应编码器或使用
-c:v copy
尝试流复制 - 文件损坏:尝试添加
-err_detect ignore_err
参数 - 内存不足:使用
-preset ultrafast
降低资源占用
推荐实践
- 转换前先用
ffmpeg -i input.mp4
检查源文件信息 - 重要转换前先用小片段测试参数效果
- 保留原始文件直到确认转换结果满意
`
ffmpeg怎么用提取音频?
`
markdown
基础命令格式
`
bash
ffmpeg -i 输入视频文件 -vn -acodec copy 输出音频文件
`
常用音频提取方法
直接提取原始音频流
`
bash ffmpeg -i input.mp4 -vn -acodec copy output.aac`
-vn
禁用视频流-acodec copy
使用原始音频编码转换为MP3格式
`
bash ffmpeg -i input.mp4 -q:a 0 -map a output.mp3`
-q:a 0
保持最高质量(0-9,0最好)-map a
只处理音频流提取特定时间段音频
`
bash ffmpeg -i input.mp4 -ss 00:01:30 -t 00:00:30 -vn output.mp3`
-ss
开始时间-t
持续时间
高级选项
批量处理文件夹内所有视频
`
bash for f in *.mp4; do ffmpeg -i "$f" -vn "${f%.mp4}.mp3"; done`
调整音频质量
`
bash ffmpeg -i input.mp4 -b:a 192k output.mp3`
*-b:a
设置比特率(常用128k/192k/320k)多声道处理
`
bash ffmpeg -i input.mp4 -ac 2 output.mp3`
*-ac 2
转换为立体声
常见问题解决
处理不支持的格式
`
bash ffmpeg -i input.mov -c:a libmp3lame output.mp3`
修复时间戳问题
`
bash ffmpeg -fflags +genpts -i input.mp4 -vn output.mp3`
提取多音轨
`
bash ffmpeg -i input.mkv -map 0:a:0 track1.mp3 -map 0:a:1 track2.mp3`
注意事项
- 确保已安装FFmpeg并添加到系统PATH
- 使用
ffmpeg -codecs
查看支持的编码格式 - 处理前可用
ffmpeg -i input.mp4
查看音视频流信息 - 大文件处理可能需要较长时间
`