概述
ffmpeg 可以执行广泛的任务,包括媒体文件的编码、解码、转码、多路复用、解多路复用、流式传输和过滤。它适用于各种平台,是开发人员和高级用户的必备工具。
主要功能
- 在各种音频/视频格式之间进行转换
- 视频过滤,如调整大小、裁剪、旋转等
- 音频提取和转换
- 流媒体处理
- 屏幕录制和网络摄像头捕获
主要选项
ffmpeg 提供了大量选项,以下是一些最常用的选项。
输入/输出控制
视频选项
音频选项
时间控制
生成的命令:
请尝试组合命令。
描述:
`ffmpeg` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
展示 ffmpeg 的各种用法。
将 MP4 文件转换为 AVI
ffmpeg -i input.mp4 output.avi
最基本的文件格式转换示例。
更改视频分辨率 (1280x720)
ffmpeg -i input.mp4 -vf scale=1280:720 output_hd.mp4
将视频分辨率更改为 1280x720。
从视频中提取音频 (MP3)
ffmpeg -i input.mp4 -vn -acodec libmp3lame output.mp3
从视频文件中仅提取音频流并保存为 MP3 文件。
裁剪视频的特定部分
ffmpeg -ss 00:00:10 -i input.mp4 -t 00:00:30 -c copy output_clip.mp4
从视频的第 10 秒开始裁剪 30 秒的片段。
将视频转换为 GIF 动画
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" -c:v gif output.gif
将视频转换为低文件大小的 GIF 动画。通过调整帧率和缩放进行优化。
安装
ffmpeg 通常不包含在大多数 Linux 发行版中,需要通过包管理器进行安装。
Debian/Ubuntu
sudo apt update
sudo apt install ffmpeg
使用 APT 包管理器进行安装。
Fedora/CentOS (dnf)
sudo dnf install ffmpeg
使用 DNF 包管理器进行安装。(可能需要 EPEL 存储库)
Arch Linux
sudo pacman -S ffmpeg
使用 Pacman 包管理器进行安装。
技巧与注意事项
为了更有效地使用 ffmpeg 的技巧和注意事项。
性能优化
- 将 `-ss` 选项放在 `-i` 前面可以减少输入文件搜索时间,从而更快地开始处理,但准确性可能会降低。
- 使用 `-c copy`(流复制)可以在不进行编码/解码过程的情况下直接复制流,从而实现非常快的处理。但是,输出容器必须支持输入流。
理解编解码器
- 理解视频编解码器(例如:`libx264`, `libvpx-vp9`)和音频编解码器(例如:`aac`, `libmp3lame`)非常重要。选择合适的编解码器对文件大小和质量有很大影响。
- 某些编解码器可能不包含在默认安装中,可能需要安装额外的库。
利用滤镜图
- 可以使用 `-vf`(视频滤镜)和 `-af`(音频滤镜)选项执行复杂的媒体操作。多个滤镜可以用逗号(`,`)连接,或者用分号(`;`)构建滤镜链。