1 ffmpeg+sdl学习笔记-音视频基础
1.各种格式介绍
1.1音视频封装格式MP4 RMVB TS FLV AVI(网上电影的格式,视频码流和音频码流按一定的格式存储在一个文件中)
注:FLV的文件头不能丢,丢了就不能播
FLV格式简介,包含头文件,数据由大小不固定的Tag构成

1.2视频编码数据 H.264 MPEG2 VC-1(码流)
H.264格式简介,数据由大小不固定的NALU构成,常见情况下,1个NALU存储1帧画面压缩编码后的数据

H264帧内 帧间压缩成I(关键帧体积大,不依赖其他帧) P(体积较大,依赖I帧,存储和I帧不一样的数据) B(最小,参考它的前后帧)帧
1.3视频像素数据 YUV420P RGB24(BMP存储的是RGB格式的数据)(保存屏幕上每个像素点的像素值,显卡进行显示的格式,与编码后的数据大小相差百倍,
比如1小时1920*1080的RGB24数据达到500多G=60*60*25(帧率)*1920*1080*3(单像素占的字节))
RGB格式简介

Y为亮度信息,UV为色度信息,因为人眼对色布不敏感,所以YUV420P对色度信息进行了压缩,U和V分别为Y的1/4,所以YUV420P位RGB24的一半
RGB YUV本身都不保存图像的宽高信息
YUV格式简介

1.4音频编码数据 AAC MP3 AC-3 WMA(通常可压缩10倍以上)
AAC格式简介,数据由大小不固定的ADTS构成

1.5音频采样数据 PCM(占的数据量不大,比如原始的wav格式也能用于存放)
将原始音频波进行采样,保存了音频中每个采样点的值
4分钟的PCM格式大小 =4*60*44100HZ(每秒采样的点数)*2(双通道)*2(采样精度2字节)
PCM格式简介,没有文件头,单声道按顺序存储每个采样点的数据,双声道按左右 左右存储

2.需要用到的库
ffmpeg视频解码函数 h.264-》YUV
SDL函数 YUV-》屏幕
3.视频播放流程

4.常用播放器
跨平台(非directshow框架)
VLC Mplayer ffplay
Windows平台(directshow框架)
完美解码,终极解码,暴风影音
5.信息查看工具
MdediaInfo查看综合信息
UltraEdit二进制查看
封装格式分析 Elecard Format Analyzer
视频编码数据分析 Elecard Stream Eye
视频像素查看 YUV Player
音频采样查看 Adobe Audition
浙公网安备 33010602011771号