私は、私たちのサーバーから9本のライブビデオをストリーミングできるWebアプリケーションを構築しています。各ビデオのFPSレートを調べることで、より深く掘り下げてWebパフォーマンスを向上させたいと思います。 これは、グラフィックハードウェアが1秒間にレンダリングしようとしているフレーム数を取得しようとしていることを意味しています。HTMLビデオの実際のFPSを計算するには?
これは、クロームが提供するFPSメーターです。ビデオに対応する自分のFPSメーターを構築する方法はありますか?各ビデオには、独自のメーターが動作している必要があります。
アップデート1
私はこのLibraryを使用してみましたが、結果はちょっと独特です。
var stats1 = new Stats(); stats1.setMode(0);
var vSource = 'trailer.mp4';
var myVideo1 = document.createElement('video');
myVideo1.width = 512;
myVideo1.src = vSource;
myVideo1.controls = 'true';
var myTable = document.getElementById('myTable');
var row1 = document.getElementById('row1');
row1.appendChild(stats1.domElement);
row1.appendChild(myVideo1);
setInterval(function() {
stats1.begin();
myVideo1.play();
stats1.end();
}, 1000/24);
これは私がLink
begin: function() {
startTime = Date.now();
},
end: function() {
var time = Date.now();
ms = time - startTime;
msMin = Math.min(msMin, ms);
msMax = Math.max(msMax, ms);
msText.textContent = ms + ' MS (' + msMin + '-' + msMax + ')';
updateGraph(msGraph, Math.min(30, 30 - (ms/200) * 30));
frames ++;
if (time > prevTime + 1000) {
fps = Math.round((frames * 1000)/(time - prevTime));
fpsMin = Math.min(fpsMin, fps);
fpsMax = Math.max(fpsMax, fps);
fpsText.textContent = fps + ' FPS (' + fpsMin + '-' + fpsMax + ')';
updateGraph(fpsGraph, Math.min(30, 30 - (fps/100) * 30));
prevTime = time;
frames = 0;
}
return time;
},
update: function() {
startTime = this.end();
}
私の関心を使用しているライブラリのスニペットはアルゴリズムが間違っているようだと私は取得していた結果が「正しい」ではありません、されています... ..
ライブラリーの本来の目的は、Javascriptのパフォーマンスを測定することです。特定のビデオFPSを測定するために使用できますか?
[FPSをJSでチェックしますか?](http://stackoverflow.com/questions/4787431/check-fps-in-js) –
http://stackoverflow.com/questions/28420724/how-決定するための、フレームレートを指定したhtml-video-elementを、より多くの情報のために決定することですが、それは答えではありません。 –
@DavidR関係を参照してください..... –