音视频处理相关,首先须要面临的是音视频多媒体的比特率问题,比特率也是码率,一个音频比特率为 128kb/s,即每秒128k bit,8bit=1Byte,也就是这个音频每秒钟占用16KB的存储空间,而若是涉及到多声道就应该乘以相应的倍数。php
因为视频由视频图像数据与音频数据组装而成,所以 对于视频来讲,就除了音频audio以外,还要加上video的大小。ide
上述音频视频的码率都会涉及到编解码压缩比例的问题。网站
首先是音频码率的计算,一个音频的基本属性假设为: 采样率:44.1KHZ,码率:128kb/s,通道数:双声道。编码
——1 字节(也就是8bit) 只能记录 256 个数, 也就是只能将振幅划分红 256 个等级;cdn
——2 字节(也就是16bit) 能够细到 65536 个数, CD 标准视频
因而先放一张图以下所示,这张图是一个音频的波形图,波形的横轴设为X,纵轴为Y。Y轴的精度就是采样位数,而X轴的精度则表明每秒钟采样频次即采样率,所以一个音频的比特率即单位时间所占空间大小为:比特率=采样率 * 采样位数 * 通道数。blog
而又因为音频格式的不一样,所采用的压缩编码方式皆不相同,所以在计算音频对应比特率时,还应乘以压缩的倍率,如0.2等。get
比特率=采样率 * 采样位数 * 通道数 * 压缩比例博客
因为视频由视频图像及音频声音封装而成,所以视频的码率计算须要分为两部分:视频图像的码率 + 视频中音频的码率。而音频的码率咱们已经在上面计算过了,所以接下来要说的是视频图像的码率。 it
如上图所示,是一段视频,若是要计算一个未通过压缩的视频图像的码率,则须要图像的分辨率(如1080*720)属性,图像位深度(如8或16)以及每秒帧数(如60,90)。即公式以下:
帧率 * 像素宽 * 像素长 * 位深度 = 视频图像码率。如一个视频属性为:60fps(帧率),480*720p,32位位深,则视频图像码率 = 60 * 480 * 720 * 32。
整个未压缩的视频码率 = 音频码率 + 视频图像码率;因为当前视频均采用编码压缩,所以还须要乘以倍率,视频码率 = 音频码率* 音频压缩比率 + 视频图像码率* 视频压缩比率。而计算出的视频码率只能大约得估算出真正的视频码率,由于其中还有一些其余的影响参数。
在写这篇博客的时候,也发现了有个根据视频参数自动计算视频码率的网站,toolstud.io/video/bitra… ,感受很不错,推荐。