美文网首页
视频编解码H.264

视频编解码H.264

作者: 二维码码 | 来源:发表于2019-04-13 09:39 被阅读0次

iOS摄像头的视频数据,采集到的原始视频数据量是比较大的,这么大的数据量不利于进行储存或网络传输。于是需要对视频数据进行压缩,视频数据的压缩也叫做编码,H264是一种视频编码格式,iOS 8.0及以上苹果开放了VideoToolbox框架来实现H264硬编码,开发者可以利用VideoToolbox框架很方便地实现视频的硬编码。

基本概念

1.    h.264里面定义了三种帧(I帧,B帧,p帧)

I帧:完整编码的帧,也叫关键帧.

B帧:参考前后的帧编码的帧叫B帧

p帧:参考之前的I帧生成的只包含差异部分编码的帧

H264采用的核心算法是帧内压缩和帧间压缩,帧内压缩是生成I帧的算法,帧间压缩是生成B帧和P帧的算法。H264原始码流是由一个接一个的NALU(Nal Unit)组成的,NALU = 开始码 + NAL类型 + 视频数据。

帧率:单位为fps(frame pre second),视频画面每秒有多少帧画面,数值越大画面越流畅

码率:单位为bps(bit pre second),视频每秒输出的数据量,数值越大画面越清晰

分辨率:视频画面像素密度,例如常见的720P、1080P等

关键帧间隔:每隔多久编码一个关键帧

软编码:使用CPU进行编码。性能较差

硬编码:不使用CPU进行编码,使用显卡GPU,专用的DSP、FPGA、ASIC芯片等硬件进行编码。性能较好

VideoToolbox基本数据结构:

CVPixelBufferRef/CVImageBufferRef:存放编码前和解码后的图像数据,这俩其实是同一个东西。

CMTime:时间戳相关,时间以64-bit/32-bit的形式出现。

CMBlockBufferRef:编码后输出的数据。

CMFormatDescriptionRef/CMVideoFormatDescriptionRef:图像存储方式,编解码器等格式描述。

CMSampleBufferRef:存放编解码前后的视频图像的容器数据

基本步骤

1、通过VTCompressionSessionCreate创建编码器

2、通过VTSessionSetProperty设置编码器属性

3、设置完属性调用VTCompressionSessionPrepareToEncodeFrames准备编码

4、输入采集到的视频数据,调用VTCompressionSessionEncodeFrame进行编码

5、获取到编码后的数据并进行处理

6、调用VTCompressionSessionCompleteFrames停止编码器

7、调用VTCompressionSessionInvalidate销毁编码器

相关文章

  • H264系列十二 H.264概述

    参考【H.264/AVC视频编解码技术详解】一. 视频信息与压缩编码【H.264/AVC视频编解码技术详解】二. ...

  • H264系列十二 H.264概述

    参考 【H.264/AVC视频编解码技术详解】一. 视频信息与压缩编码 【H.264/AVC视频编解码技术详解】二...

  • H264系列十九 去块滤波器

    参考《新一代视频压缩编码标准 毕厚杰 6.11》【H.264/AVC视频编解码技术详解】二十、H.264的去块滤波...

  • iOS视频编解码_1

    我们将分成以下几点讨论视频编解码的情况 1、收到H.264格式的视频数据并在应用中播放 2、收到H.264视频数据...

  • H264系列十六 句法元素PPS

    参考《新一代视频压缩编码标准 毕厚杰 第7章 H.264的句法和语义》【H.264/AVC视频编解码技术详解】 十...

  • H264系列十七 Slice(条带或片层)

    参考《新一代视频压缩编码标准 毕厚杰 第7章 H.264的句法和语义》【H.264/AVC视频编解码技术详解】十一...

  • H264系列十五 句法元素SPS

    参考《新一代视频压缩编码标准 毕厚杰 第7章 H.264的句法和语义》【H.264/AVC视频编解码技术详解】 九...

  • 视频编解码H.264

    iOS摄像头的视频数据,采集到的原始视频数据量是比较大的,这么大的数据量不利于进行储存或网络传输。于是需要对视频数...

  • 音视频编解码

    视频编解码:VideoToolbox 关于H264 H.264是目前很流行的编码层视频压缩格式,目前项目中的协议层...

  • [MPEG-4/H.264视频编解码工程实践]PART 1 笔记

    最近在读 《MPEG-4/H.264视频编解码工程实践》, 本身是视频行业从业人员,同时也是开发人员,所以对音视频...

网友评论

      本文标题:视频编解码H.264

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