FFmpeg 命令使用的自学文档
以下是关于 FFmpeg 命令使用的自学文档,涵盖了基础命令、常用功能以及示例,适合自学使用。
FFmpeg 简介
FFmpeg 是一个开源的多媒体处理工具,支持音视频的编解码、转码、复用、解复用、流媒体处理等功能。
官方网站:https://ffmpeg.org
安装 FFmpeg
1. 下载与安装
Windows:
- 下载预编译的 FFmpeg 二进制文件:https://ffmpeg.org/download.html
- 解压后将路径添加到系统环境变量中。
Linux:
1
2sudo apt update
sudo apt install ffmpegmacOS:
使用 Homebrew 安装:
1
brew install ffmpeg
基本命令格式
1 | ffmpeg [全局选项] -i 输入文件 [输出选项] 输出文件 |
常用参数:
• -i:指定输入文件。
• -y:覆盖输出文件(如果已存在)。
• -t:设置处理的时长。
• -ss:设置起始时间(格式:hh:mm:ss)。
• -vf:设置视频滤镜。
• -af:设置音频滤镜。
• -c:v:指定视频编码器。
• -c:a:指定音频编码器。
• -b:v:设置视频码率。
• -b:a:设置音频码率。
• -r:设置帧率。
• -s:设置视频分辨率(例如 1920x1080)。
常用功能示例
1. 查看文件信息
1 | ffmpeg -i input.mp4 |
2. 视频格式转换
将 MP4 转为 AVI:
1 | ffmpeg -i input.mp4 output.avi |
3. 裁剪与截取视频
截取从 00:01:00 开始的 10 秒:
1 | ffmpeg -i input.mp4 -ss 00:01:00 -t 10 output.mp4 |
4. 添加水印
文字水印:
1 | ffmpeg -i input.mp4 -vf "drawtext=text='水印文本':x=10:y=10:fontsize=24:fontcolor=white" -c:a copy output.mp4 |
图片水印(右下角):
1 | ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=W-w-10:H-h-10" -c:a copy output.mp4 |
5. 提取音频
从视频中提取音频为 MP3:
1 | ffmpeg -i input.mp4 -q:a 0 -map a output.mp3 |
6. 合并音频与视频
将音频 audio.mp3 与视频 video.mp4 合并:
1 | ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4 |
7. 压缩视频
通过调整视频码率压缩:
1 | ffmpeg -i input.mp4 -b:v 1000k -b:a 128k output.mp4 |
8. 改变分辨率
调整分辨率为 1280x720:
1 | ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4 |
9. 改变帧率
设置帧率为 30fps:
1 | ffmpeg -i input.mp4 -r 30 output.mp4 |
10. 视频旋转
旋转 90 度:
1 | ffmpeg -i input.mp4 -vf "transpose=1" output.mp4 |
11. 视频拼接
多个视频拼接成一个:
- 创建一个 file_list.txt 文件:
1 | file 'video1.mp4' |
- 执行命令:
1 | ffmpeg -f concat -safe 0 -i file_list.txt -c copy output.mp4 |
FFmpeg 滤镜基础
1. 视频滤镜
- scale:调整视频分辨率。
- crop:裁剪视频(crop=width:height:x:y)。
- overlay:叠加图片。
- drawtext:添加文字水印。
2. 音频滤镜
- volume:调整音量(volume=2.0 表示音量加倍)。
- aecho:添加回声效果。
进阶技巧
1. 多线程加速
指定线程数(如 4 个线程):
1 | ffmpeg -i input.mp4 -threads 4 output.mp4 |
2. 静音视频
移除音频:
1 | ffmpeg -i input.mp4 -an output.mp4 |
3. 处理多路音频
保留特定音频流(如第一个音轨):
1 | ffmpeg -i input.mp4 -map 0:v -map 0:a:0 output.mp4 |
常见问题
1. 如何处理错误 Unknown encoder?
安装相关编码器或编译支持对应的格式。
2. 输出文件大小为 0?
检查命令中是否遗漏 -i 或输入路径错误。
学习资料
• FFmpeg 官方文档:https://ffmpeg.org/documentation.html
• FFmpeg 过滤器指南:https://ffmpeg.org/ffmpeg-filters.html
总结
FFmpeg 是一款强大的多媒体工具,掌握其常用功能后,可以快速处理音视频内容。本自学文档旨在帮助你快速入门和应用。对于更复杂的场景,建议深入研究官方文档和社区资源!