你是否经常为了转换音频视频到处寻找免费或者破解的收费软件?其实音频视频转换领域唯一的王者就是免费的FFmpeg ,虽然它只是一个命令行工具,但很多图形界面软件也不过是将各种FFmpeg 命令包装一下而已。以下就介绍几个实用音频视频转换命令,命令适用于 Windows / macOS / Linux,直接复制使用即可,只需将其中的 input.xxx (原始文件)和output.xxx(转换后的文件) 换成想要的输出路径及文件名。使用命令时,如不愿意在参数中输入长长的路径,可在相应路径下运行以下命令,例如在Windows中,可以先用cd命令转换到原始文件所在目录,或者在资源管理器中打开原始文件所在目录,然后在顶部的路径栏中输入cmd再回车。
1. 基础格式转换(推荐优先用流复制,速度快)
bash
# 视频转格式(几乎无损,速度极快)
ffmpeg -i input.mp4 -c copy output.mkv
ffmpeg -i input.mkv -c copy output.mp4
ffmpeg -i input.avi -c copy output.mp4
# 强制重新编码转格式(兼容性更好)
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
2. 去除 / 提取音频
bash
# 去掉音频(视频流直接复制,速度极快)
ffmpeg -i input.mp4 -c:v copy -an output.mp4
# 只提取音频(保留原音频格式)
ffmpeg -i input.mp4 -vn -c:a copy output.aac
ffmpeg -i input.mp4 -vn -c:a copy output.m4a
# 提取并转成 MP3
ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3
3. 视频压缩(常用)
bash
# H.264 压缩(推荐日常使用,质量与体积平衡)
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4
# 更小体积(质量稍降)
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset slow -c:a aac -b:a 96k output.mp4
# 高质量压缩(接近原画)
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k output.mp4
# 使用 H.265(体积更小,兼容性稍差)
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -c:a aac output.mp4
CRF 值说明:18≈接近无损,23=默认推荐,28=明显压缩。数值越大文件越小。
4. 调整分辨率 / 帧率 / 码率
bash
# 改分辨率(例如改成 1080p)
ffmpeg -i input.mp4 -vf scale=1920:1080 -c:a copy output.mp4
# 等比缩放(只指定宽度,高度自动计算)
ffmpeg -i input.mp4 -vf scale=1280:-2 -c:a copy output.mp4
# 改帧率
ffmpeg -i input.mp4 -r 30 -c:a copy output.mp4
# 限制视频码率
ffmpeg -i input.mp4 -b:v 2M -c:a copy output.mp4
5. 剪切 / 截取片段
bash
# 从指定时间开始截取(推荐,速度快)
ffmpeg -ss 00:01:30 -i input.mp4 -t 00:00:45 -c copy output.mp4
# 精确到某一秒(重新编码,更准确)
ffmpeg -ss 00:01:30 -i input.mp4 -to 00:02:15 -c:v libx264 -c:a aac output.mp4
6. 音频相关操作
bash
# 音频格式转换
ffmpeg -i input.wav -c:a libmp3lame -q:a 2 output.mp3
ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a
ffmpeg -i input.flac -c:a libmp3lame -q:a 0 output.mp3 # 高质量
# 调整音量(例如提高 2 倍)
ffmpeg -i input.mp3 -filter:a "volume=2.0" output.mp3
# 音频变速(不改变音调)
ffmpeg -i input.mp3 -filter:a "atempo=1.5" output.mp3
7. 合并 / 替换音轨
bash
# 把一个无声视频 + 一个音频合并
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -shortest output.mp4
# 替换视频的音频
ffmpeg -i video.mp4 -i new_audio.mp3 -c:v copy -map 0:v:0 -map 1:a:0 -shortest output.mp4
8. 其他实用命令
bash
# 视频转 GIF(控制帧率和尺寸)
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos" -c:v gif output.gif
# 提取视频某一帧作为图片
ffmpeg -ss 00:00:10 -i input.mp4 -frames:v 1 -q:v 2 screenshot.jpg
# 查看视频信息
ffmpeg -i input.mp4
# 硬件加速(NVIDIA 显卡,速度更快)
ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -crf 23 output.mp4
使用小技巧
- 加
-y可以自动覆盖已有文件:ffmpeg -y -i ... - 想看详细进度可加
-stats - 多线程编码可加
-threads 0(自动使用所有核心) - 如需了解以上命令中的参数的具体含义,可以用以下方式查看文档:
bash
# 基本帮助(常用参数)
ffmpeg -h
# 更详细的帮助
ffmpeg -h long
# 完整帮助(包含所有编码器、过滤器等,内容非常多)
ffmpeg -h full
# 把帮助内容保存到文件,然后用文本编辑软件打开,便于直接搜索相关参数
ffmpeg -h full > ffmpeg_help.txt