YouTubeの動画をDBなどに登録してWebページに出力することがあり、結構面倒だったのでメモ。
1. 動画のIDを取得する。
動画情報を登録するのに、動画のIDさえあれば十分である
(というか、それ以外の情報が付いていると汎用性がなくなる)
なので、まず動画のIDを取得をおこなう。
作業は正規表現を用いてID部分を抽出するだけである。
preg_match('@[/?=]([-\w]{11})@', $url, $tmp);
これで、$urlの中から動画ID部分が抽出されて$tmp[1]
に代入される。
(なぜ、添字が1なのかはpreg_match()
関数の仕様を確認。)
ここで重要なのは、@[/?=]([-\w]{11})@
の部分である。
ここを利用すればJS等でも抽出できる(はず。確認してない。)
ちなみに今回のシステムには、ここで抽出した動画IDしか保存していない。
2. 動画のサムネイル画像を取得する。
次に、動画のサムネイル画像を取得する。
YouTubeではサムネイル画像が自動で生成されている。
それを呼び出すURLは
http://i.ytimg.com/vi/YouTube動画ID/default.jpg
このように指定されている。
これは中サイズの呼び出し。URLでその他については、以下のブログに詳しく書かれていた。
YouTube動画のサイムネイルを自動で取得する方法(Kowappa様のブログ)
3. YouTubeの埋め込みリンク
これは、本当に備忘録。
正直YouTube公式にシェア用として設置してあるので、自分自身ですらこれを見るかはわからない。
<iframe width="640" height="390" src="https://www.youtube.com/embed/YouTube動画ID" frameborder="0" allowfullscreen></iframe>
4. まとめ
まとめと言っても特に無いので、参考にさせていただいたサイトを以下に。
参考サイト
YouTube、ニコニコ動画の動画ID|dtn開発日誌 様
YouTube動画のサイムネイルを自動で取得する方法|Kowappa 様