一.ffmpeg介绍

copy from zhujiamin

FFmpeg是集成解码、编码、转码、复用、解复用、流化、滤波、播放等完整解决方案的多媒体开源程序,在多媒体领域广泛使用
用当前R版本使用的FFmpeg-4.2.2介绍一下源码目录结构:
在这里插入图片描述
源码库

libavformat:音视频格式的封装与解析

libavcodec: 音视频流的编解码

libavutil:包含一些公共的工具函数

libswresample: 音频重采样,帧数据格式转化

libswscale: 图片、视频帧缩放,颜色空间转换

(以上是OP的FFmpeg框架用到的库,用于音视频、缩略图的解码播放)

libavdevice:多媒体设备交互,从输入设备读取数据,或向输出设备写数据

libavfilter:音视频过滤器,实现滤镜、水印、裁剪、翻转、倍速等效果处理

libpostproc:用于后处理

libavresample:功能同libswresample,由于历史原因还保留但不再维护,用libswresample替代

configure:FFmpeg配置文件,用于检测FFmpeg的编译环境,并根据用户配置的选项生成config.mak,config.h等文件,提供给Makefile使用

config.h:执行configure文件生成的包含各种配置信息的文件

Makefile:FFmpeg的Makefile文件,根据configure生成的配置文件编译源码

doc:包含说明文档和各种功能用例代码,还可以选择编译用例生成可执行文件,其中最常用的文件有:

1.APIchanges:记录了FFmpeg所有版本关键API变化的简要说明,版本升级时若有API找不到定义了,可以先在此文件找下有没有相关说明

2.examples文件夹:包含了上述FFmpeg源码库中主要功能的用例代码,学习如何调用FFmpeg实现某个子功能时,通常要参考对应example的代码

fftools:包含ffmpeg(命令行工具)、ffplay(官方播放器)、ffprobe(音视频文件分析工具)应用程序的源码,可以编译成可执行文件

ffbuild:包含一些编译相关的文件(旧版本是直接放在根目录)
1.config.mak:由configure生成的Makefile,保存了用户在configure的配置信息
2.common.mak:包含一些通用代码的Makefile
3.library.mak:编译类库的Makefile(和libavXXXX/Makefile配合使用)
4.config.log:配置log,执行./configure报错时查看原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值