前言
FFmpeg 3.0 以后统一了音视频的编码方式,原有的API已经标记为弃用 或者已经被删除
测试环境: FFmpeg 4.0 Qt 5.12 Ubuntu 18.04
音视频格式
封装格式
常见的视频格式有AVI、MPEG、QuickTime、Flash、Mpeg-4、MKV、WebM,不同的格式有不同的特点
AVI: AVI视频格式,文件名以“.avi”结尾。AVI是英文Audio Video Interleave的缩写,该格式由微软开发。在所有Windows系统都能运行这种格式
MPEG: MPEG是英文Moving Pictures Expert Group的缩写。MPEG是跨平台的视频格式,基本上在所有浏览器上都能正常播放
QuickTime: 文件名以“.mov”结尾。该视频格式是由苹果公司开发出来的
MPEG-4: 文件名以“.mp4”结尾,是比较流行的一种视频格式,现在主流平台都支持该格式。Flash播放器、HTML5网站都能正常播放该视频格式视频
Flash: 文件名以“.swf”或“.flv”结尾。之前一般用在网页上使用Flash进行播放。 现在可以使用开源解码器播放, 用在网络直播上
MKV: 开放标准的自由的容器和文件格式, 能够在一个文件中容纳无限数量的视频、音频、图片或字幕轨道
WebM: 由Google提出,是一个开放、免费的媒体文件格式, 以MKV格式为基础
视频编码格式
常见视频编码格式 MEPG系列、H.26x系列、VP8、VP9
MPEG系列: MPEG1(VCD 用的就是它)、MPEG2(DVD 使用)、MPEG4。由 ISO [国际标准组织机构]下属的 MPEG [运动图象专家组]开发
H.26x: 包括 H261、H262、H263、H263+、H263++、H264 H265(HEVC)。 由 ITU [国际电传视讯联盟]主导,侧重网络传输
VP8/9: 由Google主导为了解决H264等专利问题,免费使用
音频编码格式
常见的音频编码格式PCM、MP3、ACC、OGG
PCM: PCM音频数据 PCM(Pulse Code Modulation)也被称为脉冲编码调制, 将模拟音频变成数字音频
MP3: 拥有极高的压缩比,现在比较流行的音频编码格式,但是存在专利费用
ACC: 高级音频编码技术,Advanced Audio Coding, 为了替代MP3格式而产生的、有着较高的压缩比和质量,已经逐渐成为主流
OGG: 完全免费、开放和没有专利限制编码格式,该格式可以在不更改播放器的情况下,优化格式来提高音频质量