bandwidth configuration for video communication

 這裏蒐集一些關於實時視頻傳輸的帶寬需求的數據。數據來源不一,說法各異。實時視頻傳輸的一個主要應用場景就是網絡電話(微信電話,QQ視頻)。
 實時貓的視頻通信帶寬要求(15fps):

分辨率 總像素數(kilopixel) 平均碼率(kbps) 波動幅度(kbps)
160x120 19 150 64
240x160 38 270 80
320x240 77 500 100
480x320 154 1600 120
640x480 307 1800 160
800x640 512 2000 200
1024x768 786 2100 200

 騰訊雲的視頻通信帶寬要求:

應用場景 videoResolution videoFps videoBitrate
視頻通話(手機) 640x360 15 550kbps
視頻會議(主畫面 @ Mac Win) 1280x720 15 1200kbps
視頻會議(主畫面 @ 手機) 640x360 15 900kbps
視頻會議(小畫面) 320x180 15 250kbps
在線教育(老師 @ Mac Win) 960x540 15 850kbps
在線教育(老師 @ iPad) 640x360 15 550kbps
在線教育(學生) 320x180 15 250kbps

 來自Twilio的資料:

Media Data transfer rate in Kilobits per second (Kbps)
HD Audio only (no video) 40 Kbps
Lo-res Video (240x180) + HD Audio 150 Kbps VP8/H.264 (240 Kbps Simulcast)
SD Video (640x480) + HD Audio 540 Kbps VP8/H.264 (865 Kbps Simulcast)
HD Video (1280x720) + HD Audio 1,500 Kbps VP8/H.264 (2,500 Kbps Simulcast)

 論文[5]中提到,webrtc中的最大碼率是2500kbps,而最小的碼率(可接受的視頻質量)是250kbps.
 [6]給出了一個測試,視頻編碼碼率與PSNR的關係。
在這裏插入圖片描述

When you’re signed into Skype on your computer and the software is idle, it needs an average Internet speed of 0 to 4 kilobits per second. You need anywhere from 24Kbps to 128Kbps for a regular call. Video calling and screen sharing require an upload and download speed of at least 128Kpbs. High-definition video calling requires an upload and download speed of at least 1.2 megabits per second. For a group video call, Skype requires a minimum download speed of 512Kbps and a minimum upload speed of 128Kbps. If you add more people to the video call, the download speed requirements increase. A group video call that contains seven or more users requires a download speed of at least 4Mbps. For best performance, Sype recommends at least double the minimum speeds for group video calls.

So, how much bandwidth is enough? For simple video calling, 300 kbps (kilobits per second) is sufficient. For HD video, you need at least 1 Mbps (Megabits per second) and are sure to have good quality with 1.5 Mbps. That’s for a one-to-one conversation. How about when there are more participants? Add another 1 Mbps per added participant for comfortable video conferencing. For example, for a group video call with 7-8 persons, 8 Mbps should be largely sufficient for HD video quality if you want to talk concurrently to them.

 流媒體的編碼速率[8]:

在這裏插入圖片描述
 根據[9]中一位博主的說法:
在這裏插入圖片描述
在這裏插入圖片描述
 bitmovin[10]給出的數據:

  • Minimum Video Bitrate
Resolution FPS Bitrate (Kbps) Bits per Pixel
426×240 24 250 0.10
640×360 24 500 0.09
854×480 24 750 0.08
1280×720 24 1500 0.07
1920×1080 24 3000 0.06
4096×2160 24 10000 0.05
  • Average Video Bitrate
Resolution FPS Bitrate (Kbps) Bits per Pixel
426×240 24 400 0.17
640×360 24 800 0.15
854×480 24 1200 0.12
1280×720 24 2400 0.11
1920×1080 24 4800 0.10
4096×2160 24 16000 0.08
  • Maximum Video Bitrate
Resolution FPS Bitrate (Kbps) Bits per Pixel
426×240 24 700 0.29
640×360 24 1400 0.26
854×480 24 2100 0.22
1280×720 24 4200 0.19
1920×1080 24 8400 0.17
4096×2160 24 28000 0.14

 [11]根據測試,4G的上傳帶寬有時候只能達到2.78Mbps。
 [12]對於實時視頻傳輸碼率的要求。

Test results for the limits from webrtc-experiment.com https://www.webrtc-experiment.com/webrtcpedia/
Maximum video bitrate on chrome is about 2Mb/s (i.e. 2000kbits/s). 
Minimum video bitrate on chrome is .05Mb/s (i.e. 50kbits/s). 
Starting video bitrate on chrome is .3Mb/s (i.e. 300kbits/s).
As a result, everyone needs to measure the best performant configuration of their infrastructure by 
changing them step-by-step. My suggestions are as follows:
20 for FPS is optimum; however, 10 and 15 should be examined.
720p is good enough for video quality, especially for mobile platforms.
1000 Kbps is optimum for 720p, 750 Kbps is also acceptable when FPS is 10.

 [13]給出webrtc中的碼率參考配置:

{ //4:3
    { 160, 120, 65, 15 },
    { 180, 180, 100, 15 },
    { 240, 180, 120, 15 },
    { 240, 240, 140, 15 },
    { 320, 240, 200, 15 },
    { 360, 360, 260, 15 },
    { 360, 360, 400, 30 },
    { 480, 360, 320, 15 },
    { 480, 360, 490, 30 },
    { 480, 480, 400, 15 },
    { 480, 480, 600, 30 },
    { 640, 480, 400, 10 },
    { 640, 480, 500, 15 },
    { 640, 480, 750, 30 },
    { 960, 720, 910, 15 },
    { 960, 720, 1380, 30 },
    { 0, 0, 0, 0}
},
{ // 16:9
     { 320, 180, 140, 15 },
     { 424, 240, 220, 15 },
     { 640, 360, 400, 15 },
     { 640, 360, 800, 24 },
     { 848, 480, 610, 15 },
     { 848, 480, 930, 30 },
     { 960, 540, 800, 15 },
     { 960, 540, 1200, 30 },
     { 1280, 720, 1130, 15 },
     { 1280, 720, 1710, 30 },
     { 1920, 1080, 2080, 15 },
     { 1920, 1080, 3150, 30 },
     { 1920, 1080, 4780, 60 },
     { 2560, 1440, 4850, 30 },
     { 2560, 1440, 7350, 60 },
     { 3840, 2160, 8910, 30 },
     { 3840, 2160, 13500, 60 },
     { 0, 0, 0, 0}
}

[1] 實時貓通信帶寬要求
[2] 騰訊雲實時音視頻通信質量配置
[3] Bandwidth consumption and usage with Twilio Programmable Video
[4] Video Encoding Settingsfor H.264 Excellence
[5] Performance Evaluation of WebRTC-based Video Conferencing
[6] Turing H.264 Video Encoding Speed and Quality
[7] The Bandwidth Required for a Skype HD Video Call
[8] Dynamic Adaptive Streaming over HTTP Dataset
[9] H.264輸出的時候,碼率設置多少合適?
[10] Choosing the Right Video Bitrate for Streaming HLS and DASH https://bitmovin.com/video-bitrate-streaming-hls-dash/
[11] 4G降速爲5G鋪路
[12] How to improve WebRTC bit rate?
[13] 如何計算視頻最佳碼率

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章