安卓音视频开发中的一个环节是摄像头采集数据,Android平台上摄像头采集的API有两套,camera1和camera2。本文主要讲的是camera2这套API采集数据,并指明YUV420_888格式时候获取到的摄像头YUV数据格式,具体是怎么样的。一、背景/问题 之所以写这篇文章也是因为作者在开发过程中遇到了一些坑,然后在网上查阅资料后总结了一下内容。首先先说一下我遇到的问题: 按照API的写法,获取摄像头数据,是在预览的回调中去获取数据,常用的会设置获取数据的格式为YUV_420_888,如下:mImageReader=ImageReader.n
目录一、YUV简介二、RGB到YUV的转换三、YUV采样YUV4:4:4YUV4:2:2YUV4:2:0四、YUV存储格式基于YUV4:2:2采样的格式YUYV格式UYVY格式YUV422P格式基于YUV4:2:0采样的格式YU12和YV12格式NV12和NV21格式一、YUV简介 YUV,是一种颜色编码方法。常使用在各个视频处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
目录一、YUV简介二、RGB到YUV的转换三、YUV采样YUV4:4:4YUV4:2:2YUV4:2:0四、YUV存储格式基于YUV4:2:2采样的格式YUYV格式UYVY格式YUV422P格式基于YUV4:2:0采样的格式YU12和YV12格式NV12和NV21格式一、YUV简介 YUV,是一种颜色编码方法。常使用在各个视频处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
在cmd的指令如下:ffmpeg-i“D:\VideoSequence\NewYork_3840x1920_30fps_8bit_420_erp.mp4”-s3840x1920-pix_fmtyuv420p“NewYork_3840x1920_30fps_8bit_420_erp.yuv”ffmpeg-i“D:\VideoSequence\Elephants_3840x2048_30fps_8bit_420_erp.mp4”-s3840x2048-pix_fmtyuv420p“Elephants_3840x2048_30fps_8bit_420_erp.yuv”转换时间很快全景视频序列可以至南
在cmd的指令如下:ffmpeg-i“D:\VideoSequence\NewYork_3840x1920_30fps_8bit_420_erp.mp4”-s3840x1920-pix_fmtyuv420p“NewYork_3840x1920_30fps_8bit_420_erp.yuv”ffmpeg-i“D:\VideoSequence\Elephants_3840x2048_30fps_8bit_420_erp.mp4”-s3840x2048-pix_fmtyuv420p“Elephants_3840x2048_30fps_8bit_420_erp.yuv”转换时间很快全景视频序列可以至南