FFmpeg

一个完整的、跨平台的解决方案用于记录、转换音频流和视频流。(A complete, cross-platform solution to record, convert and stream audio and video.)

Github stars Tracking Chart

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欢迎每个人,也欢迎所有的贡献。我们很高兴收到补丁,拉取请求,错误报告,捐赠或任何其他类型的贡献。安全性是一个高优先级,代码审查始终考虑到安全性。虽然由于非常大量的代码涉及不受信任的数据安全问题是不可避免的,因此我们会在发现新的安全问题时尽快为我们上一个稳定版本提供更新。

Overview

Name With OwnerFFmpeg/FFmpeg
Primary LanguageC
Program languageC (Language Count: 15)
PlatformBSD, Linux, Mac, Solaris, Windows
License:Other
Release Count389
Last Release Namen7.1-dev (Posted on 2024-04-04 21:07:56)
First Release NameN (Posted on )
Created At2011-04-14 14:12:38
Pushed At2024-04-28 17:31:37
Last Commit At2024-04-06 14:15:53
Stargazers Count42.4k
Watchers Count1.4k
Fork Count11.7k
Commits Count115k
Has Issues Enabled
Issues Count0
Issue Open Count0
Pull Requests Count16
Pull Requests Open Count1
Pull Requests Close Count366
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content
such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to
    manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect
    multimedia content.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website
and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under
GPL. Please refer to the LICENSE file for detailed information.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using
git format-patch or git send-email. Github pull requests should be
avoided because they are not part of our review process and will be ignored.

To the top