视频录制是FCS经常会用到的一个功能,其中重要的一点是要评估视频录制的带宽需求来采用合适的尺寸和速率。
其大致的算法是:
视频宽度 x 视频高度 x 播放速率 (fps) = 总的带宽( bits/sec)
但是要注意的是,在使用FCS录制的时候,使用的是Bps,而不是kbps,要转换(8 bits =1 byte )
打开比方,使用320×240的视频窗口以30fps的速率录制,其带宽消耗计算:
320 x 240 x 30 fps = 2.3 Mbps = 288kByte
那么如何根据自身的带宽条件进行不同的视频设置呢,这里有些建议的设置
1 : //如果使用的是1M以上的宽度的话,可以选用如下设置:
2 : Camera.setMode(320,240,15);
3 : setKeyFrame(60);
4 : Camera.setQuality(144,000,85 );
5 : Microphone.setRate(22);
6 : //总的消耗带宽:1,196 kbps = 144kbyte
1 : //786 kbps宽带:
2 : Camera.setMode(240,180,12);
3 : setKeyFrame(48);
4 : Camera.setQuality(64,800,85 );
5 : Microphone.setRate(22);
6 : //总的消耗带宽:562 kbps = 70kbyte
1 : //384 kbps宽带:
2 : Camera.setMode(192,144,7);
3 : setKeyFrame(28);
4 : Camera.setQuality(24,192,85 );
5 : Microphone.setRate(11);
6 : //总的消耗带宽:216 kbps = 27kbyte
1 : //56 kbps 拨号:
2 : Camera.setMode(80,60,8);
3 : setKeyFrame(32);
4 : Camera.setQuality(4,800,85 );
5 : Microphone.setRate(8);
6 : //总的消耗带宽:54 kbps = 7kbyte
假设一路视频所需的带宽为8k得到的带宽需求表连接数
连接数 | 发布视频所需带宽 | 播放视频所需带宽 | 服务器需求 |
2 | 8 kb/s | 8 kb/s | 32 kb/s |
3 | 8 kb/s | 16 kb/s | 72 kb/s |
4 | 8 kb/s | 24 kb/s | 128 kb/s |
5 | 8 kb/s | 32 kb/s | 200 kb/s |
10 | 8 kb/s | 72 kb/s | 800 kb/s |
20 | 8 kb/s | 152 kb/s | 3.2 mb/s |
50 | 8 kb/s | 392 kb/s | 20 mb/s |