教程菜单 本页目录

介绍

FFmpeg 是领先的多媒体框架,能够解码、编码、转码、复用、解复用、流式传输、过滤和播放人类和机器创建的几乎所有内容。它支持最晦涩的古老格式,直至最前沿的格式。无论它们是由某个标准委员会、社区还是公司设计的。它还具有高度的可移植性:FFmpeg 在各种构建环境、机器架构和配置下,在 Linux、Mac OS X、Microsoft Windows、BSD、Solaris 等平台上编译、运行并通过我们的测试基础设施 FATE。

它包含 libavcodec、libavutil、libavformat、libavfilter、libavdevice、libswscale 和 libswrecodele,可供应用程序使用。以及 ffmpeg、ffplay 和 ffprobe,可供最终用户用于转码和播放。

FFmpeg 项目试图为应用程序开发人员和最终用户提供技术上最佳的解决方案。为了实现这一目标,我们结合了可用的最佳免费软件选项。我们略微偏向于自己的代码,以保持对其他库的依赖性较低,并最大限度地实现 FFmpeg 各部分之间的代码共享。当无法回答“最佳”问题时,我们支持两种选择,以便最终用户可以选择。

FFmpeg 欢迎所有人,也欢迎所有贡献。我们很高兴收到补丁、拉取请求、错误报告、捐赠或任何其他类型的贡献。

安全是重中之重,代码审查始终以安全为重。尽管由于大量代码涉及不受信任的数据,安全问题是不可避免的,因此当发现新的安全问题时,我们会尽快更新我们最新的稳定版本。

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

FFmpeg 工具

ffmpeg:用于在格式之间转换多媒体文件的命令行工具。

ffplay:基于 SDL 和 FFmpeg 库的简单媒体播放器。

ffprobe:简单的多媒体流分析器。

面向开发人员的 FFmpeg 库

libavutil:是一个包含用于简化编程的函数的库,包括随机数生成器、数据结构、数学例程、核心多媒体实用程序等。

libavcodec:是一个包含音频/视频编解码器的解码器和编码器的库。

libavformat:是一个包含多媒体容器格式的解复用器和复用器的库。

libavdevice:是一个包含输入和输出设备的库,用于从许多常见的多媒体输入/输出软件框架(包括 Video4Linux、Video4Linux2、VfW 和 ALSA)抓取数据并进行渲染。

libavfilter:是一个包含媒体过滤器的库。

libswscale:是一个执行高度优化的图像缩放和色彩空间/像素格式转换操作的库。

libswrecodele:是一个执行高度优化的音频重采样、重矩阵化和样本格式转换操作的库。

本页目录