コツコツ更新を続けているYouTube HD Suiteの兄弟スクリプトと呼べそうなものを作ってみました。
YouTubeはembedと呼ばれるHTMLコードを貼付ける事で、YouTube以外のサイト/ブログにも簡単に動画を埋め込む事ができます。このHTMLコードを最高画質で埋め込む事ができるYoutube HD Embed Customizedなんてのも前に作っていますが、今度はこの埋め込まれた動画の対応フォーマットを確認できたり、そのままダウンロードできるようにしてみました。
YouTube HD Suite はYouTube内の機能拡張でしたが、このスクリプトはYouTubeサイト外での機能拡張にあたります、そこで、「YouTube HD Everywhere」という名前にしてみました。例のごとく、Userscripts.org に置いてありますので下記からインストールしてみてください。
http://userscripts.org/scripts/source/61708.user.js
※要Firefox + Greasemonkey。Safari + GreaseKitでも大体動くはずです。
各ページでYouTubeのembedを探して、タグがあったらフォーマットの確認などが起動するようになっています。確認が終わると埋め込み動画のすぐ下に結果が表示されます。
今のところの機能はこちらです。
- embedされた動画のタイトル表示→最高画質再生のURLへリンク
- embedされた動画のフォーマット確認/ダウンロード
- 対応しているフォーマット
- HD fmt=22 ( ハイビジョンMP4 / H.264 / AAC )
- HQ fmt=35 ( 高画質FLV / H.264 / AAC )
- LQ fmt=34 ( 低画質FLV / H.264 / AAC )
- SD fmt=18 ( 標準画質MP4 / H.264 / AAC )
動画フォーマットについては、HD=赤、HQ=緑、LQ=青、SD=灰色 というように、YouTube HD Suite を踏襲した形で色分けしました。また、対応していないフォーマットに関しては薄い灰色で表示しますので、対応フォーマットが一目瞭然となります。
対象範囲がYouTubeサイト以外全てになるので、機能的には YouTube HD Suite ほど盛り込んでいませんが、キモとなる動画の対応フォーマット確認とダウンロードリンクに対応しているのでほぼ欲求が満たされるのではないでしょうか?また、AutoPagerizedにも対応していますので、追加されたページの埋め込み動画もフォーマットチェックしてくれます(Safariなどで一部動いてないかも・・・)。
まとめ
とりあえず公開しちゃいますが、クオリティ的には未知数なところがあるのでおかしなところがあったら教えていただけるとありがたいです。このスクリプトに関してはあんまり機能追加とかは考えていませんが、バグフィックスはしようと思います。
今のところの問題点、制限事項
- objectタグを検知しているので、embedタグだけで表示している動画には対応しません
- 再生リストの埋め込み動画には対応しません
- 元の動画が削除されたり閲覧できない状態の場合はエラーになります。
以後、気が付いたら追記します。
最近のYouTube埋め込み動画プレイヤーはHD再生なんかにも対応していて、再生に関しては全然不満はないです。そこに加えてフォーマットチェックとダウンロードが加わればかなり強力じゃないかと。mixiなんかに埋め込まれてる動画も対応できてるっぽいし結構いいかも〜。