跳转至

FFmpeg常用指令

📌 FFmpeg 指令大全(跨平台通用)

注意:所有指令在 Windows/macOS/Linux/Android(Termux) 通用,仅文件路径分隔符不同(Windows 用 \,其他用 /

1. 视频下载与流处理

指令 功能 示例
ffmpeg -i "URL.m3u8" -c copy output.mp4 下载 M3U8 视频(直接复制流) ffmpeg -i "https://example.com/video.m3u8" -c copy video.mp4
ffmpeg -i URL -c copy -bsf:a aac_adtstoasc output.mp4 修复 AAC 音频问题
ffmpeg -i URL -threads 8 -http_multiple 1 -c copy output.mp4 多线程加速下载
ffmpeg -protocol_whitelist "file,http,https,tcp,tls" -i URL 强制允许所有协议

2. 视频裁剪与分割

指令 功能 示例
ffmpeg -i input.mp4 -ss 00:01:30 -to 00:02:45 -c copy output.mp4 精确剪切片段(不重编码)
ffmpeg -ss 00:05:00 -i input.mp4 -to 00:01:00 -c copy clip.mp4 快速剪切(关键帧对齐)
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4 旋转视频(1=90°顺时针)
ffmpeg -i input.mp4 -filter_complex "[0:v]crop=640:480:100:50[v]" -map "[v]" output.mp4 区域裁剪(宽:高:X:Y)

3. 格式转换与压缩

指令 功能 示例
ffmpeg -i input.mp4 output.avi 基础格式转换
ffmpeg -i input.mp4 -c:v libx265 -crf 24 -preset fast output.mp4 H.265 高效压缩
ffmpeg -i video.mp4 -vn audio.mp3 提取音频
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1" output.gif 视频转 GIF

4. 高级处理

指令 功能 示例
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4 替换音频
ffmpeg -i input.mp4 -vf "subtitles=sub.srt" output.mp4 硬编码字幕
ffmpeg -f avfoundation -i "1:0" screen.mp4 屏幕录制(macOS) ffmpeg -f gdigrab -i desktop screen.mp4 (Windows)

** FFmpeg 跨平台差异**

平台 安装方式 硬件加速 路径示例
Windows 官网下载 exe -c:v h264_qsv (Intel) ffmpeg -i "C:\Videos\input.mp4"
macOS brew install ffmpeg -c:v h264_videotoolbox ffmpeg -i ~/Movies/input.mov
Linux sudo apt install ffmpeg -c:v h264_vaapi ffmpeg -i /home/user/video.mp4
Termux pkg install ffmpeg 不支持硬件加速 ffmpeg -i ~/storage/videos/input.mp4

📌 通用使用技巧

  1. 特殊字符处理(所有平台):

文件名含空格/括号时用引号包裹

  1. 调试与日志
    bash ffmpeg -i input.mp4 -progress - -y output.mp4 # 显示进度

  2. 性能优化
    bash # FFmpeg 多线程编码 ffmpeg -i input.mp4 -threads 8 output.mp4

  3. 跨平台路径规范
    bash # 推荐统一使用正斜杠和相对路径 ffmpeg -i ./videos/input.mp4 ./output/result.mp4


黄金法则
- 路径用引号包裹避免特殊字符问题
- 涉及系统操作时检查平台权限(如写入 / 目录)
- 敏感操作前加 --dry-run 模拟执行