推广

iOS 音视频编解码—-H264-I(关键)帧,B/P(参考)帧(二)

iseeyu2年前 (2024-02-21)推广144

视频

  • 内容元素

    1.图像(image)
    2.音频(Audio)
    3.元素信息(Meta-data)

  • 编码格式

    1.Video:H264
    2.Audio:AAC(后面文章讲)
    3.容器封装:MP4/MOV/FLV/RM/RMVB/AVI

  • H264

    当我们需要对发送的视频文件进行编码时,只要是H264文件,AVFoundation都提供视频编解码器支持,这个标准被广泛应用于消费者视频摄像头捕捉到的资源并成为网页流媒体视频最主要的格式。H264规范是MPEG4定义的一部分,H264遵循早期的MPEG-1/MPEG-2标准,但是在以更低比特率得到 更高图片质量方面有了进步。

  • 编码的本质

    编码的本质示意图

  • 为什么要编码?

举个例子: (具体大小我没数过,只做讲解参考)
你的老公,Helen,将于明天晚上6点零5份在重庆的江北机场接你
———————-23 * 2 + 10 = 56个字符————————–
你的老公将于明天晚上6点零5分在江北机场接你
———————-20 * 2 + 2 = 42个字符—————————-
Helen将于明天晚上6点在机场接你
———————-10 * 2 + 2 = 26个字符—————————-

相信大家看了这个例子之后,心里应该大概明白编码的本质:只要不接收方不会产生误解,就可以产生数据的承载量,编码视频的本质也是如此,编码的本质就是减少数据的冗余

  • 在引入I(关键)帧,B/P(参考)帧之前,我们先来了解一下人眼和视频摄像头的对帧的识别

    我们人眼看实物的时候,一般的一秒钟只要是连续的16帧以上,我们就会认为事物是动的,对于摄像头来说,一秒钟所采集的图片远远高于了16帧,可以达到几十帧,对于一些高质量的摄像头,一秒钟可以达到60帧,对于一般的事物来说,你一秒钟能改变多少个做动作?所以,当摄像头在一秒钟内采集视频的时候,前后两帧的图片数据里有大量的相同数据,对于这些数据我们该怎么处理了?当然前后两帧也有不同的数据,对于这些相同或者不同的数据的处理过程,就是编码

  • I帧(I-frames,也叫关键帧)

    • 我们知道在视频的传输过程中,它是分片段传输的,这个片段的第一帧,也就是第一张图片,就是I帧,也就是传说中的关键帧
    • I帧:也就是关键帧,帧内压缩(也就是压缩独立视频帧,被称为帧内压缩),帧内压缩通过消除包含在每个独立视频帧内的色彩以及结构中的冗余信息来进行压缩,因此可在不降低图片适量的情况下尽可能的缩小尺寸,这类似于JEPG压缩的原理,帧内压缩也可以称为有损压缩算法,但通常用于对原因图片的一部分进行处理,以生成极高质量的照片,通过这一过程的创建的帧称为I-frames;将第一帧完整的保存下来.如果没有这个关键帧后面解码数据,是完成不了的.所以I帧特别关键.
  • P帧(P-frames,又称为预测帧)

    • P帧:向前参考帧(在I帧(关键帧)后,P帧参考关键帧,保存下一帧和前一帧的不同数据).压缩时只参考前一个帧.属于帧间压缩技术.
    • 帧间压缩技术:很多帧被组合在一起作为一组图片(简称GOP),对于GOP所存在的时间维度的冗余可以被消除,如果想象视频文件中的典型场景,就会有一些特定的运动元素的概念,比如行驶中的汽或者街道上行走的路人,场景的背景环信通道是固定的,或者在一定的时间内,有些元素的改变很小或者不变,这些数据就称为时间上的冗余,这些数据就可以通过帧间压缩的方式进行消除,也就是帧间压缩,视频的第一帧会被作为关键帧完整保存下来.而后面的帧会向前依赖.也就是第二帧依赖于第一个帧.后面所有的帧只存储于前一帧的差异.这样就能将数据大大的减少.从而达到一个高压缩率的效果.这就是P帧,保存前后两帧不通的数据
  • B帧(B-frames,又称为双向帧)

    • B帧,又叫双向帧,它是基于使用前后两帧进行编码后得到的帧,几乎不需要存储空间,但是解压过程会消耗较长的时间,因为它依赖周围其他的帧
    • B帧的特点:B帧使得视频的压缩率更高.存储的数据量更小.如果B帧的数量越多,你的压缩率就越高.这是B帧的优点,但是B帧最大的缺点是,如果是实时互动的直播,那时与B帧就要参考后面的帧才能解码,那在网络中就要等待后面的帧传输过来.这就与网络有关了.如果网络状态很好的话,解码会比较快,如果网络不好时解码会稍微慢一些.丢包时还需要重传.对实时互动的直播,一般不会使用B帧.如果在泛娱乐的直播中,可以接受一定度的延时,需要比较高的压缩比就可以使用B帧.如果我们在实时互动的直播,我们需要提高时效性,这时就不能使用B帧了.
  • GOP一组帧的理解

    • 如果在一秒钟内,有30帧.这30帧可以画成一组.如果摄像机或者镜头它一分钟之内它都没有发生大的变化.那也可以把这一分钟内所有的帧画做一组.

    • 什么叫一组帧?
      就是一个I帧到下一个I帧.这一组的数据.包括B帧/P帧.我们称为GOP

      图片来源于网络

  • 视频花屏/卡顿原因

    • 我们平常在观看视频的时候,出现视频的花屏或者卡顿,第一反应就是我们的网络出现了题,其实我们的网络没有问题,是我们在解码的时候I帧,B/P帧出现了丢失
    • 如果GOP分组中的P帧丢失就会造成解码端的图像发生错误.
    • 为了避免花屏问题的发生,一般如果发现P帧或者I帧丢失.就不显示本GOP内的所有帧.只到下一个I帧来后重新刷新图像.
    • 当这时因为没有刷新屏幕.丢包的这一组帧全部扔掉了.图像就会卡在哪里不动.这就是卡顿的原因.

