Q:BitrateCurve有什么用?
A:对于普通大众来说,BitrateCurve有以下用处:
1、可以快速检查下载到的RM文件是否有播放不过去的地方:打开RM文件,如果在中间部分连续出现几秒码率为0的情况(软件显示最小码率为0,界面上会出现对应的红灯),通常在播放的时候那里就会播不过去。对于AVI文件来说,由于本软件直接读取索引段,没有逐包读取movi段,因此不能用这种方式判别文件的好坏。
2、可以通过“文件信息”查看一些压缩时的参数,供自己压片时参考。
而对于一小撮喜欢折腾的人士来说,BitrateCurve也可以帮助他们宣泄灵魂深处强烈的自虐欲望:
1、可以很方便地查看到码率最大、最小的地方,实际观看这些地方的画面效果,然后据此调节压缩时的码率参数(包括最大码率、平均码率等),重新压缩,也就是常说的“好片子要压三遍”。
2、可以同时显示AVI片源和RM文件的码率曲线,比较双方在码率分配方面的差异。
3、可以同时显示两个片源相同、参数不同的AVI文件或RM文件,从而比较压缩参数对码率分配的影响。
无论如何,软件不过是个工具而已,它真正的作用,与使用者密切相关,就象同样一支毛笔,在我手里一文不值,到了名画家手里则价值千金。如果您还发现这个软件有什么特别的作用,欢迎与我联系。春节的赚钱机会
Q:为什么要开发BitrateCurve?
A:原因很简单:我见过太多人对RMVB的压缩参数进行争论,每个人都在引经据典,说明不同的参数对码率分配的影响如何如何,但是却没有人能够拿出实际的数字,证明实际的码率究竟是如何分配的。DOOM9上也有人发表过一个计算RMVB码率分布的软件RMVBAnalyser,可惜我每次运行这个软件都会出错,所以才决定开发这个软件,而且连AVI的码率也一起分析,便于比较RMVB及其AVI片源的差异。
Q:BitrateCurve支持哪些格式?
A:目前支持AVI和RMVB。由于计算码率的时候不需要解码,因此不需要在机器上安装相应的codec。
Q:为什么AVI和RMVB的速度会差那么多?
A:原因很简单:在AVI文件的index段中,已经包含计算码率所需的关键信息,因此读取这一小段数据就可以了。RMVB的index段中信息不足,因此只能把整个文件从头读到尾。
Q:BitrateCurve收费吗?
A:BitrateCurve是一个“友情软件”(Friendware),用户在承诺不用于商业目的,也不对文件及其附件进行任何更改的条件下,不需要为使用该软件付任何费用,最多是在某个讨论区看到我发帖子灌水时(我的ID一般是strnghrs),进去捧个人场,作为友情回报;或者在年节时发个email问声好(所以叫“友情软件”)。我承诺绝不在程序中暗藏任何商业广告、木马,但不承诺为使用BitrateCurve的后果承担任何责任。如果您需要将它用于商业目的,或加入您的网站,请与我联系,否则保留追究一切责任的权利。
一、所谓码率
对于流媒体,码率(bitrate)可以定义为:单位时间内流过的数据量,单位通常采用kb/s(千比特/秒)。
这里所谓“流过”,其实就是指codec对数据进行处理。不过一般说的恒定码率(CBR)码率、可变码率(VBR),都是针对编码后的数据流,不针对解码后的数据流。解码后的数据流码率通常为一个恒定值(例如解码后的视频码率=长×宽×色深×fps),不在本文和本软件的探讨范围之内。
码率最简单的计算公式就是:码率=文件总长度/播放时间
这个公式的物理含义是:codec在播放时间内,需要将整个文件处理完。当然这样算出来的只是一个粗略的平均数,不能反映实际码率在每一秒的变化。而且由于文件中除了音频、视频数据外,还包含其它数据,因此按上面这个公式计算出来的码率会比真正的平均码率稍大。
本软件所计算的,就是编码器压缩生成的数据流的实际码率,不仅有平均码率,还有每一秒的码率,便于对数据流量进行定量分析。
不过对于大多数普通人来说,在说到“码率”的时候,AVI和RMVB又略有不同:RMVB文件是音频、视频一起编码的,所以它的码率,通常是包含音频、视频的总码率;而AVI文件的音频、视频通常是分开压缩,最后才合成到一起,因此一般人在说到AVI的码率时,指的多半只是视频的码率。
本软件可以计算视频、音频、视频+音频的码率。输出的时候,可以选择输出全部或只输出某一种码率。
二、AVI码率计算
AVI流的码率计算基本思想是:算出fps(framespersecond)值,然后顺序获取每一帧的压缩数据量,将1秒内的所有帧的压缩数据量加在一起,就是这一秒的码率。需要注意的是AVI文件的fps值通常是一个浮点数,因此会出现某一帧横跨两秒的情况(如对于fps=23.976的AVI文件来说,第24帧就从第1秒尾延续到第2秒头),计算时需要按照跨越的比例在前、后秒间进行分配。如果将fps圆整成整数,不仅计算结果不精确,而且对于播放时间比较长的片子,还可能出现最后几秒没数可算的窘况。
获取帧数据量的方式通常有3种:
使用微软提供的vfw(videoforwindows)接口。对于视频流,这种方法是最方便的,但是音频流经常不能逐帧读取,因此不能用这种方法计算音频流的码率。
使用微软提供的mmio接口,按照RIFF格式解析AVI文件。这种方法要求对AVI文件结构非常了解。
使用第三方源代码,然后在需要的地方进行更改。这个应该是比较省事,也比较靠得住的一种方案。本软件就参考了guliverkli开源项目下的AviSplitter源代码。
为了省事,也为了加快读取速度,本软件直接从AVI文件的"idx1"段读取包长度,这种方式与vfw的处理方式是一样的,不过如果AVI文件中没有索引,或索引出了问题,用本软件读取的数据也会出错。幸好常用的AVI制作、编辑软件Nandub是支持索引的,所以只要是用它合成的AVI,能够正常播放就能用本软件计算码率。
由于计算码率的时候不需要解码,因此不需要在机器上安装相应的codec。
三、RMVB码率计算
RMVB的码率计算方法与AVI类似,不过RMVB的IndexRecord中不包括包(package)长,因此只能逐包读取RMVB数据,在包头信息中有包的时间戳,根据时间戳、包长度,累加即可计算出每一秒内需要处理的总数据长度,即码率。由于包头有时间戳,因此在计算RMVB码率的时候,没有必要计算fps值。不过要注意的是RMVB文件的数据包可能出现跨秒的情况(如前一包的时间戳是1738,后一包的时间戳是2049,则前一包的数据可以认为从前1秒尾跨越到后1秒头),计算时需要按照跨越的比例在前、后秒间进行分配。
RMVB的解析接口我原本以为Real公司会提供,但是看了半天SDK帮助也不得要领,最后接受cool18的建议,参考了guliverkli开源项目下RealMediaSplitter的源代码实现。
四、统计特征量
为了从统计学的角度对码率进行分析,本软件提供了码率分布和统计特征量计算。
码率分布(Bitratedistribution)包括三列:码率(Bitrate,单位为kb/s),频数(Frequence),百分比(Percent)。它的含义是:在整个片子中,码率从多少到多少的时间一共有几秒,在全片中占百分之几。例如下面这段输出:
Bitrate Freq. Percent
<400 3 10.3%
<500 9 31.0%
<600 5 17.2%
<700 5 17.2%
<800 4 13.8%
<900 1 3.4%
<1000 0 0.0%
<1100 0 0.0%
<1200 2 6.9%
其含义为:码率小于400的地方有3处,占全片的10.3%;码率在400~500之间的有9处,占全片的31.0%;码率在500~600之间的有5处,占全片的17.2%,依此类推。
为了简化输出,本软件只提供视频流的码率分布。分布间隔自动计算,计算依据有两个:
间隔为100kb/s的倍数。
间隔区间不超过10个。太多的区间只会使人眼花缭乱。
在本软件中,以计算出来的各秒码率为统计样本,对以下统计指标进行了计算:
Max:最大值。
Min:最小值。
Average:平均值。
Standarddeviation:标准差,反映样本的变化程度。理论上说,标准差适用于对称分布,特别是正态或近似正态分布。我没有时间,也没有兴趣去做码率是否符合正态分布的假设检验,在这里加上这个指标,只不过是出于某种不可救药的职业习惯。如果您认为码率分布不是对称分布,可以忽略标准差和变异系数这两个特征量。
Coefficientofvariation:变异系数=标准差/平均值。在两组(或几组)资料均数相近、度量单位相同的条件下,标准差大,表示观察值的变异度大,即各观察值离均数较远,均数的代表性较差;反之,表示各观察值多集中在均数周围,均数的代表性较好。若比较度量单位不同或均数相差悬殊的两组(或几组)观察值的变异度时,需计算变异系数进行比较。
由于第一秒、最后一秒的数据很难准确计算,与其它数据相比往往偏差比较大,因此在计算统计特征量时,这两个时间点上的数据不参与运算。
附录A鸣谢
本软件在开发过程中参考了下列代码,在此表示感谢:
AVI、RMVB码率计算部分分别参考了guliverkli开源项目下的AviSplitter和RealMediaSplitter。
Excel文件输出部分采用了AndreiLitvin的SavingExcel2.1Workbook。
曲线绘制部分采用了JuanCarlosSanchez的ScrollChartControl。
AVI文件的视频、音频解码器名称来自AVIcodec。
RMVB文件信息输出参考了AlexeyPavluchenko的rma(RealMediaAnalyzer)的-d命令。
可以计算出每一秒钟的码率,便于分析不同压缩参数对码率分配的影响。
可以计算码率分布频数和分布概率。
可以计算码率的统计特征量,包括最大值、最小值、平均值、标准差、变异系数等。
可以对文件格式进行分析,显示AVI、RMVB的相关文件信息。
可以同时分析两个文件,便于比较。
结果可以存为TXT文件,也可以存为Excel文件。如果是在Windows98/Me下运行本软件,请将TXT文件与某个支持长文件的文本编辑器相关联,缺省的记事本程序只能打开32KB的文本。Windows2000/XP无此限制。
可以批量检查RM文件,看其中是否存在码率为0的情况。
一、软件安装/删除
本软件安装非常简单:创建一个目录,用WinZip将下载下来的ZIP包解压缩到该目录即可。
本软件的删除也很简单:删除从ZIP包中解压缩出来的所有文件即可。
ZIP包中包括下列文件:
BitrateCurve.exe。这是软件的主程序。
BitrateCurve.htm。本帮助文件。
如果您下载到的ZIP包中还包括其它文件,毫无疑问不是我放进去的,有广告之嫌疑,请立即删除。
另外程序允许过程中还会生成下列文件:
BitrateCurve.ini。这个是配置文件,改变输出选项后自动生成。
BitrateCurve_chk.txt。批量检查RM文件时的缺省输出文件。
二、软件使用
软件的使用比较简单,按照软件界面上提示的1、2、3步骤操作即可。
对输出内容的解释参见技术探讨。
Version1.03
错误修正:在显示某些AVI文件的“文件信息”时,只能显示到视频编码。
Version1.02
新增功能:批量检查RM文件,看其中是否存在码率为0的情况。
新增功能:在AVI文件的“文件信息”中,可以按时间显示视频流长度(原先只显示帧),便于合并AVI时计算字幕起始时间点。
Version1.01
新增功能:“文件信息”,可以显示文件头信息、流信息,用于对文件格式进行分析。
新增功能:在输出TXT文件时,在文件头加入版本信息。
新增功能:在码率列表中突出显示码率最大、最小的5个(点数可设置)点,及0码率点。
新增功能:打开RM文件时,如果发行有0码率点,则用红灯突出显示。
功能修正:AVI文件的fps值通常是一个浮点数,因此会出现某一帧横跨两秒的情况(如对于fps=23.976的AVI文件来说,第24帧就从第1秒尾延续到第2秒头),以前版本在计算时这种帧的数据量会全部归于后一秒,从本版本开始改为按照跨越的比例在前、后秒间进行分配。因此计算出的码率数据可能会略有不同,但是码率曲线的整体趋势应该不变,对统计特征量的影响也不大。
功能修正:RMVB文件的数据包可能出现跨秒的情况(如前一包的时间戳是1738,后一包的时间戳是2049,则前一包的数据可以认为从第1秒尾跨越到第2秒头),以前版本在计算时这种跨秒包的数据量会全部归于前一秒,从本版本开始改为按照跨越的比例在前、后秒间进行分配。因此计算出的码率数据可能会略有不同,最明显的例子是音频码率曲线更接近于完美的直线。
功能修正:由于第一秒、最后一秒的数据很难准确计算,与其它数据相比往往偏差比较大,因此在计算统计特征量时,这两个时间点上的数据不再参与运算。
Version1.00
同步发行简体中文、英文版本。
新增功能:显示码率列表、码率曲线。
错误修正:在计算AVI文件的时长时,由于舍入误差,有时会多计1秒,这1秒的码率为0,因此会影响统计特征量的计算。
错误修正:如果同时打开的两个片子播放时间不同,则短少的时间段内的码率为随机数。
错误修正:文件打开对话框重定位后,底部空白太多。
Version0.00beta
实现码率计算、码率分布计算、码率统计特征量计算。
支持AVI、RMVB格式。
支持同时显示两个文件。
支持TXT和Excel输出。
这是一个码率计算程序,主要用于辅助分析、比较不同压缩参数对码率分配的影响,支持AVI和RMVB
展开内容
9.5/1,390.5M
这款软件是兼职赚钱app,可以通过完成抖音任务获得佣金,超多的兼职可以轻松获取,可以自由进行兼职赚钱,抖兼职app服务项目很多,随时随地轻松抖音赚钱,给大家更多...
9.9/405.2M
天途手游是一款充满奇幻色彩的3D仙侠手游,你被贬下仙界,你为了重返仙界必须做出不懈努力,快来体验这如梦如幻的仙侠世界吧!天途手游特色:1、一方妖界祸乱四起,作为...
8.0/1,516.8M
一建宝典app是一款一级建造师考试学习软件,收录了一建执业资格考试全部题库答案,对各项内容进行测试,帮助用户快速通过考试。一建宝典app特色一级建造师考试题库宝...
9.8/1,283.9M
车生活app就像是汽车界的“去哪儿”,给用户提供一站式汽车相关类服务,维修,保养,美容,二手车,租车,这里都能帮你解决,需要的网友快来下载吧!车生活app介绍车...
8.8/1,612.6M
战神不败双倍元宝版是一款经典同名影视剧改编的武侠战斗角色扮演手游。游戏有着丰富的玩法内容,各种熟悉的武侠角色进行战斗。为玩家展现了一个真实的武侠世界,还有不同的...
10.0/1,509.0M
微信小程序开发工具32位是一款微信小程序的官方开发工具,这是最近比较火的,微信小程序扫码即用、用完即走,类似PC时代网页的响应服务,压缩包给大家提供了里32位的...
8.5/780.6M
趣味像素游戏是一款很好玩的休闲益智手游,里面有多种数字排列方式,玩家需要靠自己简单的操作,清新的音乐,严肃的数字解开谜题,欢迎下载体验!游戏简介这是一款随时随地...
8.1/1,479.8M
一款画风酷炫的足球游戏,霓虹足球(NeonSoccer),漫画加入科幻的画面,努力的练习你的球技,成为一个足球明星!游戏介绍《霓虹足球》是由Neon2出品的一款...
8.4/307.1M
最无双手游是一款非常好玩的动作格斗手机游戏,他以三国故事为游戏背景,上百种人物角色随你选择,还有独特的游戏玩法让你尽情玩耍,感兴趣的玩家来下载吧!最无双手游游戏...
8.3/1,575.7M
Screen+是AOC冠捷出品的电脑分屏软件,支持多种分屏模式和开机运行,并支持双屏工作。使用时可按住shift键或alt键操作,件还能对布局进行相应的调整。电...
8.6/1,176.8M
普大设备场地排程管理系统是一款非常受欢迎的设备场地管理软件,它的页面简洁友好,功能强大,可以更有效率的管理最困难的资源分配,掌握一连串事件发生的时间、地点或方式...
8.3/1,153.2M
现在越来越多人喜欢航拍,如果航拍时数据损坏或者丢失怎么办呢?东坡带来的这款赤兔大疆精灵航拍器MP4视频恢复就能帮到你,它是一款功能非常强用于MP4视频恢复的软件...
10.0/1,857.3M
奇怪策略邪恶英雄十八项属性修改器是一款极其强大的游戏辅助软件,该软件是一款同名下的游戏辅助工具,是一款不可多得的游戏辅助工具,奇怪策略邪恶英雄是一款魔法类游戏,...
8.8/1,063.7M
dlinkdir600nw是11N150M无线路由器,支持WDS、WDS+AP无线工作模式,包含4个以太网接口,dlinkdir600nw无线路由器怎么设置呢?...
9.3/1,226.2M
在这个游戏里你成为了一名警察追捕者或者(玩家),你会追踪一些犯罪分子来保卫城市的和平,其中还有许多飙车党,你跟他们在城市上演了一场大战,相信你能获得最终的胜利!...
9.6/616.2M
小米6plus是小米今年发布的重要产品,价格在2000多的样子,将于4月份发布,小编带来了小米6plus升级固件,到时候可以直接来下载刷机!小米6介绍小米6和小...
7.8/611.8M
作为一款时间管理app,可以灵活提醒你是否和家人朋友时间重合。TimeSpread小清晰的课程记录功能,还可以同时浏览2种表格。使用非常简单:安装免费的「课程表...
7.9/849.0M
菠萝BOLO是一款由音乐app“碎乐”升级更新而来的手机软件,目前已经正式更名为菠萝BOLO,并推出全新的短视频玩法!菠萝bolo是什么软件出于对每一个作品创作...
8.9/23.8M
资源魔盒app汇聚了超多的资源,各个板块的搜索应请生活,小说,视频等,直接下载安装使用即可,免root没有广告窗口打扰。资源魔盒app特色有七个搜索引擎,并有专...
8.4/1,523.5M
这是一款专门为苹果手机用户打造的精美锁屏壁纸应用软件,这里收录了全网高清壁纸,精选1080P超清锁屏壁纸,完美适配兼容iPhone全系列手机,想要拥有最美的手机...
9.9/457.2M
EsftpiPodAudioRipper是一款非常不错的iPod音频提取工具和转换工具。功能强大,操作简单。有需要的可以来东坡下载使用!EsftpiPodAud...
9.8/324.2M
小梦教学点名软件PC版是一款专为教师打造的点名专用软件,老师通过这款软件能有效的点到所有在做同学,操作也很简单,目前已经有学校已经在使用这款软件了!小梦教学点名...
9.8/1,451.9M
都说人靠衣妆,有一个完美的妆容会给自己一个好心情的同时,也能给别人一个好印象,小编带来的美妆出行app就是一款专门免费教你化妆的软件,这里有很多美妆教程,有视频...
8.7/1,795.8M
这款软件是一款医疗服务软件,可以在上面进行预约问诊,可以查看自己的病例情况,各种母婴信息可以自由预览,让大家去医院更加轻松!掌上莲池app介绍掌上莲池APP是莲...
8.3/869.0M
在手机消除游戏中,宝石消除游戏一直都是占用很大的比例,很多朋友至今还是在玩各种宝石消除游戏!下面这款宝石传奇就是一款很经典的手机消除游戏!游戏介绍《宝石传奇(J...