FFmpeg 命令使用的自学文档

以下是关于 FFmpeg 命令使用的自学文档,涵盖了基础命令、常用功能以及示例,适合自学使用。

FFmpeg 简介

FFmpeg 是一个开源的多媒体处理工具,支持音视频的编解码、转码、复用、解复用、流媒体处理等功能。

官方网站:https://ffmpeg.org

安装 FFmpeg

1. 下载与安装

  • Windows:

    1. 下载预编译的 FFmpeg 二进制文件:https://ffmpeg.org/download.html
    2. 解压后将路径添加到系统环境变量中。
  • Linux:

    1
    2
    sudo apt update
    sudo apt install ffmpeg
  • macOS:

    使用 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. 视频拼接

多个视频拼接成一个:

  1. 创建一个 file_list.txt 文件:
1
2
3
file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'
  1. 执行命令:
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 是一款强大的多媒体工具,掌握其常用功能后,可以快速处理音视频内容。本自学文档旨在帮助你快速入门和应用。对于更复杂的场景,建议深入研究官方文档和社区资源!