美文网首页
AVCaptureSessionPreset

AVCaptureSessionPreset

作者: little_ma | 来源:发表于2018-07-09 17:08 被阅读46次

    iPhone 设备前后置摄像头最大视频分辨率的支持

    机型 前置 后置
    iPhone 4 720P 720P
    iPhone 4s 720P 1080P
    iPhone 5 720P 1080P
    iPhone 5s 720P 1080P
    iPhone 6 720P 1080P
    iPhone SE 720P 4K
    iPhone 6s 720P 4K
    iPhone 6sp 720P 4K
    iPhone 7 1080P 4K
    iPhone 7P 1080P 4K
    iPhone 8 1080P 4K
    iPhone 8P 1080P 4K
    iPhone X 1080P 4K
    iPhone XS 1080P 4K
    iPhone XS Max 1080P 4K
    iPhone XR 1080P 4K

    iPhone6 的后置摄像头的一些例子

    像素格式 分辨率 FPS HRSI FOV VIS 最大放大比例 Upscales AF ISO SS HDR
    420v 1280x720 5~240 1280x720 54.626 YES 49.12 1.09 1 29.0~928 0.000003-0.200000 NO
    420f 1280x720 5~240 1280x720 54.626 YES 49.12 1.09 1 29.0~928 0.000003-0.200000 NO
    420v 1920x1080 2~30 3264x1836 58.040 YES 95.62 1.55 2 29.0~464 0.000013-0.500000 YES
    420f 1920x1080 2~30 3264x1836 58.040 YES 95.62 1.55 2 29.0~464 0.000013-0.500000 YES
    420v 1920x1080 2~60 3264x1836 58.040 YES 95.62 1.55 2 29.0~464 0.000008-0.500000 YES
    420f 1920x1080 2~60 3264x1836 58.040 YES 95.62 1.55 2 29.0~464 0.000008-0.500000 YES

    格式 = 像素格式

    RGB格式的图像占用字节数为
    size = width * height * 3

    我们先确定每个独立帧图片的大小,以1280x720分辨率为例,一帧像素数量约等于一百万个像素点,通常称1M . 如果对每个像素点使用8位的RGB三原色存储,一个像素就需要24位存储空间. 一帧就需要2.6MB的存储空间. 而一个帧率30FBS的一秒视频就需要79MB存储. 显然,这不合实际. 所以需要专门对其的存储和传输格式做压缩处理 .

    RGBA格式的图像占用字节数为
    size = width * height * 4

    yuv图像占用字节数为
    size = width * height + (width * height) / 4 + (width * height) / 4

    yuv格式是一种图片储存格式,跟RGB格式类似。yuv中,y表示亮度,单独只有y数据就可以形成一张图片,只不过这张图片是灰色的。u和v表示色差(u和v也被称为:Cb-蓝色差,Cr-红色差)。最早的电视信号,为了兼容黑白电视,采用的就是yuv格式。一张yuv的图像,去掉uv,只保留y,这张图片就是黑白的。yuv可以通过抛弃色差来进行带宽优化。比如yuv420格式图像相比RGB来说,要节省一半的字节大小,抛弃相邻的色差对于人眼来说,差别不大。

    yuv420也包含不同的数据排列格式:I420,NV12,NV21.
    I420格式:y,u,v 3个部分分别存储:Y0,Y1…Yn,U0,U1…Un/2,V0,V1…Vn/2
    NV12格式:y和uv 2个部分分别存储:Y0,Y1…Yn,U0,V0,U1,V1…Un/2,Vn/2
    NV21格式:同NV12,只是U和V的顺序相反。

    kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange = '420v'
    表示输出的视频格式为NV12;范围: (luma=[16,235] chroma=[16,240])
    
    kCVPixelFormatType_420YpCbCr8BiPlanarFullRange = '420f'
    表示输出的视频格式为NV12;范围: (luma=[0,255] chroma=[1,255])
    
    kCVPixelFormatType_32BGRA = 'BGRA', 输出的是BGRA的格式
    
    NSDictionary *videooutputSettings = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey];
    

    FPS = 支持帧数范围

    常见媒体的FPS帧率:
    电影:24fps
    电视(PAL):25fps
    电视(NTSL):30fps

    HRSI = 高像素静态图片尺寸

    FOV = 视角

    VIS = 该格式支持视频防抖

    Upscales = 加入数字 upscaling 时的放大比例

    AF = 自动对焦系统(1 是反差对焦,2 是相位对焦)

    ISO = 支持感光度范围

    SS = 支持曝光时间范围

    HDR = 支持高动态范围图像

    相关文章

      网友评论

          本文标题:AVCaptureSessionPreset

          本文链接:https://www.haomeiwen.com/subject/opttpftx.html