FFmpeg 是用 C 和汇编语言编写的,免费开源的,可用于录制、转换和流式传输音视频的完整跨平台解决方案。
通过一些 JAR 依赖项,FFmpeg 可以和 Spring Boot 之类的框架一起使用。
关键词:ffmpeg、ffplay、ffprobe 和 FATE。
FFmpeg 官网,如下所示:
http://ffmpeg.org
FFmpeg 是领先的多媒体框架,它能够解码、编码、转码、多路复用器、分解器、流式传输、过滤和播放人类与机器创造的几乎任何东西。它支持最晦涩的古代格式,直到最前沿。无论它们是由标准委员会、社区还是公司设计的。它还具有高度的可移植性:FFmpeg 在各种构建环境、机器体系结构和配置下,跨 Linux、Mac OS X、微软 Windows、BSD 和 Solaris 等平台编译、运行并通过了我们的测试基础设施 FATE。
FFmpeg 包含 libavcodec、libavutil、libavformat、libavfilter、libavdevice、libswscale 和 libswresample,可供应用程序使用。以及ffmpeg、ffplay和ffprobe,可供最终用户用于转码和播放。
FFmpeg 项目试图为应用程序开发者和最终用户提供技术上可能的最佳解决方案。为了实现这一点,FFmpeg 结合了最好的自由软件选项。我们稍微倾向于我们自己的代码,以保持对其他库的依赖较低,并最大化 FFmpeg 各个部分之间的代码共享。
FFmpeg 安全性是一个高优先级,代码审查始终考虑安全性。
ffmpeg 模块
ffmpeg 是一个命令行工具箱,用于操作、转换和流式传输多媒体内容。
ffmpeg 是一个非常快速的视频和音频转换器,它也可以从实时音频/视频源抓取。它还可以在任意采样率之间转换,并通过高质量的多相滤波器实时调整视频大小。
ffmpeg 可以从常规文件、管道、网络流、抓取设备中读取数据,并写入由普通输出 url 指定的任意数量的输出位置。
ffplay 模块
ffplay 是一款简约的多媒体播放器。它是一款使用 FFmpeg 库和 SDL 库的非常简单且可移植的媒体播放器。它主要用作各种 FFmpeg API 的测试平台。
ffprobe 模块
ffprobe 是检查多媒体内容的简单分析工具。
ffprobe 从多媒体流中收集信息,并以人类和机器可读的方式进行打印。例如,它可用于检查多媒体流使用的容器的格式以及其中包含的每个媒体流的格式和类型。如果在输入中指定了 url,则 ffprobe 将尝试打开并探测其中的内容。如果无法打开 url 或将其识别为多媒体文件,则返回正的退出码。ffprobe 既可以用作独立应用程序,也可以与文本过滤器结合使用,其可以执行更复杂的处理,例如统计处理或绘图。
FATE
FATE 是客户端上的一个扩展回归套件,也是在服务器端进行结果聚合和表示的一种方法。有关 FATE 的详细信息,请访问以下网址:
https://ffmpeg.org/fate.html
以上网址中的文档的第一部分解释如何使用 FFmpeg 源目录中的 FATE 测试 FFmpeg 二进制文件。第二部分介绍如何运行 FATE 将结果提交到 FFmpeg 的 FATE 服务器。
想要查看公开的 FATE 结果,请访问以下网址:
http://fate.ffmpeg.org
相关资源
官方文档,如下所示:
http://ffmpeg.org/documentation.html
针对各个平台的下载页面,如下所示:
http://ffmpeg.org/download.html
想要查看源代码的同学,请访问以下网址:
https://github.com/FFmpeg/FFmpeg
https://git.ffmpeg.org/ffmpeg-web
https://git.ffmpeg.org/fateserver
http://trac.ffmpeg.org/wiki
非官方论坛,如下所示:
https://superuser.com/questions/tagged/ffmpeg
中文论坛,如下所示:
http://bbs.chinaffmpeg.com/
希望本文能对感兴趣的同学有所帮助。交流沟通、加入我们、业务合作,请评论或私信。
@ 付费专栏:消费满 500元的同学,所有课程终身免费观看,详情私信本人。
@ 同时也欢迎志同道合的同学,加入我们,一起分享知识。