1

埋め込まれた YouTube ビデオを常に HD で正常に再生できる Javascript があります (そのビデオが HD でアップロードされた場合)。

私の問題: Internet Explorer でコードを実行すると、HD720 でビデオが再生されず、420 ​​(Large=420px) でのみ再生されます。この正確なコードを Chrome、Firefox、および Safari で実行すると、すべて HD720 でビデオが再生されます。

HD720 で埋め込まれた Youtube ビデオを常に IE で再生する方法を知っていますか?

私のコード: 「hd720」が機能しない理由については、以下のメモを参照してください。

<script type="text/javascript" src="https://www.youtube.com/player_api"></script>
<script>
    function onPlayerReady(event) {
            event.target.setPlaybackQuality('highres'); 
            // NOTE: MAKING the above value 'hd720' makes NONE of the browsers
            // play the video in HD720, test it for yourself to see.
            // So thats NOT a solution.
    }

  function loadYouTubeVideo(uid) {
        setTimeout( function() {
                    var id         = uid;
                    var instPlayer = new YT.Player(id, {
                        height: '480',
                        width: '853',
                        enablejsapi: 1,
                        suggestedQuality: 'highres',
                        videoId: uid,
                        events: {
                                'onReady': onPlayerReady 
                        }
                    });
            }, 500);
    }
</script> 

次に、次のように Youtube ビデオをページに埋め込みます (注 *VIDEO_ID* は、YouTube ビデオの一意の ID です)。

<div id="VIDEO_ID"></div>
<script>
    loadYouTubeVideo("VIDEO_ID");
</script> 
4

1 に答える 1

0

480 ピクセルのビデオ プレーヤーで 720p (高さ 720 ピクセル) のビデオを再生しても、ビデオの品質は向上しません。これは、余分なピクセルがデバイスに表示されないためです。実際、サイズ変更は、YouTube のサーバーでトランスコードする場合よりもパフォーマンスを重視した方法で行う必要があり、標準の解像度で表示するよりも再生品質が低下する可能性があります。

デフォルトでは、YouTube プレーヤーは、再生コントロールを考慮した後、プレーヤー内に収まる最大の解像度 (高さによる) を選択します。つまり、高さが 480 ピクセルのプレーヤーの場合、適合する最高品質は 420p バージョンです。

さまざまなプレーヤーやコーデックで setPlaybackQuality メソッドを明示的にテストして、最初のビデオ ロードと異なる動作をするかどうかを確認したことはありませんが、開発者が実際に表示できるよりも高い解像度を強制できるようにすることを目的としているとは思えません。

于 2012-11-21T07:18:59.267 に答える