多媒体处理工具 FFmpeg 工具集

简介: FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。

1. FFmpeg的介绍与发展

在课程开始之前,老师首先向我们介绍了一下FFmpeg的发展,我们从而得知这是一个多媒体开源项目.

  • 音视频多媒体处理开源框架,采用LGPL或GPL许可证。
  • 有音视频采集、编码、解码、转码、复用、解复用、音视频分离、合并、流化、过滤器等功能。
  • 可在iOS、Android、Window、Linux、Mac上运行.
  • 包含音频/视频编解码库libavcodec,具有非常高的可移植性和编解码质量。
    github中FFmpeg学习链接

1.1 学习页面


1.2 FFmpeg的安装以及必要的几点安装说明


Type ./configure to create the configuration. A list of configure options is printed by running configure --help.

configure can be launched from a directory different from the FFmpeg sources to build the objects out of tree. To do this, use an absolute path when launching configure, e.g. /ffmpegdir/ffmpeg/configure.

Then type make to build FFmpeg. GNU Make 3.81 or later is required.

Type make install to install all binaries and libraries you built.

我们只需要按照文档中的README.md以及INSTALL.md文件中的说明安装即可.

2. FFmpeg的组成

FFmpeg 工程内部根据功能划分了不同的模块,包括AVFormat、AVCodec、AVFilter、AVDevice,AVUtil、swresample、swscale。

下面我们针对每一个组成部分进行一些简短的介绍

2.1 AVFormat

AVFormat是FFmpeg 的封装模块,其中实现了目前多媒体领域中的绝大多数媒体封装格式,包括封装和解封装,比如 MP4、FLV、MKV、TS等文件封装格式,RTMP、RTSP、HLS等网络协议封装格式。另外,也支持自定义封装格式。

2.2 AVCodec

AVCodec是FFmpeg的编解码模块,其中实现了目前多媒体领域中的绝大多数媒体编解码格式,包括编码和解码两大部分,比如MPEG4、H264、H265等视频格式,AAC、MP3等音频格式。另外,也支持自定义编解码格式。

2.3 AVFilter

AVFilter是FFmpeg 的滤镜模块,其中实现了目前通用的音频、视频、字幕等滤镜处理框架。

2.4 AVDevice

AVDevice是FFmpeg 的设备管理模块,包括音频设备和视频设备。

2.5 AVUtil

AvUtil是FFmpeg 的工具模块。

2.6 swresample

swresample是FFmpeg 的音频转换模块,包括音频重采样、声道数调整等。

2.7 swscale

swscale是FFmpeg 的视频图像转换模块,包括图像缩放、像素格式转换等。

3. FFmpeg的工具集


3.1 ffmpeg

ffmpeg是一个命令行工具,可用于格式转换、解码或电视卡即时编码等。是FFmpeg工具集中的编解码工具。

3.2 ffplay

ffplay是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示。是FFmpeg工具集中的播放器

3.3 ffprobe

ffprobe是一个多媒体流分析工具。 它从多媒体流中收集信息 并且以人类和机器可读的形式打印出来。是FFmpeg中的多媒体分析工具.

相关文章
使用ffmpeg工具下载m3u8类型的视频到本地
使用ffmpeg工具下载m3u8类型的视频到本地
1057 0
使用ffmpeg工具下载m3u8类型的视频到本地
|
2月前
|
Linux 开发工具 Android开发
FFmpeg开发笔记(五十三)移动端的国产直播录制工具EasyPusher
EasyPusher是一款国产RTSP直播录制推流客户端工具,支持Windows、Linux、Android及iOS等系统。尽管其GitHub仓库(安卓版:https://github.com/EasyDarwin/EasyPusher-Android)已多年未更新,但通过一系列改造,如升级SDK版本、迁移到AndroidX、指定本地NDK版本及更新Gradle版本等,仍可在最新Android Studio上运行。以下是针对Android Studio Dolphin版本的具体改造步骤。
59 3
FFmpeg开发笔记(五十三)移动端的国产直播录制工具EasyPusher
|
算法 内存技术
ffmpeg开课工具准备
ffmpeg开课工具准备
49 0
|
编解码 Linux 数据安全/隐私保护
深入浅出FFmpeg:一款强大的多媒体处理工具
深入浅出FFmpeg:一款强大的多媒体处理工具
167 0
|
编解码 索引 Windows
视频处理工具ffmpeg使用
开源视频处理工具使用实践
280 0
视频处理工具ffmpeg使用
|
编解码 vr&ar 计算机视觉
ffmpeg工具的简单使用
ffmpeg工具的使用
166 0
|
编解码 vr&ar 计算机视觉
ffmpeg工具的简单命令
ffmpeg工具的使用
262 0
|
编解码 算法 数据安全/隐私保护
视频压缩工具ffmpeg的使用
这篇文章中的视频压缩非常适用于教学视频的压缩,因为教学视频中很多帧数的内容都是相同的。 本文作者的CPU是E5-2670,8核16线程。视频压缩工具ffmpeg可以充分利用多线程性能。
3284 0
|
编解码 测试技术 PHP
多媒体工具ffmpeg(音乐格式应用)
前言: 今天来了个新需求要将用户上传的高品质,无损格式的音乐转换为低码率的mp3格式。来达到试听时播放低品质mp3,下载时下载高品质的无损格式的目的。 目录: 安装ffmpeg 再服务器中测试转码 php中应用ffmpeg 1. 安装ffmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
1348 0
|
25天前
|
Linux 开发工具 Android开发
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频
ijkplayer是由Bilibili基于FFmpeg3.4研发并开源的播放器,适用于Android和iOS,支持本地视频及网络流媒体播放。本文详细介绍如何在新版Android Studio中导入并使用ijkplayer库,包括Gradle版本及配置更新、导入编译好的so文件以及添加直播链接播放代码等步骤,帮助开发者顺利进行App调试与开发。更多FFmpeg开发知识可参考《FFmpeg开发实战:从零基础到短视频上线》。
100 2
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频