FFmpeg框架
1,将视频和音频大文件按照一定的封装格式进行封装
2,封装格式:avi,rmvb,mp4,flv,mkv等等(当然也使用不同的图标)
封装后的数据为码流数据,码流数据经过解码后才是可以播放的视频。
3,像素数据(RGB,YUV)----编码(使用算法)--->码流数据
码流数据---解码--->像素数据
4,视频的编码算法:h264(最常用) 音频的编码:AAC
5,h264:在一个结构体存一帧码流数据
红色的帧:I 蓝色的帧:P 绿色的帧:B
红色的帧是主要的帧,P根据I来压缩,B根据I和P来压缩
6,常见的像素数据格式有RGB24, RGB32, YUV420P,YUV422P,YUV444P等。压缩编码中一般使用的是YUV格式的像素数据,最为常见的格式为YUV420P
视频码流数据--解码--->YUV(不能直接显示)---RGB--->保存图片或者直接显示到屏幕上