·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]Red5流媒体之FMS视频直播的带宽计算方式setQuality介绍(2)

时间:2012-11-19 22:02blueidea.com
参数 bandwidth:int 指定当前输出视频输入信号可以使用的最大带宽,以每秒字节数为单位。若要指定 Flash Player 视频可以使用所需数量的带宽来保持quality 的值,请为 bandwidth 传递 0。默认值为 16384。 quality:

参数

bandwidth:int — 指定当前输出视频输入信号可以使用的最大带宽,以每秒字节数为单位。若要指定 Flash Player 视频可以使用所需数量的带宽来保持quality 的值,请为 bandwidth 传递 0。默认值为 16384。

quality:int — 一个整数,指定所需的画面质量级别,该级别由应用于每一视频帧的压缩量确定。可接受的值的范围为 1(最低品质,最大压缩)到 100(最高品质,无压缩)。若要指定画面质量可以根据需要进行变化以避免超出带宽,请将 0 传递给 quality。

Red5/FMS视频直播带宽计算

视频录制是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得到的带宽需求表连接数
连接数发布视频所需带宽播放视频所需带宽服务器需求28 kb/s8 kb/s32 kb/s38 kb/s16 kb/s72 kb/s48 kb/s24 kb/s128 kb/s58 kb/s32 kb/s200 kb/s108 kb/s72 kb/s800 kb/s208 kb/s152 kb/s3.2 mb/s508 kb/s392 kb/s20 mb/s

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器