1.引言
看了一些文章,感觉不错,于是就把一些概念性问题记录下。
2.正题
RGB格式:RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
YUV格式:YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。 与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。
视频编码格式H264: H.264是一种高性能的视频编解码技术。H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。举个例子,原始文件的大小如果为88GB,采用MPEG-2压缩标准压缩后变成3.5GB,压缩比为25∶1,而采用H.264压缩标准压缩后变为879MB,从88GB到879MB,H.264的压缩比达到惊人的102∶1!H.264为什么有那么高的压缩比?低码率(LowBitRate)起了重要的作用,和MPEG-2和MPEG-4ASP等压缩技术相比,H.264压缩技术将大大节省用户的下载时间和数据流量收费。尤其值得一提的是,H.264在具有高压缩比的同时还拥有高质量流畅的图像。
为什么要对视频进行编解码:
原始视频通过摄像头采集进来以后很庞大,要想在互联网上进行传输就必须要进行压缩,于是就有了编解码标准,原始视频文件经过压缩以后就有了不同的格式,比如通过h.264压缩的就是.264格式,其它的同理。而我们看的电影之类的视频(AVI,MPEG,MOV)除了包含图像外还有声音,它是将视频和音频封装以后的结果。
camera采集视频格式:N21/YV12,YUV420P(I420)/YUV420SP(N12)
Android编码器:Android中视频编码有两种方式,主要是两个核心的类,一个是MediaCodec和MediaRecorder,这两个类有什么区别呢?其实很好理解,他们都可以对视频进行编码,但是唯一不同的是MediaCodec更偏向原生,而MediaRecorder偏向的上层封装。