我正在尝试在客户端调试我的操作脚本 (AS3) 代码,该代码与本地主机上的 Flash Media Server 4 一起使用。到目前为止,一切似乎都很好。
但是,当我尝试使用其他远程流媒体服务器测试我的播放器时,我注意到由于服务器和播放器之间的带宽传输较低而导致的错误。
有没有一种简单的方法可以在 localhost 上使用 FMS4 模拟较低的带宽?
- 通过配置、application.xml 等?
- 通过编程(main.asc)?
- 两个都 ?
我正在尝试在客户端调试我的操作脚本 (AS3) 代码,该代码与本地主机上的 Flash Media Server 4 一起使用。到目前为止,一切似乎都很好。
但是,当我尝试使用其他远程流媒体服务器测试我的播放器时,我注意到由于服务器和播放器之间的带宽传输较低而导致的错误。
有没有一种简单的方法可以在 localhost 上使用 FMS4 模拟较低的带宽?
如果您想跳出框框思考,可以使用NetLimiter之类的应用程序。只需为特定应用程序制作一个过滤器,您就可以将带宽限制为您想要的任何速度(低至字节)。
编辑
此外,通过一些简短的谷歌搜索,我能够在 Application.xml 文件中找到client.setBandwidthLimit和BandwidthCap 。
还有一篇关于配置限制带宽的文章(如果有帮助的话)。
根据这篇文章“配置限制带宽”(参见上面的链接 - 感谢 Brad Christie),我选择使用服务器端 ActionScript (SSAS) 方式。更简单,我想。
好吧,这是我所做的步骤:
制作一个文件“main.asc”,然后复制并粘贴下面的代码。
更多信息:http ://www.peachpit.com/articles/article.aspx?p=31217
主程序
var bandwidth;
application.allowDebug = true;
// Application callback functions
application.onConnect = function(client, user) {
//12800 = 100 Kbps
//64000 = 500 Kbps
//131072 = 1Mbps
//327680 = 2.5 Mbps
//983040 = 7.5 Mbps
//1966080 = 15 Mbps
//3932160 = 30 Mbps
//6553600 = 50 Mbps
//15728640 = 120 Mbps
bandwidth = 64000;
client.setBandwidthLimit(bandwidth, bandwidth);
trace("clientToServer = " + client.getBandwidthLimit(0) + " serverToClient="+ client.getBandwidthLimit(1));
application.acceptConnection(client);
trace("17 janvier TEST");
}
将文件保存在 FMS 应用程序目录下的文件夹下
示例:FMS\application\dyn
启动 FMS 服务器。如果有问题,检查日志文件
Example : FMS\logs_defaultVHost_\dyn_definst_\application.00.log
(optional) Change the value ofthe variable bandwidth for your test. I put in comment some common internet connection speed converted in bytes.