2015年2月12日木曜日

雑談の雑談 YouTube強制1080pスクリプト

Soulvizierではなくて、YouTube 60fps化の記事が一番読まれているみたいなので、vq=を使わない強制高品質60fps化をやっている方法を書いときます。
(vq=をつかうのはFlashPlayer版で、HTML5版では使えないため。)


ここ、Bloggerならガジェットの追加で「HTML/Script」を選んで、ヘッダの下あたりに入れて、下記のソースコードを入れます。
普通のブログでもどこか先頭のほうに入れてください。

<script id="YouTubeMyYouTube">

      var tagMyYouTube = document.createElement('script');

      tagMyYouTube.src = "https://www.youtube.com/iframe_api";
      var firstScriptTagMyYouTube = document.getElementById('YouTubeMyYouTube');
      firstScriptTagMyYouTube.parentNode.insertBefore(tagMyYouTube, firstScriptTagMyYouTube);

      var playerMyYouTube = [];
      var playerVideoIdMyYouTube = [];
      var playerCntMyYouTube = 0;
      var playerAPIReadyMyYouTube = false;
      var playerWidthMyYouTube = [];
      var playerHeightMyYouTube = [];

      function mkPlayerMyYouTube(i){
         playerMyYouTube.push(new YT.Player(playerVideoIdMyYouTube[i], {
                  height: playerHeightMyYouTube[i],
                  width: playerWidthMyYouTube[i],
                  videoId: playerVideoIdMyYouTube[i],
                  events: {
                    'onReady': onLoadMyYouTube
                  }
              }));
      }

      function onLoadMyYouTube(event){
        event.target.setPlaybackQuality("hd1080"); // ここのタイミングで画質を設定するとうまく切り替わるっぽい
      }

      function onYouTubeIframeAPIReady() {
        if(playerCntMyYouTube > 0){
            for(i=0;i<playerCntMyYouTube;i++) {
              mkPlayerMyYouTube(i);
            }
        }
        playerAPIReadyMyYouTube = true;
      }

      function addPlayerMyYouTube(vID,vWidth,vHeight){
        var i = playerCntMyYouTube;
        playerVideoIdMyYouTube.push(vID);
        playerWidthMyYouTube.push(vWidth);
        playerHeightMyYouTube.push(VHeight);
        playerCntMyYouTube++;
        if(playerAPIReadyMyYouTube == true){
          mkPlayerMyYouTube(i);
        }
      }

      // これを呼び出す。引数はYouTubeのビデオIDと自分のサイトに表示したい幅と高さ。
      function divAddMyYouTube(vID,vWidth,vHeight){
        document.write('<div id="'+vID+'"></div><br />');
        addPlayerMyYouTube(vID,vWidth,vHeight);
      }
</script>


で、本文の中で動画を入れたい場所に

<script>
divAddMyYouTube('kbWmSdIETe0', 768, 467);
</script>

という感じで書きます。 'kbWmSdIETe0'の部分は「https://www.youtube.com/watch?v=kbWmSdIETe0」のv=の後ろの部分ね。

ま、これが役にたつのかたたないのかわかりませんが、好きに使ってください。
(このブログではもうちょっといじってサイズは引数に入れないようにしているのでこのソース通りではないです。)

0 件のコメント:

コメントを投稿