音视频文件的码率与大小计算

摘要:
编码率/比特率直接与文件体积有关。且编码率与编码格式配合是否合适,直接关系到视频文件是否清晰。在视频编码领域,比特率常翻译为编码率,单位是Kbps,例如800Kbps其中, 1K=1024 1M=1024Kb 为 比特(bit) 这个就是电脑文件大小的计量单位,1KB=8Kb,区分大小写,B代表字节(Byte) s 为 秒(second) p 为 每(per)以800kbps来编码表示经过编码后的数据每秒钟需要用800K比特来表示。1MB=8Mb=1024KB=8192KbWindows系统文件

编码率/比特率直接与文件体积有关。且编码率与编码格式配合是否合适,直接关系到视频文件是否清晰。

在视频编码领域,比特率常翻译为编码率,单位是Kbps,例如800Kbps

其中, 1K=1024 1M=1024K

b 为 比特(bit) 这个就是电脑文件大小的计量单位,1KB=8Kb,区分大小写,B代表字节(Byte) s 为 秒(second) p 为 每(per)

以800kbps来编码表示经过编码后的数据每秒钟需要用800K比特来表示。

1MB=8Mb=1024KB=8192Kb

Windows系统文件大小经常用B(字节)为单位表示,但网络运营商则用b(比特),也就是为什么2Mb速度宽带在电脑上显示速度最快只有约256KB的原因,网络运营商宣传网速的时候省略了计量单位。


完整的视频文件是由音频流与视频流2个部分组成的,音频和视频分别使用的是不同的编码率,因此一个视频文件的最终技术大小的编码率是音频编码率+视频编码率。例如一个音频编码率为128Kbps,视频编码率为800Kbps的文件,其总编码率为928Kbps,意思是经过编码后的数据每秒钟需要用928K比特来表示。

了解了编码率的含义以后,根据视频播放时间长度,就不难了解和计算出最终文件的大小。编码率也高,视频播放时间越长,文件体积就越大。不是分辨率越大文件就越大,只是一般情况下,为了保证清晰度,较高的分辨率需要较高的编码率配合,所以使人产生分辨率越大的视频文件体积越大的感觉。

计算输出文件大小公式:

(音频编码率(Kbit为单位)/8 + 视频编码率(Kbit为单位)/8)× 影片总长度(秒为单位)= 文件大小(MB为单位)

这样以后大家就能精确的控制输出文件大小了。

例:有一个1.5小时(5400秒)的影片,希望转换后文件大小刚好为700M

计算方法如下:

700×8÷5400×1024≈1061Kbps

意思是只要音频编码率加上视频编码率之和为1061Kb,则1个半小时的影片转换后文件体积大小刚好为700M。

至于音频编码率和视频编码率具体如何设置,就看选择的编码格式和个人喜好了,只要2者之和为1061即可。如可以设置为视频编码格式H264,视频编码率900 Kbps,音频编码格式AAC,编码率161 Kbps。

与文件体积大小有关的码率是指的平均码率,因此,不论是使用固定比特一次编码方式还是使用二次(多次)动态编码方式,都是可以保证文件大小的。只有使用基于质量编码的方式的时候,文件大小才不可控制。

编码格式有很多种,在技术不断进步的情况下,针对不同的用途,产生了各种编码格式。不同编码格式的压缩率不一样,且有各自的特点,有些在低码率情况下能保持较高的画面质量,但在高码率情况下反而画面质量提示不大,有些适合在高码率情况下保持高清晰度画面,但可能在低码率情况下效果不佳。介绍常见的几种。


RMVB/RM在制定的时候主要考虑的是网络传播,目的在于利用不快的网速传播视觉可以接受的画面质量。因此,RMVB/RM编码格式的特点是较低码率下能获得较好的视频质量。但高码率的情况下反不如其他编码格式。同样是RM/RMVB后缀的文件,其内部编码格式细分还有R8/R9/R10等,但总的来说,上面所说的特点依然是存在的。只是压缩率更高了,因此RMVB没人用在高清编码领域。RMVB追求的是高压缩率,能接受的画面质量,所以经常压缩掉一些不容易注意的细节。初看画面不错,细看就发现画面不锐利,层次不分明,总给人一直模糊的感觉。RMVB/RM后缀文件的音频编码部分同样存在这样的情况,声音压缩率很高,但只是能听,不要奢望达到声音动听的境界。


RMVB的流行,一是因为REAL的这种格式适合低速网络的传播,能以较小的文件体积获得可以接受的画面质量。二是随着RMVB的使用,开始出现功能比较完善的转码软件和解决方案,方便了视频爱好者,扩大了影片来源。但随着网速越来越快,H264等更好的编码器出现,同时也因为RMVB不适合高清视频制作,且若对于其他硬件厂家希望支持RMVB/RM格式,就必须向REAL公司支付相当昂贵的专利费,导致很多硬件厂商放弃了对RMVB文件的支持。RMVB的文件已经不是以前那种完全压倒性的优势了。


