urlname
type
Post
password
SyncToConfluence
category
学习笔记
date
Apr 8, 2023 18:03
slug
5c4fab69b9c4
icon
Button
catalog
summary
tags
音视频
cover
Status
BusyTime
Status 1
status
Published

帧率

Frame rate,是指每秒钟播放的视频帧数,通常用 FPS(Frames Per Second) 来表示。而这里提到的 ,其实就是构成视频的一个个画面,换句话说,帧率代表的就是每秒钟,可以连续输出多少个画面的指标
是衡量视频播放流畅度的重要指标,较高的帧率可以使视频看起来更加流畅,而较低的帧率则可能会导致视频卡顿、不连贯等问题
帧率通常是通过 编码器解码器 来控制的。编码器会将视频按照一定的帧率进行压缩编码,而解码器则会按照同样的帧率解码出视频帧并进行播放。

帧率大小的区别:

可以想象,相同的时间内,如果要都是从位置 A 移动到了位置 B,那么在帧率低的情况下,每秒输出的画面数就没有帧率高的情况下高,也就是整体画面肯定就没那么流畅了

高帧率的视频在低帧率的设备上播放

如果视频的帧率高于设备的实际帧率,那么设备就需要放弃一部分帧数来适应视频播放。这样可能会导致视频卡顿、画面不流畅等问题,影响观影体验。
比如一个视频的帧率为 60FPS,而设备的实际帧率只有 30FPS,当这个视频在该设备上播放时,设备每秒只能够显示 30 帧,而视频每秒产生 60 帧,这样就会导致,在设备播放完一帧后,视频其实已经过去了两帧,也就是说,每两帧就会有一帧被忽略,可能会导致原本流畅的视频,在某些设备上,播放效果反而不够流畅

低帧率的视频在高帧率的设备上播放

如果视频的帧率低于设备的实际帧率,那么设备将会在一个时间段内重复显示同一帧画面,以适应视频播放。这样可能会导致画面变得模糊,因为每一帧画面都会被重复显示多次。尤其是对于运动较快的物体,因为时间段内的移动速度较快,重复显示同一帧画面就会导致物体变得模糊。

码率

  • 码率 (Bitrate) 是指单位时间内传送或处理的数据量,通常用 bit/s 或者 Mbps(兆比特每秒)来表示
  • 在音视频领域中,码率指的是 单位时间内传送的视频或音频数据的位数,通常也用 bit/s 或者 Mbps 来表示。
  • 码率通常是视频质量和视频压缩比之间的一种平衡

码率与文件大小

  • 文件大小 = 每秒传输或处理的数据量 * 视频时长 = 码率 / 8 * 视频时长
从上面的公式,可以总结出,较高的码率可以提高视频的质量和清晰度,但也会导致视频文件较大,占用更多的存储空间和带宽资源。相反,较低的码率可以减小视频文件大小,但也会导致视频的质量和清晰度降低

IPB 帧

I 帧——关键帧

Intra-coded frame,不依赖于其他任何帧进行解码,可以作为独立的图像帧进行解码。I帧通常具有较高的图像质量,但其占用空间也较大,因为它包含了完整的图像信息。

P 帧——预测帧

Predictive-coded frame,依赖于前面的 I帧P帧 进行解码。P帧 利用前面帧中的运动信息,只编码图像变化的部分,可以获得较好的压缩效果,同时也可以保持较好的图像质量。
由于 P帧 是参考帧,它可能造成解码错误的扩散

B 帧——双向预测帧

Bi-predictive-coded frame,依赖于前面和后面的 I帧 或 P帧 进行解码。B帧可以利用前后帧的运动信息进行更准确的预测和更好的压缩,因此可以在保持较好图像质量的同时,减小视频文件的大小。

IDR帧

Instantaneous Decoder Refresh即时解码刷新,它不依赖于之前的帧进行解码,可以 独立解码,可以在视频传输过程中,随时切换不同的码率、分辨率等参数,以适应网络带宽和设备性能的变化。
IDR 帧开始,可以确保新片段能够独立于其他片段被解码。即使由于传输问题导致一些片段损坏或丢失,这一特性也能保证视频可以继续播放。

GOP——Group of Pictures

Group of Pictures:由一组连续的视频帧组成,其中第一个帧是 I帧,然后跟随一系列的 P帧B帧,最后以一个 P帧 结尾。
GOP 的长度:两个连续 I帧 之间的距离

闭合 GOP

即不对外开放的 GOP,且 一个属于闭合 GOP 的帧只能参考本 GOP 之内的帧,这样的规定带来的好处是:即使在闭合 GOP 中的帧出现问题,也不会把错误传播到其他 GOP
适用场景:适用于一些需要更高的解码鲁棒性和实时传输性能的应用
  • 视频编辑
  • 视频剪辑
  • 视频会议
  • 视频监控

开放 GOP

每个 GOP 的最后一个帧可以是 P帧B帧,而不是必须是 P帧。也就是说,开放式 GOP 中,不同的 GOP 之间,是可以互为参考的
适用场景:适用于一些需要 更高的压缩效率和带宽利用率 的应用
  • 流媒体传输
  • 实时视频通信

IDR 与闭合 GOP 带来的优势

  • ABR视频流:指根据网络条件和设备性能动态调整码率、分辨率和帧率等参数的视频流
    • 通常使用 HTTP 协议传输,例如 HLS(HTTP Live Streaming)DASH(Dynamic Adaptive Streaming over HTTP) 等协议
    • 可以确保视频流在任何情况下都能够以最佳的质量和性能进行播放
  • 错误恢复:这是闭合 GOP 带来的好处,视频段之间不会互相依赖,对于某段出错了,仍然可以播放下一段
  • 快进快退:在实现快进快退的功能时,播放器可以查找距离最近的 IDR,然后从该位置开始播放视频流

推荐/参考

音视频 基础入门一Android UI 刷新源码解析
Loading...