所以总结起来,花屏是因为你丢了P帧或者I帧.导致解码错误. 而卡顿是因为为了怕花屏,将整组错误的GOP数据扔掉了.直达下一组正确的GOP再重新刷屏.而这中间的时间差,就是我们所感受的卡顿.

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://0291.com.cn/post/56905.html

相关文章

从电影环太平洋谈营销。

从电影环太平洋谈营销。

推广和电话有什么联系呢?推广即是经过招引眼球,让咱们记住一些东西,而且完成赢利转化的进程。咱们再来看看影片,通影片制造招引咱们眼球,让咱们喜爱,里面植入广告,卖影片票,完成转化,影片才是第一流另外推广,我让你晓得一些东西,你还得自个掏钱。那么,咱们能怎么运用影片的操作办法,来联系自个商品的推广呢?咱...

企业网络推广如何做好关键词排名。

企业网络推广如何做好关键词排名。

现如今做网站SEO优化工作时候需要考虑诸多的原因,我们在做优化的时候不仅仅只需要做排名,同时还要分析竞争对手,经过实力对比之后才能够找出优劣势,根据需求做优化,那企业网络推广如何做好关键词排名? 第一,域名有哪些信息 seo优化开始之初,需要了解域名历史,如果属于短域名,和品牌...

微信拼多多助力群二维码最新免费,让你购物更省钱!

微信拼多多助力群二维码最新免费,让你购物更省钱!

如今,微信拼多多助力群二维码最新免费已经成为了越来越多人购物省钱的秘诀。那么,这个神秘的二维码究竟有何魔力,能让众多消费者趋之若鹜呢?我们就来揭秘一下这个神奇的二维码。 我们要明白,微信拼多多助力群二维码最新免费只是一个渠道,一个让消费者能够快速找到拼多多优惠券的渠道。在拼多多这个平...

聚力逐新(微博营销方案)

聚力逐新(微博营销方案)

近日,2022年度微博KA代理商奖项重磅揭晓。在对全国代理商的业绩、增长率和新客贡献等多维度的综合考核下,剧星传媒荣膺“微博2022年度整合营销代理商”。 作为国民级的社交平台,微博是舆论焦点的聚集地,更是品牌社会化营销中不可缺少的一个载体。与此同时,微博的商业化能力正在持续升级,更强调...

极速推多少点击正常(极速推有没有效果)

极速推多少点击正常(极速推有没有效果)

极速推点击数据是反应消费者对商品的第一印象,好还是不好。若采取同样的价格买到的流量,有的消费者觉得特别划算,有的消费者觉得不划算。比如同样是99元5000个曝光,但别人点击是500,你的点击是50,那么别人一个点击成本才2毛钱都不到,你的点击成本要2元。所以要把点击率首先提升上去。...

小编分享真正实现企业全网营销的途径是什么。

小编分享真正实现企业全网营销的途径是什么。

真正实现全网营销的是什么? 很多企业对全网营销的理解还不够透彻,总以为营销就是在PC端才能做的事情,实际上这是大错特错的。所谓全网营销就是包括所有有关互联网上的途径都可以拿来运用,自然不外乎移动端,如果企业想要把移动网络营销做好需要具备哪些因素呢? 第一,要建立长远的服务内容核心战略...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片