FFmpeg 自述文件
FFmpeg 是用于处理多媒体内容(例如音频,视频,字幕和相关元数据)的库和工具的集合。
库
- libavcodec 提供了更多编解码器的实现。
- libavformat 实现流协议,容器格式和基本I / O访问。
- libavutil 包括散列器,解压缩器和其他实用程序函数。
- libavfilter 提供了一种通过一系列过滤器更改解码的音频和视频的方法。
- libavdevice 提供访问访问捕获和回放设备的抽象。
- libswresample 实现音频混合和重采样例程。
- libswscale 实现颜色转换和缩放例程。
工具类
- ffmpeg 是用于处理、转换和流式传输多媒体内容的命令行工具箱。
- ffplay 是一种简约的多媒体播放器。
- ffprobe 是检查多媒体内容的简单分析工具。
- 其他小工具,例如 aviocat,ismindex 和 qt-faststart。
文献资料
脱机文档可在 doc/ 目录中找到。
在线文档可在主网站和 Wiki 中找到。
例子
编码示例可在 doc/examples 目录中找到。
许可
FFmpeg 代码库主要是根据 LGPL 许可的,并具有根据 GPL 许可的可选组件。有关详细信息,请参阅 LICENSE 文件。
贡献
应使用 git format-patch 或 git send-email 将补丁提交到 ffmpeg-devel 邮件列表。应该避免 Github 的请求,因为它们不是我们审核过程的一部分,将被忽略。
附录、简介
一个完整的,跨平台的解决方案用于记录、转换音频流和视频流。转换视频和音频从来没有这么容易:
$ ffmpeg -i input.mp4 output.avi
FFmpeg是领先的多媒体框架,能够解码、编码、转码、复用、解复用、流式传输、过滤和播放人类和机器创建的任何内容。它支持最晦涩难懂的古代格式,直至最前沿。无论它们是由某些标准委员会、社区还是公司设计的。
它还具有高度可移植性:FFmpeg在各种构建环境,机器架构和配置下,跨Linux,Mac OS X,Microsoft Windows,BSD,Solaris等编译,运行和传递我们的测试基础架构FATE。
它包含可供应用程序使用的libavcodec,libavutil,libavformat,libavfilter,libavdevice,libswscale和libswresample。以及最终用户可用于转码和播放的ffmpeg,ffplay和ffprobe。
FFmpeg项目试图为应用程序和最终用户的开发人员提供最佳技术可能的解决方案。为此,我们结合了最好的免费软件选项。我们稍微倾向于使用我们自己的代码来保持对其他库的依赖性较低,并最大化FFmpeg各部分之间的代码共享。无论何处无法回答“最佳”问题,我们都支持这两个选项,以便最终用户可以选择。
在FFmpeg欢迎每个人,也欢迎所有的贡献。我们很高兴收到补丁,拉取请求,错误报告,捐赠或任何其他类型的贡献。安全性是一个高优先级,代码审查始终考虑到安全性。虽然由于非常大量的代码涉及不受信任的数据安全问题是不可避免的,因此我们会在发现新的安全问题时尽快为我们上一个稳定版本提供更新。