首页 > 其他分享 >1. FFmpeg介绍

1. FFmpeg介绍

时间:2024-04-26 23:11:06浏览次数:23  
标签:编解码 封装 FFmpeg 介绍 模块 格式 转换

FFmpeg介绍

什么是FFmpeg?

FFmpeg既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,提供了丰富的命令行工具,以及音视频处理的调用接口。
FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码,多种协议的流媒体,多种色彩格式转换,多种采样率转换,多种码率转换等。

FFmpeg历史

FFmpeg是法国天才程序员在2000年开发出初版,后面发展到2004年,由另外一人接手。
2011年,FFmpeg项目中一些提交者对FFmpeg的项目管理方式不满,因而创建另一个项目Libav。但是Libav并没有FFmpeg那么流行,相反,FFmpeg维护者从Libav中移植了大量代码和功能到FFmpeg。
可以说二者就是兄弟。

FFmpeg的基本组成

FFmpeg框架的基本组成包含AVFormat,AVCodec,AVFilter,AVDevice,AVUtil等模块库。
结构如图所示:image

  • AVFormat:FFmpeg的解封装模块
    AVFormat中实现了目前多媒体领域的绝大多数媒体解封装格式,如:MP4,FLV,KV,TS等文件封装格式,RTMP,RTSP,MMS,HLS等网络协议封装格式。
    FFmpeg是否支持某种媒体封装格式,取决于编译时是否包含该格式的封装库。可以根据需要扩展。

  • AVCodec:编解码模块
    AVCodec中实现了目前多媒体领域绝大多数常用的编解码格式。除了支持MPEG4,AAC,MJPEG等自带的媒体编解码格式之外,还支持第三方的编解码器,如H.264(AVC)编码,需要使用x264编码器,H.265(HEVC)编码等等。

  • AVFilter:滤镜模块
    AVFilter提供了一个通用的音频,视频字幕等滤镜处理框架。

  • swscale:视频图像转换计算模块
    swscale模块提供了高级别的图像转换API,例如它允许进行图像缩放和像素格式转换。

  • swresample:音频转换计算模块
    swresample模块提供了高级别的音频重采样API。例如它允许操作音频采样,音频通道布局转换与布局调整。

标签:编解码,封装,FFmpeg,介绍,模块,格式,转换
From: https://www.cnblogs.com/wkzs/p/18161057

相关文章

  • 小白PDF阅读器重排版时的自动提取背景色功能介绍及实现
    小白PDF阅读器在1.35之前的版本对于有深色背景的页面重拍版时并不太完美。对于深色背景区域主要表现在不能分割排版和重排后页面元素割裂感明显。小白PDF阅读器在1.35版本主要针对这两个问题进行了优化!最终效果对比图如下自动重排版彩色部分内容,并提取彩色背景自动提取背景......
  • 代码统计利器:Rust tokei 库全面介绍
    引言作为程序员,我们常常需要统计项目中的代码行数,以了解项目规模和进度。市面上有很多代码统计工具,但不少工具存在统计不准、语言支持不全、性能不佳等问题。今天给大家介绍一个Rust生态中的代码统计利器:tokei。tokei通过语法分析准确统计代码行数,目前已支持200+种语言,而且......
  • Devops基本概念和原理,什么是 DevOps? DevOps 介绍
    Devops基本概念和原理,什么是DevOps?DevOps介绍一、什么是DevOps1、DevOps概述DevOps,即DevelopmentandOperations,是一组过程、方法与系统的统称,用于促进软件开发、运维和质量保障部门之间的沟通、协作与整合。DevOps的出现是由于软件行业日益清晰的认识到:为了按时交付......
  • ng-boostrap 介绍
    modalNgbActiveModal链接ClassAreferencetothecurrentlyopened(active)modal.对当前打开的(active)modal的引用,(就是现实的内容)。Instancesofthisclasscanbeinjectedintoyourcomponentpassedasmodalcontent.Soyoucan .update(), .close() or .dis......
  • 【vue-入门】-【1】Vue介绍与项目结构
    Vue是什么?渐进式javaScript框架,易学易用,性能出色,适用场景丰富的web框架官方文档地址:https://cn.vuejs.orgVue简介是渐进式javascript框架,易学易用,性能出色,适用场景丰富的web前端框架Vue是一款用于构建用户节点的javascript框架。它基于标准html、css、javascript构建并提......
  • 深入理解 FFmpeg 书籍笔记
    知识点太多,目前只记录遇到的错误1.在Ubuntu22.0464位上编译FFmpeg-0.6.3时,使用./configure配置时遇到如下错误ffserver.c:Infunction‘rtsp_cmd_describe’:ffserver.c:2987:5:error:implicitdeclarationoffunction‘ff_url_split’[-Werror=implicit-fun......
  • EPAI手绘建模APP介绍
    ​    本软件是一个基于OpenCASCADE、androidJNI开发的APP。底层用c++实现,UI层用android实现。底层和UI层之间通过JNI接口和json数据格式通信。  UI层包括资源管理器、编辑器、创建模型、工具栏四个部分。具体来说,包括模型列表、图层列表、相机列表、灯光列表、颜色库......
  • 详细介绍tcp和udp有什么区别
    tcp和udp的区别有:1、udp是无连接的,tcp是面向连接的;2、udp是不可靠传输,tcp是可靠传输;3、udp是面向报文传输,tcp是面向字节流传输。  UDPUDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的......
  • 最简单的AI换脸软件,roop下载介绍(可直播)
    前段时间给大家介绍过换脸界最强的Rope,感兴趣的小伙伴可以戳戳手指今天要说的Roop看起来和Rope师出同门,但两者之间并没有直接关系,换脸的效果也各有千秋在讲解前,先附上一张经过roop“调教”后的寡姐,啊,不是~ 你能看出哪张是原图吗(doge)?roop有什么特点?它最强大的地方就在于对人......
  • DRF之jwt介绍与使用
    一、jwt介绍1、什么是jwtJWT(JSONWebToken)是一种用于在网络应用中传递信息的开放标准(RFC7519)。它通过在用户和服务器之间传递的信息生成具有一定结构的令牌,这些令牌可以袐用于身份验证和信息传递。它是一种前后端登陆认证的方案,区别于之前的cookie,session。2、JWT结构一个J......