4

クライアントのダウンロード速度に応じて、ビデオを低品質または高品質で表示したいと思います。すべてのJavascriptまたはC#ソリューションが受け入れられます。

ありがとう。

4

7 に答える 7

2

確実にする方法はありません。クライアントにデータを送信できる速さだけを測定できます。情報を取得する速度を示すクライアントからの入力がなければ、できることはあまりありません。

クライアントを、javascript を使用するページにリダイレクトして、ページ内の既知のサイズの要素をダウンロードできます。次に、ダウンロードの開始時と終了時に時間を取り、要素のダウンロードにかかった時間を送信するクライアントの JavaScript を介して構築された 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

GeoIP Netspeed でアドレスを調べることができます: http://www.maxmind.com/app/geolocation

于 2009-03-24T19:35:06.873 に答える
0

ほとんどの Web サイトでは、高品質または低品質のバージョンをユーザーに選択させるだけです。

于 2009-03-24T18:41:53.007 に答える
0

これは悪い考えです。特に、ほとんどのユーザーは帯域幅を自分で制御できるためです (つまり、かなりの帯域幅を使用する P2P アプリを実行していますが、他に優先する必要がある場合はそれらをオフにします)。

于 2009-03-24T18:44:56.730 に答える
0

アップロード pugin として Silverlight または Flash を使用できます。これにより、アップロードの対象、状態、およびアップロード開始時のアップロード速度をクライアントで実際に制御できます。

于 2009-03-24T18:47:53.400 に答える