FFMPEG专题---概论

  1. FFMPEG是什么?
    很难用一句话来概述FFMPEG,一套开源代码?一套媒体框架?还是一个好用的工具?很难用一句话来概论FFMPEG的定义,且看FFMPEG官网如何定义。

    • FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
      (首先,FFMEPG可以解码,编码,转码,封装,解析,流媒体,滤波以及播放,一句话:功能全)
    • It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation.
      (其次,支持几乎所有的格式,无论是老掉牙的MPEG1编码还是最新的HEVC编码,无论是上个世纪的mp3封装还是比较新的MKV封装,一句话:兼容性好)
    • It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.
      (最后,FFMPEG可在多个平台上编译运行(FATE是FFMPEG的一个自动化测试平台,每次merge代码都需要通过此平台的编译运行测试),一句话:可移植性强)
  2. FFMPEG的架构
    FFMEPG分为七大模块,分别为
    libavutils, libavformat, libavcodec, libswscale, libswresample, libavdevice, libavfilter

    • libavutils: 公共模块,包含了大量的常用函数,比如说内存操作,字符串,数学运算等函数
    • libavformat: 封装与解析模块,此模块中包含了媒体文件操作基本协议和媒体文件的封装协议。
    • libavcodec: 解码与编码模块,此模块中包含了媒体文件的编码协议。
    • libswscale: 此模块用来操作视频的原始YUV或者RGB数据,如更改视频的分辨率,颜色格式都是在这里完成。
    • libswresample:此模块用来操作音频的原始PCM数据,如更改音频的采样率,通道数,采样位数,都是在这个模块里完成。
    • libavdevice:此模块包含了一些设备模型,比如说音视频的采集,视频的送显都是在这个模块里完成。
    • libavfilter:滤波模块。降噪,锐化,添加水印等都是在这个模块里完成。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值