H.264

VideoToolBox iOS8.0推出 同期block也推出出来了
VideoToolBox工作流程 VideoToolBox基于Core Foundation库函数,c语言 创建session——>设置编码相关参数——>开始编码——>循环输入源数据(yuv类型的数据,直接从摄像头获取)——>获取编码后的H264数据——>结束编码

CMSampleBuffer编码格式

  • CMTime 时间戳
  • CMVideoFormatDesk 图像存储方式
  • CMPixelBuffer编码后 CVPixelBuffer编码前
CMSampleBuffer.png

(1)第一位为禁位
(2)第2-3位为参考级别
(3)第4-8位为nal单元类型

  • SPS序列参数集
  • PPS图像参数集
    SPS & PPS信息参数
    编码所有的Profile、level、图像的宽和高、deblock录波器......
    H264码流中第一个NALU是SPS&PPS

时间和空间的相似性对数据进行压缩
视频编码格式H.264

代码流程

  • 简单UI
  • 配置 AV Foundation捕捉回话
  • 配置 VideoToolBox
  • 开始捕捉
  • AV Foundation捕捉到视频
  • 停止捕捉
  • 结束AV Foundation

直播app核心框架如下图:

直播核心框架.png
视频.png
屏幕快照 2017-08-02 下午3.33.19.png
关键帧.png

如果没有关键帧是无法解析的。

一个视频里面包含多个GOP

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 使用VideoToolbox硬编码H.264在上一篇的硬编码简单介绍了H.264和VideoToolbox以...
    落影loyinglin阅读 14,281评论 37 36
  • H.264组成 1、网络提取层 (Network Abstraction Layer,NAL) 2、视讯编码层 (...
    落影loyinglin阅读 13,953评论 6 34
  • 一. 概述 苹果从iOS 8开始,开放了硬编码和硬解码的api,所以,从iOS 8开始,需要解码H.264视频时,...
    金山视频云阅读 13,474评论 1 25
  • 最近感动到我的一部爱情片《秋天的童话》。这部1987年上映的电影与我相遇却是在我即将奔三的青春路上,缘起于...
    Athena燕阅读 4,284评论 2 1
  • 我记事起,身边只有一只银白色的狼,她将我养大,我也继承了她的沉稳狠辣,直到我十七岁的那年。 那是初次逢着你,一身素...
    十年心事阅读 851评论 0 2