写点什么

FFmpeg 介绍

作者:Loken
  • 2022 年 5 月 17 日
  • 本文字数:798 字

    阅读完需:约 3 分钟

FFmpeg 是一个可以处理音视频的软件,功能非常强大,主要包括,编解码转换,封装格式转换,滤镜特效。同时也支持 各种网络协议,支持 RTMP ,RTSP,HLS 等高层协议的推拉流,也支持更底层一点的 TCP/UDP 协议推拉流。

在多平台系统方面,FFmpeg 的兼容性也优势显著,FFmpeg 可以在 windows,Linux,Mac,ios,android 等等操作系统上运行。

因此,可以说 FFmpeg 是音视频领域的瑞士军刀。在多个公司都有使用,例如 Google 的 chrome 里面就使用了 FFmpeg 的库。还有 Youtube,Facebook,以及国内的各种做音视频产品的公司,只要他做音视频,95% 都会用到 FFmpeg。

但是截止 2022 年,FFmpeg 还是只有 命令行,没有 GUI 图像界面,所以对使用者有一定的门槛。


FFmpeg 是一个开源项目,起始于 2000 年,截止 2022 年,已经走过 22 年,在这过程中,FFmpeg 社区经历过一次分裂。2011 年的时候,一群 FFmpeg 开发者由于对项目管理者(不是 Fabrice Bellard)不满,,而另立山头,创建了 Libav 项目。

我个人觉得,他们可能是对 当时 的 FFmpeg 代码混乱不满。Libav 的代码架构更清晰一些。不过那是很多年前的事情了。目前 FFmpeg 的代码架构还是很不错的。

Libav 项目经历了几年的发展,还是没有发展下去,最后 Libav 的成果代码,被合并到 FFmpeg 里面,git 提交记录保留了 Libav 开发者的名字。

推荐阅读 《 FFmpeg 跟 Libav 的渊源》


FFmpeg 的 用户主要有 3 类。

1,社区开发者,直接写 FFmpeg 代码的,截止 2022 年,一共有 100 多个 Maintainer,两千多个 Contributer。近几千人的开发团队。

2,FFmpeg API 库使用者,FFmpeg 提供了很多的动态库给上层开发者调用。这类开发者主要是调 API,偶尔会提交一下代码反馈给 社区。

3,FFmpeg 命令行使用者,这类用户通常不会写 C/C++,但是具备一点的电脑操作知识,主要在电影,电视台这些行业。这类用户只会使用 FFmpeg 的命令行,比较厉害的会写 shell 脚本 跟 batch 批处理 来 使用 FFmpeg。

发布于: 刚刚阅读数: 2
用户头像

Loken

关注

音视频工程师 2022.04.21 加入

音视频工程师,个人博客 www.xianwaizhiyin.net

评论

发布
暂无评论
FFmpeg介绍_音视频_Loken_InfoQ写作社区