H264 视频码率

为什么同样的分辨率帧率视频 ,码率还不一样?

    编码器压缩的度不一样,所以影响存储空间和网络上传输带宽占用。

码率,也叫做比特率:视频比特率是指要播放该视频,所需要每秒读取的该视频文件的比特(bit)数。单位为bps(Bit Per Second),比特率越高,每秒读取数据就越多,同等条件下画质就越好。

一个原生的视频,不进行编码压缩,要显示播放,每秒需要的bit数:

 一个 这样的 视频:

       1280 width

        720 high

        使用色彩空间  YUV 420 ,这个格式每个像素平均占用空间 12bit

        帧率 25fps

如果不压缩,每秒原始的数据量 大小为:

1280 x 720 (总像素) x 12bit(每个像素占用12bit) x 25(一秒25帧) = 276480000 bits = 32.96  x 1024 x 1024 x8

即每秒要用到的数据是 32.96MB.

但是有编码器的存在,就是为了减少这些存储传输的数据量,比如h264,进行编码后对应的总的输出数据(这是数据是压缩后数据)每秒占用的 空间,称为码率(也可以说比特率),一般来说,压缩率越高,每一帧数据越小,所以码率越小,压缩后的视频质量就会越低,这些取决于内部的压缩编码方法。 所以,h264的编码,是支持 静态码率,动态码率等几种方式的。即 CBR(Constant Bit Rate)是以恒定比特率方式进行编码》VBR(Variable Bit Rate)动态比特率,其码率可以随着图像的复杂程度的不同而变化,因此其编码效率比较高。 一般来说,码率越低,压缩率越高,每一帧h264越小。图像效果越差(毕竟一般都是有损压缩,为了更高的压缩率更小的存储空间)。码率越高,不会高过原始码率(上面分析的不压缩时候的视频码率,高出这个,这个编码就毫无意义了)  ,一般图像效果也越好。 刚才所说,编码器可以支持动态码率编码和静态码率编码。如果采用动态码率编码,那么这个视频文件的码率就是根据实际内容动态变化的,比如某一个画面场景比较复杂,为了保留更多的图像细节,编码器对这些复杂画面帧的编码压缩率相对较小,输出的h264帧数据比较大,码率就大,如果只是几张空白的背景,编码出来的帧就小得多。

有个疑问,码率越低,压缩率越高,是不是意味着编解码器和解码要做的工作越多?编码和解码耗时也就越长,毕竟要复原图像,还是需要原图像的相当的数据量。这么说来,都是牺牲时间来减少空间,所以随着硬件性能的提升,原本耗时更多的 编解码方案得以实际可用,就会催生出新的计算更复杂但是压缩率更大的编解码方案。比如什么h266 vp9

做app的一个朋友很疑惑,说你们一个视频文件那么大,咋不知道先zip压缩一下再放进来呢,嗯。。。。。。。。。你觉得编码器编码压缩出来的音视频你还能zip再压榨一下信息量么???要不你试下.mp4 右键zip一下???

  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值