Youtubeの動画をキャッシュするHikiプラグイン
前置き
先週、HikiにFLVファイルを表示するためのプラグインをリリースしました。
しかし使ってる内に、わざわざとあるサイトからFLVファイルをダウンロードして、それをHikiに添付するという作業が煩わしくなってきました。
Hikiに、とあるサイトのURLを書いてやれば自動的にFLVファイルをダウンロードして添付してくれても良いんじゃない?
実装
上記のサイトを参考にして書く。
仕様
実装が終わったら仕様が決まったみたいなー。
- Hiki中で{{youtube_flv(video_url)}}と記述する。video_urlは例えばhttp://www.youtube.com/watch?v=TICNKYPuqcE。
- そのページに
video_id.flv
とvideo_id.jpg
というファイルが添付されているか確認する。 - flvファイルが添付されていなかったら、該当のflvファイルをダウンロードし、ページに添付する。
- 添付されたflvファイルをflvplayerで表示する。
注意
ダウンロードしたファイルの著作権は制作者にあるので、インターネットで公開するWiki中でこのプラグインを利用すると、著作権法にひっかかる場合がありますのでライセンスには注意しましょう。
疑問
- read_timeoutを5分に設定しているはずなのにそれ以前にTimeoutErrorが出てしまうため、大きなファイルがキャッシュできない。
- HikiがHttpのread_timeoutを多分上書きしているため起こる。hikiconf.rbで@timeoutをある程度大きな値にする必要がある。
- open-uriが使えないため、コンテンツのダウンロードが妙にめんどくさい。
- Hiki中でopen-uriからopenすると必ずSecurityErrorが出てしまう。ホワイ?