音视频码率的计算

1、前言

        音视频处理相关,首先须要面临的是音视频多媒体的比特率问题,比特率也是码率,一个音频比特率为 128kb/s,即每秒128k bit,8bit=1Byte,也就是这个音频每秒钟占用16KB的存储空间,而若是涉及到多声道就应该乘以相应的倍数。php

        因为视频由视频图像数据与音频数据组装而成,所以 对于视频来讲,就除了音频audio以外,还要加上video的大小。ide

        上述音频视频的码率都会涉及到编解码压缩比例的问题。网站

2、正文

音频码率相关

        首先是音频码率的计算,一个音频的基本属性假设为: 采样率:44.1KHZ,码率:128kb/s,通道数:双声道。编码

  1. 采样率——44.1KHZ,每秒钟对音频的采样频次。
  2. 通道数——双声道(立体音)左右耳听到差别的声音,有多少个通道数就有多少个维度的音频数据。
  3. 比特率(码率)——128kb/s,每秒钟占多少kb。
  4. 采样位数  采样样本幅度量化,衡量声音波动变化的一个参数,也能够说是声卡的分辨率。即纵轴刻度的精确度。假设采样位数以下:

        ——1 字节(也就是8bit) 只能记录 256 个数, 也就是只能将振幅划分红 256 个等级;cdn

        ——2 字节(也就是16bit) 能够细到 65536 个数,  CD 标准视频

        因而先放一张图以下所示,这张图是一个音频的波形图,波形的横轴设为X,纵轴为Y。Y轴的精度就是采样位数,而X轴的精度则表明每秒钟采样频次即采样率,所以一个音频的比特率即单位时间所占空间大小为:比特率=采样率 * 采样位数 * 通道数。blog

               

image

        而又因为音频格式的不一样,所采用的压缩编码方式皆不相同,所以在计算音频对应比特率时,还应乘以压缩的倍率,如0.2等。get

        比特率=采样率 * 采样位数 * 通道数 * 压缩比例博客

视频码率相关

        因为视频由视频图像及音频声音封装而成,所以视频的码率计算须要分为两部分:视频图像的码率 + 视频中音频的码率。而音频的码率咱们已经在上面计算过了,所以接下来要说的是视频图像的码率。                 it

image

        如上图所示,是一段视频,若是要计算一个未通过压缩的视频图像的码率,则须要图像的分辨率(如1080*720)属性,图像位深度(如8或16)以及每秒帧数(如60,90)。即公式以下:

        帧率 * 像素宽 * 像素长 * 位深度 = 视频图像码率。如一个视频属性为:60fps(帧率),480*720p,32位位深,则视频图像码率 = 60 * 480 * 720 * 32。

        整个未压缩的视频码率 = 音频码率 + 视频图像码率;因为当前视频均采用编码压缩,所以还须要乘以倍率,视频码率 = 音频码率* 音频压缩比率 + 视频图像码率* 视频压缩比率。而计算出的视频码率只能大约得估算出真正的视频码率,由于其中还有一些其余的影响参数。

3、结语

        在写这篇博客的时候,也发现了有个根据视频参数自动计算视频码率的网站,toolstud.io/video/bitra… ,感受很不错,推荐。

相关文章
相关标签/搜索