0

私は絶えずjpg画像でいっぱいのディレクトリを持っています。これらの画像を映画のようにウェブページに表示したい。

私が試したことは:

function slideit() { 
 $.get("test.php", function(show) { if(show != "") { 
 document.getElementById("movie").innerHTML="<img src=\"data:image/jpg;base64," + show + "\" />", 
 setTimeout('slideit()', 0) } } ); };

PHPファイルは

function getrunpic()
    {
    $file=trim(shell_exec('ls directory | sort -n | grep jpg | head -1'));
    $file="directory/".$file;
    $imagedata = file_get_contents($file);
    $pic = base64_encode($imagedata);
    unlink($file);
    return $pic;
    }

echo getrunpic();

JSONエンコードでも試してみました。

問題は、phpからjavascriptへのデータ転送に時間がかかりすぎることです。(1秒あたり約8枚の写真しか表示されません。25枚必要です)。

プロセスをより速くするアイデアを持っている人はいますか?

前もって感謝します

4

2 に答える 2

1

「php から javascript へ」の転送ではないと思います。問題を引き起こしているのは、サーバーからブラウザへの転送である可能性が高いです。1 秒あたり 25 個の個別の HTTP リクエストを作成するには、それぞれが 40 ミリ秒未満で完了する必要があります (ただし、同時ブラウザー接続とオーバーラップ リクエストでは少し長くなる場合があります)。

yahoo.com のホームページをロードし、Firebug の「ネット」パネルを見て、画像の HTTP リクエストのみを表示するようにフィルタリングすると、平均的なリクエストは次の時間を示します。

  • 1 ミリ秒のブロッキング
  • 1 ミリ秒の DNS ルックアップ
  • 125ms 接続
  • 124ミリ秒待機
  • 116ms受信

...つまり、個々のリクエストを使用して毎秒 25 フレームを取得するのに常に苦労することになります。

ストリーミング メディア (ビデオ) 形式の使用を検討したことがありますか? mediacollege.comにはいくつかのチュートリアルがあり、このウィキペディア ページには詳細情報があります。

于 2012-05-16T10:08:37.023 に答える