4

根据客户端的下载速度,我想以低质量或高质量显示视频。任何 Javascript 或 C# 解决方案都是可以接受的。

谢谢。

4

7 回答 7

2

没有任何方法可以确定。您只能衡量向客户端发送数据的速度。如果没有来自客户端的任何类型的输入来表明它获取信息的速度,那么您无能为力。

您可以将客户端重定向到使用 javascript 下载页面中已知大小的元素的页面。然后,在下载开始和结束时花时间,并将页面重定向到通过客户端上的 javascript 构建的 URL,该 URL 会向您发送下载元素所花费的时间。

鉴于您知道元素的大小,然后您可以估计速率并猜测下载速度。

于 2009-03-24T18:39:20.860 回答
2

这是一篇关于 gmail 如何工作以及它如何找到用户的互联网速度的帖子。你可以得到一些想法。

于 2009-03-24T18:52:01.190 回答
1

也许,在 javascript 中,您可以执行以下操作:

var testImg = document.createElement('img');
testImg.src="src.jpg"; // image with known size
var imageSize = 10; // for 10 k image
testImg.onload = function(){
   var downloadRateKPerSrc = imageSize/((new Date().getTime() - startTime)/1000);
};

testImg.style.display='none';
var startTime = new Date().getTime();
document.body.appendChild(testImg);

未经测试的代码 - 但这个想法可能有效吗?

于 2009-03-24T18:56:56.687 回答
0

大多数网站只是让用户选择高质量或低质量版本。

于 2009-03-24T18:41:53.007 回答
0

这是一个坏主意,尤其是因为大多数用户可以自己控制他们的带宽(即我正在运行使用大量带宽的 P2P 应用程序,但如果有其他需要优先考虑的事情,我会关闭它们。)

于 2009-03-24T18:44:56.730 回答
0

您可以使用 Silverlight 或 Flash 作为上传插件。这将使您能够真正控制客户端上传的内容、状态以及上传开始时的上传速度。

于 2009-03-24T18:47:53.400 回答
0

您可以在 GeoIP Netspeed 中查找他们的地址:http: //www.maxmind.com/app/geolocation

于 2009-03-24T19:35:06.873 回答