现在网络传播的视频文件已经很多都是AVI、MKV、MP4、3GP等后缀了。其中MKV等多用于高清视频文件,MP4、3GP等多用于手机和便携式设备等领域,AVI则使用范围更加广,不但在高清晰度视频文件中有AVI文件,在便携式设备领域也有AVI使用。

VCD用的视频编码格式为MPEG1,DVD则为MPEG2,VCD和DVD都主要用于家庭影音播放,而且一般来说,VCD用MPEG1编码为固定码率编码。DVD可以支持动态码率的MPEG2编码。

为了能保证激烈变化画面时的清晰度,其默认编码率都较高,VCD标准编码率1152Kbps,DVD开放些,根据影片播放时间,常设置为5000 Kbps -8000 Kbps之间,在不浪费DVD碟容量的前提下尽可能的使用较高的码率获得更高的清晰度。MPEG1和MPEG2在超低码率情况效果不佳,且过分提高码率,画面效果带来的提示也不明显。而MKV则以H.264编码,用于高清视频,1080p的画面达到了30Mbps的码率。

当然不经过压缩文件的计算公式又不同:

声音为,数据量(位/秒)= (采样频率(Hz)采样位数(bit)声道数)

其中,单声道的声道数为1,立体声的声道数为2。

数据量时间/8=文件总字节

例如CD即为未经压缩的音频文件,采样44.1k,16位,双声道。

数据量=44.1162=1411kb/1024=1.38Mb,一般的MP3压缩后为128kbps

如果以一张CD放一个小时计算的话,CD总量=1.383600/8=621MB,当然CD大约放1小时多点,顶多也就700MB。

图象应该是,数据量(位/秒)= (画面尺寸彩色位数(bit)帧数)

数据量时间/8=文件总字节

例如2分钟,25帧/秒,640×480分辨率,24位真彩色数字视频的不压缩的数据量约为,数据量=640x480x2425=184320Kb=180Mb,而VCD、MKV标准编码率(加上音频)分别为1152Kbps和30Mbps(1080p高清)

2分钟文件字节=180Mbx120/8=2700000KB=2636.71875MB=2.57GB,而压缩后一部90分钟高质量DVD电影可以达到9GB。

————————————————

版权声明:本文为CSDN博主「刚入视频监控行业的菜鸡」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u010868213/article/details/122516649


免责声明:文章转载自《音视频文件的码率与大小计算》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇爬虫——爬虫模块的基本使用+获取post,get,ajax方式加载的网页的数据Vuejs之开发环境搭建下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

c# ffmpeg常用参数

c#  ffmpeg常用参数   转换文件格式的同时抓缩微图: ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg' 对已有flv抓图: ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test....

mysql 缓存机制

了解mysql缓存吗(顺丰) mysql缓存机制就是缓存sql 文本及缓存结果,用KV形式保存再服务器内存中,如果运行相同的sql,服务器直接从缓存中去获取结果,不需要在再去解析、优化、执行sql。 如果这个表修改了,那么使用这个表中的所有缓存将不再有效,查询缓存值得相关条目将被清空。表中得任何改变是值表中任何数据或者是结构的改变,包括insert,upd...

快速生成网络mp4视频缩略图技术

背景 由于网络原因,在下载视频之前我们往往会希望能够先生成一些视频的缩略图,大致浏览视频内容,再确定是否应花时间下载。如何能够快速得到视频多个帧的缩略图的同时尽量少的下载视频的内容,是一个值得研究的问题。 思路 众所周知,不考虑音频、字幕的话,视频是由多个图像帧拼接而成的,因此我们的目标也就是尽量只下载视频中我们想下载的帧图片,而忽略其他的信息,那么就需要...

vue实现文件夹的上传和下载

需求: 支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验; 内网百兆网络上传速度为12MB/S 服务器内存占用低 支持文件夹上传,文件夹中的文件数量达到1万个以上,且包含层级结构。 支持PC端全平台操作系统,Windows,Linux,Mac 支持文件和文件夹的批量下载,断点续传。刷新页面后继续传输。关闭浏览器后保留进度信息...

unity中使用VideoPalyer播放本地视频

using System; using UnityEngine; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine.Video; using UnityEngine.UI; using TMPro; using UIW...

h264格式的flv和mkv无损转换成mp4的方法

现在很多flv和mkv视频都是采用的h264封装,移动设备往往并不支持这些格式的文件,但却对h264封装的mp4支持良好。因此,为了视频能在电脑和移动设备间共享,我通常会将其转换成h264封装的mp4文件。 由于视频转码非常耗时间和cpu,如果flv和mkv本来就是采用的h264封装,完全不需要转码,只需要把h264视频和音频文件分离出来,重新混流一次即可...