1

mediaelementプレーヤーを使用して、YouTubeからビデオをストリーミングしています。ただし、取得しているビデオの品質は低いです。以下を使用して、最高品質の再生を強制しようとしました。

  <source type="video/youtube" src='http://www.youtube.com/watch?v=WA4iX5D9Z64&hd=1'></source>

しかし、それはうまくいきません。可能な限り最高の品質でビデオを取得したり、必要な品質を指定したりするにはどうすればよいですか。

4

1 に答える 1

2

一般的に言えば、Youtube API は、ビデオ ウィンドウがより高い解像度を処理するのに十分な大きさである場合にのみ、hd パラメータを考慮します。したがって、iFrame が最終的に 640x360 しかない場合、hd=1 を追加しても 360p ビデオが得られます。 . これは、iFrame のサイズ (または API に渡される高さ/幅パラメーター) を大きくするか、vq パラメーターを使用して必要な品質 (vq=720p など) を指定することで変更できます。

ただし、API を自分で操作したり、単純な iFrame 埋め込みを使用したりせず、代わりに mediaelement プレーヤーでラップしているため、状況は複雑です。ソース コードを調べると、mediaelement が Youtube API と対話するとき、Youtube ID 自体以外のパラメーター (「playerVars」配列内) を渡していないように見えるため、hd も vq も効果がありません。 . プレーヤーのサイズを変更しても機能します。例えば、

<video width="1280" height="720" id="player1" preload="none">
    <source type="video/youtube" src="http://www.youtube.com/watch?v=nOEw9iiopwI"/>
</video>

以下よりも高品質のビデオを提供します。

<video width="640" height="360" id="player1" preload="none">
    <source type="video/youtube" src="http://www.youtube.com/watch?v=nOEw9iiopwI"/>
</video>

mediaelement コールバックを実行するとき。

プレーヤーのサイズを大きくしたくないが、ビデオの品質を向上させたい場合は、mediaelement-and-player.js ファイルにパッチを適用して、vq パラメータが API に送信されるようにし、それをソース属性。

于 2013-02-13T18:24:09.840 に答える