流媒體併發量與寬帶、碼率計算詳解

碼率計算公式

             基本的算法是:【碼率】(kbps)=【文件大小】(字節)X8/【時間】(秒)*1000
             音頻文件專用算法:【比特率】(kbps)=【量化採樣點】(kHz)×【位深】(bit/採樣點)×【聲道數量】(一般爲2)
            舉例,D5的碟,容量4.3G,其中考慮到音頻的不同格式,所以算爲600M,(故剩餘容量爲4.3*1000-600=3700M),所以視頻文件應不大於3.7G,本例中取視頻文件的容量爲3.446G,視頻長度100分鐘(6000秒),計算結果:碼率約等於 4933kbps。


併發量計算公式
    併發量 = 寬帶(m)*8/【碼率】(mbps)
    舉例:視頻文件1.1G ,時長1:46:11 ,寬帶100(M)=100/8=12.8M/s
             碼率=1100(M)*8 / 6371(s)=1.3(mbps)
             併發=12.8(M/s)*8/1.3(mbps)=78.7

參考資料:
1、基本參數


    STAT硬盤的實際讀寫速度約是50MB/S,單位爲兆字節每秒(MB/s)。


    單路視頻流的碼率約是384Kbps,單位爲千比特每秒(Kbits/s),換算爲字節計算法是48KB/S,單位爲千字節每秒(KB/s)。


    每個視頻房間支持2路視頻的錄製,則每個房間的碼流是768Kbps,換算爲字節計算法是96KB/S。


    單臺服務器的接入帶寬是1Gbps,換算爲字節計算法是128MB/S。


    本計算法只考慮服務器硬盤讀寫速度和網絡帶寬的限制,忽略服務器的CPU、內存等因素。


    2、根據硬盤的瓶頸計算


    計算公式:


    硬盤讀寫速度/每個房間的碼流 = 實際支持的錄像併發數(或回放的併發數)。


    實際計算數值:


    (50*1024)/96 = 533


    結論:


    單臺服務器同時支持500個房間(1000人)同時錄像(或1000路併發回放)。


    回放指的是實時的播放流,並不包括採用本地緩存和緩衝機制的點播流。


    如果每個房間只有1路錄製流,則錄像併發數是1000個房間。


    這是硬盤的瓶頸。


    3、計算所需要的網絡帶寬


    計算公式:


    (每個房間的碼流*500個房間) = 500個房間所需要的帶寬。


    實際計算數值(使用Kbits/s作爲計量單位):


    (768*500)/1024 = 375Mbits/s


    結論:


    500個房間同時錄像所需375Mbits/s上下行對等帶寬。


    這是帶寬的需求。


    4、更多計算


    (1)按照每個房間增加1路觀看者,計算一下需要多少帶寬?


    觀看者同時觀看房間裏的2路視頻,每個房間所需碼流是768Kbps,單位爲千比特每秒(Kbits/s)。


    計算公式:


    觀看者實時碼流*500個房間 = 觀看者所需佔用帶寬


    實際計算數值(使用Kbits/s作爲計量單位):


    (768*500)/1024 = 375Mbits/s


    結論:


    如需爲每個房間增加1路觀看者,同時接收2路錄像者視頻,則需要增加375Mbits/s上行帶寬。


    (2)對錄像者的終端帶寬要求


    上行帶寬:至少384Kbps,單位爲千比特每秒(Kbits/s)。


    下行帶寬:至少384Kbps。


    (3)對觀看者的終端帶寬要求


    上行帶寬:不需要。


    下行帶寬:至少768Kbps。


    (4)單臺服務器的運行費用估算


    購置機器:1萬元。


    託管費用:5000元/年。


    帶寬費用:18萬/年(按照IDC報價,1Gbits的帶寬月租是1.5萬元)。


    軟件服務:24萬/年(按照廠家報價,視頻軟件的月服務費是2萬元)。


    5、相關數據


    (1)普通寬帶的帶寬計算法


    普通家庭寬帶和辦公室寬帶,仍以ADSL居多(小區光纖優於普通電話線ADSL),因此我們將以電話線ADSL爲例來說明。


    電信運營商給出的帶寬是2M、4M、10M等等,這個速率值是指爲用戶提供的帶寬數值,單位是bps(比特位),而且這個帶寬僅是用戶端到當地電信的速率,並非指用戶到達目標服務器的有效使用帶寬。而且,ADSL是非對等網絡,剛纔說的數字只是ADSL的下行帶寬,也就是下載速度,ADSL的上行帶寬只有384Kbps,有些地區的ADSL上行只有256Kbps。


    當用戶需要進行視頻錄製時,所需要的帶寬是384Kbps(單位比特位),這個速度正好是ADSL的上行速度。因此,用戶在錄製的時候,並不能讓其他程序佔用帶寬,例如迅雷、電驢等軟件。


    計算ADSL下行帶寬有很直觀的方法,就是觀察下載速度,一般來說下載速度是按照Byte/s(字節/秒)來顯示的,需要轉換爲bits/s(比特/秒)才行,換算關係是1Byte/s = 8bits/s(即8bps),例如:


    2M的ADSL用戶在下載時可以達到135KB/s-220KB/s,即1280Kbps(即1280Kbits/s)。


    (2)用戶端所需要的帶寬


    實時的視頻流需要穩定的帶寬,當帶寬不穩定時,會出現較大的延時和丟包現象,造成視頻的停頓(俗稱卡),當網絡恢復時,也會出現視頻快速播放的情況(這是剛纔因網速較差造成的堵塞數據)。


    計算實時視頻所需要的帶寬方法很簡單。


    發送者:


    上行帶寬:單路視頻的碼流就是所需的上行帶寬,一般ADSL是可以支撐的,除非視頻質量參數設置的很高。


    下行帶寬:接收到的視頻數量*每路視頻的碼流,就是所需的總帶寬(要除去自己的那路視頻流),例如4路視頻時,減去自己的1路,計算3*384=1.2Mbps,因此需要1.2M的下行帶寬(至少2M的ADSL才行)。


    觀看者:


    上行帶寬:觀看者的上行帶寬要求很低,只需要可以傳送控制指令和聊天信息等消息流即可,但網絡的穩定性要求依然很高。


    下行帶寬:接收到的視頻數量*每路視頻的碼流,例如4路視頻,計算4*384=1.5Mbps,因此需要1.5M的下行帶寬(至少2M的ADSL才行)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章