這是一個碼率計算程序,主要用于輔助分析、比較不同壓縮參數對碼率分配的影響,支持AVI和RMVB
視頻碼率計算器(BitrateCurve)特點
可以計算出每一秒鐘的碼率,便于分析不同壓縮參數對碼率分配的影響。
可以計算碼率分布頻數和分布概率。
可以計算碼率的統(tǒng)計特征量,包括最大值、最小值、平均值、標準差、變異系數等。
可以對文件格式進行分析,顯示AVI、RMVB的相關文件信息。
可以同時分析兩個文件,便于比較。
結果可以存為TXT文件,也可以存為Excel文件。如果是在Windows 98/Me下運行本軟件,請將TXT文件與某個支持長文件的文本編輯器相關聯,缺省的記事本程序只能打開32 KB的文本。Windows 2000/XP無此限制。
可以批量檢查RM文件,看其中是否存在碼率為0的情況。
視頻碼率計算器(BitrateCurve)常見問題
Q:BitrateCurve有什么用?
A:對于普通大眾來說,BitrateCurve有以下用處:
1、可以快速檢查下載到的RM文件是否有播放不過去的地方:打開RM文件,如果在中間部分連續(xù)出現幾秒碼率為0的情況(軟件顯示最小碼率為0,界面上會出現對應的紅燈),通常在播放的時候那里就會播不過去。對于AVI文件來說,由于本軟件直接讀取索引段,沒有逐包讀取movi段,因此不能用這種方式判別文件的好壞。
2、可以通過“文件信息”查看一些壓縮時的參數,供自己壓片時參考。
而對于一小撮喜歡折騰的人士來說,BitrateCurve也可以幫助他們宣泄靈魂深處強烈的自虐欲望:
1、可以很方便地查看到碼率最大、最小的地方,實際觀看這些地方的畫面效果,然后據此調節(jié)壓縮時的碼率參數(包括最大碼率、平均碼率等),重新壓縮,也就是常說的“好片子要壓三遍”。
2、可以同時顯示AVI片源和RM文件的碼率曲線,比較雙方在碼率分配方面的差異。
3、可以同時顯示兩個片源相同、參數不同的AVI文件或RM文件,從而比較壓縮參數對碼率分配的影響。
無論如何,軟件不過是個工具而已,它真正的作用,與使用者密切相關,就象同樣一支毛筆,在我手里一文不值,到了名畫家手里則價值千金。如果您還發(fā)現這個軟件有什么特別的作用,歡迎與我聯系。
Q:為什么要開發(fā)BitrateCurve?
A:原因很簡單:我見過太多人對RMVB的壓縮參數進行爭論,每個人都在引經據典,說明不同的參數對碼率分配的影響如何如何,但是卻沒有人能夠拿出實際的數字,證明實際的碼率究竟是如何分配的。DOOM9上也有人發(fā)表過一個計算RMVB碼率分布的軟件RMVB Analyser,可惜我每次運行這個軟件都會出錯,所以才決定開發(fā)這個軟件,而且連AVI的碼率也一起分析,便于比較RMVB及其AVI片源的差異。
Q:BitrateCurve支持哪些格式?
A:目前支持AVI和RMVB。由于計算碼率的時候不需要解碼,因此不需要在機器上安裝相應的codec。
Q:為什么AVI和RMVB的速度會差那么多?
A:原因很簡單:在AVI文件的index段中,已經包含計算碼率所需的關鍵信息,因此讀取這一小段數據就可以了。RMVB的index段中信息不足,因此只能把整個文件從頭讀到尾。
Q:BitrateCurve收費嗎?
A:BitrateCurve是一個“友情軟件”(Friendware),用戶在承諾不用于商業(yè)目的,也不對文件及其附件進行任何更改的條件下,不需要為使用該軟件付任何費用,最多是在某個討論區(qū)看到我發(fā)帖子灌水時(我的ID一般是strnghrs),進去捧個人場,作為友情回報;或者在年節(jié)時發(fā)個email問聲好(所以叫“友情軟件”)。我承諾絕不在程序中暗藏任何商業(yè)廣告、木馬,但不承諾為使用BitrateCurve的后果承擔任何責任。如果您需要將它用于商業(yè)目的,或加入您的網站,請與我聯系,否則保留追究一切責任的權利。
視頻碼率計算器(BitrateCurve)使用方法
一、軟件安裝/刪除
本軟件安裝非常簡單:創(chuàng)建一個目錄,用WinZip將下載下來的ZIP包解壓縮到該目錄即可。
本軟件的刪除也很簡單:刪除從ZIP包中解壓縮出來的所有文件即可。
ZIP包中包括下列文件:
BitrateCurve.exe。這是軟件的主程序。
BitrateCurve.htm。本幫助文件。
如果您下載到的ZIP包中還包括其它文件,毫無疑問不是我放進去的,有廣告之嫌疑,請立即刪除。
另外程序允許過程中還會生成下列文件:
BitrateCurve.ini。這個是配置文件,改變輸出選項后自動生成。
BitrateCurve_chk.txt。批量檢查RM文件時的缺省輸出文件。
二、軟件使用
軟件的使用比較簡單,按照軟件界面上提示的1、2、3步驟操作即可。
對輸出內容的解釋參見技術探討。
視頻碼率計算器(BitrateCurve)注意事項
一、所謂碼率
對于流媒體,碼率(bitrate)可以定義為:單位時間內流過的數據量,單位通常采用kb/s(千比特/秒)。
這里所謂“流過”,其實就是指codec對數據進行處理。不過一般說的恒定碼率(CBR)碼率、可變碼率(VBR),都是針對編碼后的數據流,不針對解碼后的數據流。解碼后的數據流碼率通常為一個恒定值(例如解碼后的視頻碼率=長×寬×色深×fps),不在本文和本軟件的探討范圍之內。
碼率最簡單的計算公式就是:碼率=文件總長度/播放時間
這個公式的物理含義是:codec在播放時間內,需要將整個文件處理完。當然這樣算出來的只是一個粗略的平均數,不能反映實際碼率在每一秒的變化。而且由于文件中除了音頻、視頻數據外,還包含其它數據,因此按上面這個公式計算出來的碼率會比真正的平均碼率稍大。
本軟件所計算的,就是編碼器壓縮生成的數據流的實際碼率,不僅有平均碼率,還有每一秒的碼率,便于對數據流量進行定量分析。
不過對于大多數普通人來說,在說到“碼率”的時候,AVI和RMVB又略有不同:RMVB文件是音頻、視頻一起編碼的,所以它的碼率,通常是包含音頻、視頻的總碼率;而AVI文件的音頻、視頻通常是分開壓縮,最后才合成到一起,因此一般人在說到AVI的碼率時,指的多半只是視頻的碼率。
本軟件可以計算視頻、音頻、視頻+音頻的碼率。輸出的時候,可以選擇輸出全部或只輸出某一種碼率。
二、AVI碼率計算
AVI流的碼率計算基本思想是:算出fps(frames per second)值,然后順序獲取每一幀的壓縮數據量,將1秒內的所有幀的壓縮數據量加在一起,就是這一秒的碼率。需要注意的是AVI文件的fps值通常是一個浮點數,因此會出現某一幀橫跨兩秒的情況(如對于fps=23.976的AVI文件來說,第24幀就從第1秒尾延續(xù)到第2秒頭),計算時需要按照跨越的比例在前、后秒間進行分配。如果將fps圓整成整數,不僅計算結果不精確,而且對于播放時間比較長的片子,還可能出現最后幾秒沒數可算的窘況。
獲取幀數據量的方式通常有3種:
使用微軟提供的vfw(video for windows)接口。對于視頻流,這種方法是最方便的,但是音頻流經常不能逐幀讀取,因此不能用這種方法計算音頻流的碼率。
使用微軟提供的mmio接口,按照RIFF格式解析AVI文件。這種方法要求對AVI文件結構非常了解。
使用第三方源代碼,然后在需要的地方進行更改。這個應該是比較省事,也比較靠得住的一種方案。本軟件就參考了guliverkli開源項目下的AviSplitter源代碼。
為了省事,也為了加快讀取速度,本軟件直接從AVI文件的"idx1" 段讀取包長度,這種方式與vfw的處理方式是一樣的,不過如果AVI文件中沒有索引,或索引出了問題,用本軟件讀取的數據也會出錯。幸好常用的AVI制作、編輯軟件Nandub是支持索引的,所以只要是用它合成的AVI,能夠正常播放就能用本軟件計算碼率。
由于計算碼率的時候不需要解碼,因此不需要在機器上安裝相應的codec。
三、RMVB碼率計算
RMVB的碼率計算方法與AVI類似,不過RMVB的Index Record中不包括包(package)長,因此只能逐包讀取RMVB數據,在包頭信息中有包的時間戳,根據時間戳、包長度,累加即可計算出每一秒內需要處理的總數據長度,即碼率。由于包頭有時間戳,因此在計算RMVB碼率的時候,沒有必要計算fps值。不過要注意的是RMVB文件的數據包可能出現跨秒的情況(如前一包的時間戳是1738,后一包的時間戳是2049,則前一包的數據可以認為從前1秒尾跨越到后1秒頭),計算時需要按照跨越的比例在前、后秒間進行分配。
RMVB的解析接口我原本以為Real公司會提供,但是看了半天SDK幫助也不得要領,最后接受cool18的建議,參考了guliverkli開源項目下RealMedia Splitter的源代碼實現。
四、統(tǒng)計特征量
為了從統(tǒng)計學的角度對碼率進行分析,本軟件提供了碼率分布和統(tǒng)計特征量計算。
碼率分布(Bitrate distribution)包括三列:碼率(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%,依此類推。
為了簡化輸出,本軟件只提供視頻流的碼率分布。分布間隔自動計算,計算依據有兩個:
間隔為100 kb/s的倍數。
間隔區(qū)間不超過10個。太多的區(qū)間只會使人眼花繚亂。
在本軟件中,以計算出來的各秒碼率為統(tǒng)計樣本,對以下統(tǒng)計指標進行了計算:
Max:最大值。
Min:最小值。
Average:平均值。
Standard deviation:標準差,反映樣本的變化程度。理論上說,標準差適用于對稱分布,特別是正態(tài)或近似正態(tài)分布。我沒有時間,也沒有興趣去做碼率是否符合正態(tài)分布的假設檢驗,在這里加上這個指標,只不過是出于某種不可救藥的職業(yè)習慣。如果您認為碼率分布不是對稱分布,可以忽略標準差和變異系數這兩個特征量。
Coefficient of variation:變異系數=標準差/平均值。在兩組(或幾組)資料均數相近、度量單位相同的條件下,標準差大,表示觀察值的變異度大,即各觀察值離均數較遠,均數的代表性較差;反之,表示各觀察值多集中在均數周圍,均數的代表性較好。若比較度量單位不同或均數相差懸殊的兩組(或幾組)觀察值的變異度時,需計算變異系數進行比較。
由于第一秒、最后一秒的數據很難準確計算,與其它數據相比往往偏差比較大,因此在計算統(tǒng)計特征量時,這兩個時間點上的數據不參與運算。
附錄A 鳴謝
本軟件在開發(fā)過程中參考了下列代碼,在此表示感謝:
AVI、RMVB碼率計算部分分別參考了guliverkli開源項目下的AviSplitter和RealMedia Splitter。
Excel文件輸出部分采用了Andrei Litvin的Saving Excel 2.1 Workbook。
曲線繪制部分采用了Juan Carlos Sanchez的Scroll Chart Control。
AVI文件的視頻、音頻解碼器名稱來自AVIcodec。
RMVB文件信息輸出參考了Alexey Pavluchenko的rma (RealMedia Analyzer)的-d命令。
視頻碼率計算器(BitrateCurve)更新日志
Version 1.03
錯誤修正:在顯示某些AVI文件的“文件信息”時,只能顯示到視頻編碼。
Version 1.02
新增功能:批量檢查RM文件,看其中是否存在碼率為0的情況。
新增功能:在AVI文件的“文件信息”中,可以按時間顯示視頻流長度(原先只顯示幀),便于合并AVI時計算字幕起始時間點。
Version 1.01
新增功能:“文件信息”,可以顯示文件頭信息、流信息,用于對文件格式進行分析。
新增功能:在輸出TXT文件時,在文件頭加入版本信息。
新增功能:在碼率列表中突出顯示碼率最大、最小的5個(點數可設置)點,及0碼率點。
新增功能:打開RM文件時,如果發(fā)行有0碼率點,則用紅燈突出顯示。
功能修正:AVI文件的fps值通常是一個浮點數,因此會出現某一幀橫跨兩秒的情況(如對于fps=23.976的AVI文件來說,第24幀就從第1秒尾延續(xù)到第2秒頭),以前版本在計算時這種幀的數據量會全部歸于后一秒,從本版本開始改為按照跨越的比例在前、后秒間進行分配。因此計算出的碼率數據可能會略有不同,但是碼率曲線的整體趨勢應該不變,對統(tǒng)計特征量的影響也不大。
功能修正:RMVB文件的數據包可能出現跨秒的情況(如前一包的時間戳是1738,后一包的時間戳是2049,則前一包的數據可以認為從第1秒尾跨越到第2秒頭),以前版本在計算時這種跨秒包的數據量會全部歸于前一秒,從本版本開始改為按照跨越的比例在前、后秒間進行分配。因此計算出的碼率數據可能會略有不同,最明顯的例子是音頻碼率曲線更接近于完美的直線。
功能修正:由于第一秒、最后一秒的數據很難準確計算,與其它數據相比往往偏差比較大,因此在計算統(tǒng)計特征量時,這兩個時間點上的數據不再參與運算。
Version 1.00
同步發(fā)行簡體中文、英文版本。
新增功能:顯示碼率列表、碼率曲線。
錯誤修正:在計算AVI文件的時長時,由于舍入誤差,有時會多計1秒,這1秒的碼率為0,因此會影響統(tǒng)計特征量的計算。
錯誤修正:如果同時打開的兩個片子播放時間不同,則短少的時間段內的碼率為隨機數。
錯誤修正:文件打開對話框重定位后,底部空白太多。
Version 0.00 beta
實現碼率計算、碼率分布計算、碼率統(tǒng)計特征量計算。
支持AVI、RMVB格式。
支持同時顯示兩個文件。
支持TXT和Excel輸出。
- PC官方版
- 安卓官方手機版
- IOS官方手機版















三星GalaxyZFlip5國行版F7310ZCS7FYK2官方固件F7310ZCS7FYK2
三星GalaxyTabS9Ultra韓版X910XXS5DYJ2官方固件X910XXS5DYJ2
三星GalaxyS22+國行版S9060ZCS9GYK3官方固件S9060ZCS9GYK3
三星GalaxyTabS8+5G國行版X806CZCU9EYJ4官方固件X806CZCU9EYJ4
三星GalaxyTabA8港版X200XXS6DYG6官方固件X200XXS6DYG6
TCL電視V8-MS600TD-LF1V012版本強刷降級包固件LF1V012 中文版
TCL電視V8-MS600TA-LF1V040版本主程序降級包固件LF1V040 中文版
TCL電視V8-MS600TA-LF1V039版本強刷降級包固件LF1V039 中文版
TCL電視V8-A972T01-LF1V396版本主程序升-級包固件LF1V396 中文版
TCL電視V8-A972T01-LF1V093版本主程序降級包固件LF1V093 中文版
小米電視4A40寸/43寸小米電視4S43寸小米全面屏電視43寸2849固件v1.3.85 中文版
TCL電視V8-A962T04-LF1V035版本主程序降級包固件LF1V035 中文版
TCL電視V8-0MS9904-LF1V089版本強刷降級包固件LF1V089 中文版
TCL電視V8-A962T04-LF1V117版本主程序升-級包固件LF1V117 中文版
TCL電視V8-0MT25H1-LF1V023版本強刷降級包固件LF1V023 中文版
TCL電視V8-0M-T55TC-LF1V207版本強刷升-級包固件0M-T-55TC 中文版
TCL電視V8-0MS9906-LF1V016版本強刷降級包固件LF1V016 中文版
TCL電視V8-0M-T-55TC-LF1V850版本強刷升-級包固件0M-T-55TC 中文版
TCL電視V8-0M-T55TD-LF1V035版本強刷降級包固件LF1V035 中文版
TCL電視V8-0M-T55TD-LF1V951版本強刷升-級包固件LF1V951 中文版
TCL電視V8-0M-T55TD-LF1V035版本主程序降級包固件LF1V035 中文版
樂播投屏電腦版5.2.22.0 最新免費版
知意配音電腦版3.4.81 官方版
酷狗直播伴侶6.78.3.780 官方正式版
錄音啦windows旗艦版13.1 官方正式版
斗魚直播管家1.2.11.0 官方pc版
企鵝電競直播助手2.29.335.15 官網最新版【主播必備】
半島音頻音效助手1.0 免費版





57款potplayer皮膚包免費下載
音悅臺mv下載(音悅臺MV批量解析)2.0 綠色免
楓葉SWF轉換器12.2.6.0 最新版
凡凡講述人1.0 win7綠色版【附使用教程】
文字播音軟件(文字播音員)2.9 綠色免費版
adobe audition cc綠色中文版6.0.732 免安裝
影樓MV數碼電子相冊2019影樓版
Win10創(chuàng)造者更新15014多國語音包大全32位/6
飛轉文字轉語音軟件1.7.9 最新版
創(chuàng)新聲卡KX音效精靈2.2 破解版+注冊機