一、所谓码率广州招聘兼职的有哪些
对于流媒体,码率(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命令。
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的后果承担任何责任。如果您需要将它用于商业目的,或加入您的网站,请与我联系,否则保留追究一切责任的权利。
一、软件安装/删除
本软件安装非常简单:创建一个目录,用WinZip将下载下来的ZIP包解压缩到该目录即可。
本软件的删除也很简单:删除从ZIP包中解压缩出来的所有文件即可。
ZIP包中包括下列文件:
BitrateCurve.exe。这是软件的主程序。
BitrateCurve.htm。本帮助文件。
如果您下载到的ZIP包中还包括其它文件,毫无疑问不是我放进去的,有广告之嫌疑,请立即删除。
另外程序允许过程中还会生成下列文件:
BitrateCurve.ini。这个是配置文件,改变输出选项后自动生成。
BitrateCurve_chk.txt。批量检查RM文件时的缺省输出文件。
二、软件使用
软件的使用比较简单,按照软件界面上提示的1、2、3步骤操作即可。
对输出内容的解释参见技术探讨。
这是一个码率计算程序,主要用于辅助分析、比较不同压缩参数对码率分配的影响,支持AVI和RMVB
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的相关文件信息。
可以同时分析两个文件,便于比较。
结果可以存为TXT文件,也可以存为Excel文件。如果是在Windows98/Me下运行本软件,请将TXT文件与某个支持长文件的文本编辑器相关联,缺省的记事本程序只能打开32KB的文本。Windows2000/XP无此限制。
可以批量检查RM文件,看其中是否存在码率为0的情况。
展开内容
9.6/386.0M
深夜狂飙NightDriver是一款飙车游戏,以深夜为背景,在街道上驾驶酷炫的跑车狂飙,超越其他的车辆,体验夜晚飙车的快感。深夜狂飙玩法只需要单手操作即可,左右...
8.3/1,407.7M
lilypond是一款乐谱制作软件,lilypond编辑出来的乐谱排版精美、风格多样用户完全可把精力全部用于创作,乐谱样式完全交给lilypond就可以了!需要...
7.7/610.0M
统计师宝典app专门为统计师考生打造的备考应用,拥有完善的考试介绍和指南,还有各种复习资料和海量的题库,还有实时更新的考试动态相关讯息等,让你顺利轻松的参加考试...
9.8/945.4M
主驾驶游戏是一款轻松有趣的驾驶类手游,是中文版本的,下载也很方便安装简单,随时随地可以展开超酷的驾驶体验。各式各样的车辆,丰富多样选择的赛道,还有不同的竞赛模式...
9.9/1,421.2M
KACAMA外贸在线对话同步翻译是一款专业的外语翻译软件,让外贸客人实时和你联系,快速沟通,让对话变得简单,非常适合外贸工作人员使用。KACAMA外贸在线对话同...
9.9/1,267.1M
魅族Flyme5.1.11.0稳定版固件正式发布,这次更新的是比较稳定的版本,还添加了多种功能,特别支持qq抢红包哦!拥有魅族手机的朋友赶紧来下载升级吧!魅族F...
9.1/107.7M
海盗编年史(PirateChronicles)手游是一款手机上玩的策略游戏,以海盗哦题材,改编自pc同名游戏,玩家在游戏中可以选择4个地图中的一个进行挑战,加入...
7.5/580.0M
华融大智慧专业版是一款将证券行情、证券交易、证券资讯等服务集合在一起的软件,软件在很多的地方都是进行了加强以及改进的,现在就可以来免费下载!华融证券介绍华融证券...
9.1/1,814.0M
想要自己的手机闪个有一款不错的铃声的话,小编就建议自己去编辑或者制作一首自己喜欢的铃声,如下面这款可以在手机上使用的铃声裁剪大师!铃声裁剪大师介绍铃声裁剪大师是...
8.3/799.7M
华融通达信行情交易软件可以进行在线模拟交易以及最新的行情分析,在功能以及服务上面都是非常的周到的,有需要的用户可以先免费体验下效果怎么样!华融通达信行情交易软件...
7.5/929.0M
提供酒店餐厅服务课程,母婴育儿护理课程的职业技能提升学习软件,都是优质的课程体系,考证中心查询相关行业结业考试,有需要的小伙伴赶快来下载吧!均衡营养云平台介绍1...
9.2/891.6M
手机上的通讯录是不是觉得系统自带不怎么样,想给自己的手机重新找一款好用有简单的通讯录管理软件了?有这种想法的朋友就不用去找了,直接下载OK通讯录吧!软件介绍OK...
9.7/1,146.3M
全民泡泡大战无限钻石版是一款休闲手游,经典泡泡龙玩法,拥有400多个惊喜关卡,让你不断挑战,还能邀请好友,即时同屏对战,快来与同城小伙伴一起游戏吧,游戏已经破解...
8.5/918.7M
动态磁盘转换器是一款功能强大的磁盘类型转换工具,它的主要功能是在不丢失数据或不删除分区的情况下直接转换动态磁盘到基本磁盘,快速地转换仅需几秒钟。在转换后它能确保...
9.4/351.6M
种花养成赚钱游戏,御花园游戏app中玩家将在这里打造自己的专属御花园,里面内置了交易系统,很多玩法,现在新用户注册可以得1级花苗,可以每天签到做任务赚钱,感兴趣...
9.1/896.0M
海运管家是一款服务油品、化工品行业的海上航运专业APP,其基于云计算、航运大数据等基础信息,结合物联网革新技术,探索并实践航运新业态模式,为广大用户打造高效便捷...
7.5/1,172.5M
微糖星球是一款用来聊天交友的软件,大家可以使用语音或者文字,找到与自己志同道合的网络好友,认识到很多有趣的人,甚至还能在这款软件中脱单哦,用户还能在软件中随心搭...
8.7/25.8M
帝国战士TD高级版(EmpireWarriorsTD)是Ironhide工作室出品的游戏,可以说是《王国突击队》的翻版,只有几个独特的功能,很有趣,而且很容易获...
7.6/228.0M
高爆率真传奇,冰雪至尊版怒火一刀全新单职业冰雪复古传奇,刀刀切割,刀刀爆神装!继承传奇游戏经典道士法师和战士特性游戏方式和方式,率领弟兄们一同来横扫天下。冰雪至...
10.0/345.1M
使用者必需对繁体字有相当认识,否则在一对多的情况下会用错字有一对多的简繁对应最好打词组,风清扬五笔简转繁已帮你选好合适的繁体字一对多,两个繁体字通用:┌────...
9.6/1,643.6M
津湖校园安全平台app是一款为保障校园安全而打造的安全防护平台,为建设平安校园提供更多的管理资源,防患于未然,各种安全素质教育,还有食品安全视频宣传,从生活到学...
7.9/1,489.4M
这是一篇语文课文故宫博物馆教学课件,课件中详细的讲解了课文,穿插了许多故宫的图片能让学生们能容易的了解课文学习课文,该ppt共有68页比较全面,有需要的老师们可...
7.9/1,364.3M
零工记账找活APP提供多样化找活机会和便捷记账功能,严格审核工作确保当天结账保障权益,自动计算工资简化记账流程,帮助用户轻松找活并管理收入。零工记账找活app功...
8.1/622.4M
公路开车模拟器是一款有趣的模拟驾驶游戏,这款游戏画面还不错,拥有多种不同类型的汽车,驾驶汽车随时体验精彩的玩法,欢迎来下载体验!公路开车模拟器游戏介绍一款十分刺...
8.1/1,641.4M
酷娃学拼音软件是一款为儿童设计的学习软件,这款软件能给孩子带来欢乐的学习氛围,让孩子在快乐中学习成长,有需要的网友赶紧来下载酷娃学拼音软件吧!酷娃学拼音软件介绍...