一文简述FFmpeg

LiveVideoStack 2022年3月22日

翻译、编辑:Alex

技术审校:赵军

本文来自OTTVerse,作者为Krishna Rao Vijayanagar。

Easy-Tech#017#——FFmpeg

FFmpeg 是一款开源软件,用于生成处理多媒体数据的各类库和程序。FFmpeg可以转码、处理视频和图片(调整视频、图片大小,去噪等)、打包、传输及播放视频。作为最受欢迎的视频和图像处理软件,它被来自各行各业的不同公司所广泛使用。

审校者注: FFmpeg项目由 Fabrice Bellard在2000年创立,到目前为止,经历了21年的演化。FFmpeg社区和其他多媒体项目互动频繁,这也是它成功的原因之一。在创立之初,有很多开发者同时活跃在Mplayer项目,到目前为止,FFmpeg项目的开发者仍然与VLC、MPV、dav1d、x264等多媒体开源项目有着广泛的重叠。2004年以后,FFmpeg社区基本由Michael Niedermayer领导。

图片

在本文中,我将带你快速了解FFmpeg以及这个软件的神奇用途,未来文章中我们将介绍FFmpeg的更多内容。

如何安装FFmpeg?

安装FFmpeg超级简单。如果你使用的是Windows系统,你可以在这里下载最新的FFmpeg可执行文件:

https://ottverse.com/ffmpeg-builds/

这个页面每周三都会更新最新的FFmpeg版本。

如果你使用的是Mac,那么你可以使用homebrew指令来安装。而Linux系统可以使用apt包管理器轻松安装。

如果你赶时间,可以使用homebrew这个Mac安装指令:

brew install ffmpeg

Linux则使用apt包管理器安装:

sudo apt install ffmpeg

当然,你也可以下载FFmpeg源代码,从零开始配置你想要使用的编解码器。而这么做,可以让你拥有一个适合自己的迷你FFmpeg版本。

审校者注: FFmpeg社区的文档相对来说比较丰富,如果需要自行定制编译FFmpeg,https://trac.ffmpeg.org/wiki/CompilationGuide 是一个非常好的入手地方。

FFmpeg有什么用途?

这是一个很棒的问题,但是也非常难回答。因为FFmpeg在不停添加新的用例、工具和特性,这可以将FFmpeg扩展出无数个用途。

下面是FFmpeg的几个主要用途:

视频处理

FFmpeg可以用于各种视频处理任务,比如去噪、模糊视频、色彩转换,视频旋转、提取帧、缩放视频尺寸等。这些任务对于大部分视频处理、压缩和交付来说至关重要。

未来我们将在更多文章中介绍这些功能。

图片

使用FFmpeg来堆叠视频

视频压缩

FFmpeg对视频压缩的支持非常棒,很多流媒体公司的视频生产系统都在使用FFmpeg,这是一个公开的秘密。因为它真的非常稳定!

FFmpeg 包含为各种编解码器[如 JPEG、MPEG-1/2/4、H263+AAC (MPEG)、Theora (Ogg Vorbis)、AVS+、VP8 (WebM)、H.264/AVC、HEVC、AV1 等]提供接口的库,你可以根据需要使用它们来压缩、转码或解码视频。

支持视频打包

对于OTT系统厂商和开发者来说,FFmpeg还完全支持使用HLS和MPEG-DASH打包视频,它还可以配置为使用RTMP或其他协议来传输视频。

支持音频、视频容器格式

FFmpeg同样广泛支持各种容器格式,可以用来读、写及转换各种容器格式,比如avi、mp4、mp3、wma、wav、ts、flv、mkv以及许多其他未知格式。

ffprobe

FFmpeg 还可用于了解视频结构并对其进行分析。FFmpeg库构建了一个名为 ffprobe 的命令行,可用于查看和分析视频文件。你可以使用 ffprobe 从视频中提取各种元数据、计算帧数、查找 IDR 帧的位置等等。未来的文章中会详细介绍ffprobe的强大功能。

ffplay

最后,FFmpeg中还有一个播放视频的命令行工具ffplay,无需任何花哨的视频播放软件,直接使用它就可以播放视频。

为什么FFmpeg如此受欢迎?

很多公司使用FFmpeg,主要是因为它的开源属性(意味着任何人都能修改它),使其非常适合扩展到各种硬件规格(如各种形状、大小和规格的 Android 设备)的不同系统中。

在大部分Linux发行版本的仓库中都可以找到FFmpeg,并且主流桌面操作系统都可以进行安装。FFmpeg旨在帮助用户以最省力的方式来处理最广泛的媒体格式。因此,如果你正在寻找一种将FLAC文件转换为MP3的好方法,那就是它!

结 语

FFmpeg是视频处理和压缩工具箱中一个非常强大的库。它具有非常多的功能并且开源,你还可以修改源代码并扩展它的功能。如果你想要对FFmpeg有更多了解,可以期待后续的文章。

致谢:

本文已获得作者Krishna Rao Vijayanagar授权翻译和发布,特此感谢。

原文链接:https://ottverse.com/what-is-ffmpeg-installation-use-cases/

还可输入800
全部评论
作者介绍

LiveVideoStack

音视频技术社区

文章

粉丝

视频

阅读排行
  • 2周
  • 4周
  • 16周
热门视频

用互联网发展视角看元宇宙创新

龙明康/AI工程院常务副院长

单目3D人体姿态估计的挑战和探索

宋波/人工智能高级工程师