编码:压缩数据
1920*1680 32位 1s30帧 数据大小:1920*1680*32*30
IPB帧
如何编码 ?
一张图片上的:
空间冗余:像素点,去除图象的冗余信息
时间冗余:计算相邻图片的区别信息
视觉冗余:不敏感的图象信息
编码冗余(信息熵冗余):熵编码,哈夫曼编码
知识冗余:先验知识
视频编码:
H.264 MPEG-4 (AVC)
H.265商业利益-高清视频编码-收费
H.264码流分析
VCL:被压缩编码后的原始数据
NAL:封装vcl进行网络传输
h.264默认输出格式-起始码+NALU(包含一个字节的nal header):sps pps 关键帧(低五位)
图像采集
RGB,变灰--305911公式 r*0.30+g*0.59+b*0.11
YUV(YCbCr):明亮度,色调和饱和度 ; 可同时表示灰色和彩色图,兼容黑白和彩色图像
一组YUV,形成不同的存储格式
NV21 I420
采集到的数据进行编码,即将编码的数据都要转换成i420的格式。
MediaCodec
-FFmpeg还用吗?
软编码
硬编码
直播
推流:RTMP协议(应用层协议)
手机屏幕数据采集- mediaProjection
音频数据采集 - AudioRecord
编码:MediaCodec
封包:封装成RTMP数据包 - FLV兼容