FFMPEG 中级指南
本手册可能需要更新以反映当前知识。 你可以帮助更新它,讨论进度,或请求帮助。 |
FFmpeg 是一个自由软件项目,它生成用于处理多媒体数据的库和程序。FFmpeg 包括 libavcodec,一个由其他多个项目使用的音频/视频编解码库,libavformat,一个音频/视频容器复用器和解复用器库,以及 ffmpeg 命令行程序,用于转码多媒体文件。FFmpeg 主要在 GNU 宽通用公共许可证 v2.1 下发布,某些组件可能在 GNU 通用公共许可证 v2 下获得许可。该程序及其库也受到全球公司和消费者的广泛使用。
对于初学者来说,文档可能很可怕而且令人不知所措,因此本手册将指导您了解使用 FFmpeg 的基础知识。它包含最佳实践,定义概念,也可能包含一些问题解决方法。欢迎您参与本手册的开发。
- 基本转码
- 安装 FFmpeg 和 GUI
- 格式
- 选项
- 连接
- 高级视频选项
- 音频选项
- 高级音频选项
- 字幕选项
- 音频/视频抓取选项
- AVCodecContext|AVOptions
- AVCodecContext AVOptions
- AVFormatContext AVOptions
- SWScaler AVOptions
- 问题
FFmpeg 是一款音频和视频转码器,它与计算机的终端进行交互。这意味着,如果您想直接使用 ffmpeg,则必须使用终端。但是,如果您愿意,可以安装图形界面。
FFmpeg 在最基本的情况下,会解码输入文件并将其编码为输出文件。这些文件可以是您想要的任何文件,可以在您想要的任何位置。
ffmpeg -i input.avi output.mp4
让我们逐个介绍这行代码的每个部分,看看它们意味着什么
ffmpeg
这是一个名为 FFmpeg 的程序,我们告诉它从我们的环境路径或我们所在的文件夹运行,具体取决于您安装它的位置。环境路径是一个系统范围的目录,它允许您从系统中的任何其他位置访问其他命令,例如 cd
。如果您收到类似于“找不到 ffmpeg”的消息,则意味着您需要在同一个文件夹中运行 FFmpeg,或者将其移动到已设置为命令行环境路径的文件夹中。这在每个系统的安装部分中都有介绍。
-i
这是一个标志,它告诉 FFmpeg 为其使用一个值。在这种情况下,i
表示 **输入**。我们希望告诉 FFmpeg 我们的输入文件位于哪里。请务必包含扩展名。
output.mp4
然后,我们简单地告诉 FFmpeg 将新文件放在哪里。在这个例子中,我们没有明确地告诉 FFmpeg 使用什么格式;当我们在输出中键入扩展名时,它会假设我们想要使用最匹配的结果(在本例中是 MP4)。
请注意,FFmpeg 预计在每个空格后输入新的命令/设置。如果您要指向一个文件夹或文件路径包含空格的位置,请在路径周围加上引号,如下面的示例所示。在没有空格的情况下通常不需要这样做,但在有空格的情况下是必需的。
ffmpeg -i "video 2011-05.mpg" -b 3000k "video 2011-05.mov"
-b
这是另一个标志,它告诉 FFmpeg 视频在播放的每秒中应该放入多少位。更高的比特率并不总是意味着更高的质量。请参阅一般部分以了解解释。
现在您已经了解了 FFmpeg 中创建视频文件的 basics,您可以继续学习其他部分。我个人建议先学习音频,这样您就可以对音频的自定义有一个直观的了解。