這裏蒐集一些關於實時視頻傳輸的帶寬需求的數據。數據來源不一,說法各異。實時視頻傳輸的一個主要應用場景就是網絡電話(微信電話,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] 如何計算視頻最佳碼率