欢迎诸位来阅读在下的博文~
在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力
前期博客
FFmpeg的入门实践系列一(环境搭建)
FFmpeg的入门实践系列二(基础知识)
一、音视频常用术语
-
容器/文件(Container/File):
- 容器是一种文件格式,用于将多种媒体流(如视频、音频、字幕等)组合成一个单一的文件。
- 它定义了如何存储和访问这些媒体流,以及如何处理它们之间的同步和交互。
- 常见的容器格式包括MP4、FLV、MKV等,每种格式都有其特定的用途和优势。
-
媒体流(Stream):
- 媒体流是时间轴上的一段连续数据,可以是音频、视频或字幕等。
- 媒体流可以是压缩的,也可以是非压缩的。压缩的媒体流需要关联特定的编解码器才能进行解压缩和播放。
- 在容器文件中,不同的媒体流可以独立存储,但它们通常需要同步播放。
-
数据帧/数据包(Frame/Packet):
- 数据帧是媒体流的基本单元,对于压缩数据,帧通常对应编解码器的最小处理单元。
- 数据包是网络传输中的概念,它是在网络中传输的分组,可以包含一个或多个数据帧。
- 在容器文件中,不同媒体流的数据帧通常是交错存储的,以支持同步播放。
-
编解码器(Codec):
- 编解码器是一组算法,用于将原始数据(如视频或音频信号)编码成压缩格式,以及将压缩数据解码回原始格式。
- 编解码器通常以帧为单位工作,将每一帧数据转换成压缩格式,或者从压缩格式转换回原始格式。
- 编解码器的效率和质量直接影响到媒体内容的存储大小和播放质量。
-
复用器(Multiplexer)/ 解复用器(Demultiplexer)
在数字媒体处理中,复用器和解复用器是两个关键组件,它们分别负责将多个媒体流组合成一个容器文件,以及将容器文件中的媒体流分离出来。
6. 编解码器
二、FFmpeg库的结构介绍
FFmpeg的8个常用库的简要说明:
库名称 | 功能描述 |
---|---|
AVUtil | 核心工 |