1

私は作業中のサイトで mp4 ビデオ (h.264 - 利用可能なソースのみ) を動的に再生および変更するために、フラッシュ フォールバックを備えた video-js メディア プレーヤーを使用しています。

私の問題は、ビデオ/ソースを変更するたびに、ブラウザーがメモリ不足になってクラッシュするまで、ますます多くのメモリを消費することです。この問題は、Flash Player ハードウェア アクセラレーションが有効または無効のすべてのブラウザで発生します。

Player は次のように初期化されます。

            _V_.options.flash.swf = "../Scripts/ThirdParty/video-js.swf";
            _V_.options.flash.iFrameMode = true; //false didn't help
            _V_.players = {};
            _V_("main_video", { "techOrder": ["flash", "html5"] }).ready(function () {

                $.b4dvideo.videoPlayer = this;
                if (!$.b4dvideo.contentInitialised) {
                    $.b4dvideo.contentInitialised = true;
                    $.b4dvideo._loadContent();
                }
                this.on("pause", function () {
                    this.posterImage.show()
                });
                this.on("ended", function () {
                    $.b4dvideo.videoPlayer.pause();
                    $.b4dvideo.videoPlayer.currentTime(0);
                    $.b4dvideo.videoPlayer.pause();
                    this.posterImage.show()
                });
            });

プレーヤーのソースを変更する

        if (!$.b4dvideo.videoPlayer.paused()) {
            $.b4dvideo.videoPlayer.pause();

        }
        $.b4dvideo.videoPlayer.currentTime(0);
        $.b4dvideo.videoPlayer.pause();

        $.b4dvideo.videoPlayer.src(videoPath);

        $.b4dvideo.videoPlayer.play();

Flash Player がビデオ全体をメモリに保持し、解放しないようです。それに関するアイデアはありますか?私はjwplayerを使ってみました - 同じ問題:-(

更新 1:

この問題を示すjs-fiddleも作成しました...再生を数回押して、記憶を見てください http://jsfiddle.net/fwcJh/2/

4

0 に答える 0