FFmpeg是一款开源的跨平台音视频处理工具,支持视频转码、剪辑、流媒体处理等复杂操作,以下为常用命令及详细解释,适用于Windows、macOS和Linux系统:
基础命令结构
ffmpeg [全局参数] [输入参数] -i [输入文件] [输出参数] [输出文件]
- 全局参数:如
-y
(覆盖输出文件)、-v quiet
(静默模式) - 输入/输出参数:指定编解码器、分辨率等
高频使用场景
格式转换(MP4转MOV)
ffmpeg -i input.mp4 output.mov
提取音频
ffmpeg -i video.mp4 -vn -acodec copy audio.aac # 无损提取 ffmpeg -i video.mp4 -q:a 0 -map a audio.mp3 # 转MP3(-q:a 0为最高质量)
调整视频分辨率
ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4 # 缩放到720p ffmpeg -i input.mp4 -vf "scale=640:-1" output.mp4 # 宽度640,高度自适应
裁剪视频片段
ffmpeg -i input.mp4 -ss 00:01:30 -to 00:02:30 -c:v copy -c:a copy output.mp4``` #### 5. **压缩视频体积** ```bash ffmpeg -i input.mp4 -crf 28 output.mp4 # CRF值18~28(值越大文件越小,质量越低)
添加水印
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4 # overlay=10:10 表示水印位于左上角(10,10)坐标
合并多个视频
# 创建文件列表(list.txt内容:file 'clip1.mp4'\nfile 'clip2.mp4') ffmpeg -f concat -i list.txt -c copy output.mp4
高级功能
调整播放速度
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" -af "atempo=2.0" output.mp4 # 视频加速2倍(setpts=0.5),音频同步加速(atempo=2.0)
添加字幕
ffmpeg -i video.mp4 -vf "subtitles=subtitle.srt" output.mp4
屏幕录制
ffmpeg -f avfoundation -i "1:0" screen.mp4 # macOS ffmpeg -f gdigrab -i desktop screen.mp4 # Windows
生成GIF
ffmpeg -i input.mp4 -ss 00:00:05 -t 3 -vf "fps=10,scale=320:-1" output.gif # 从第5秒开始,截取3秒,10帧/秒,宽度320px
常见问题解决
-
报错「Unsupported codec」
安装完整版FFmpeg:从官网ffmpeg.org下载,或编译时启用--enable-libx264
。 -
视频音画不同步
使用-async 1
参数同步音轨:ffmpeg -i input.mp4 -async 1 output.mp4
-
处理大文件卡顿
添加-preset fast
参数提升速度(如-preset veryfast
)。
学习资源推荐
- 官方文档:FFmpeg Documentation
- 命令生成器:FFmpeg Explorer(可视化操作)
- 开源项目:GitHub – FFmpeg/FFmpeg
引用说明:本文命令基于FFmpeg 6.0版本测试,参考官方文档及社区最佳实践,数据编码标准引用自IETF RFC 6716(AAC音频规范)和ITU-T H.264(视频压缩标准)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9316.html