2010年9月1日水曜日

YouTubeのChromeless Playerで字幕(Closed Caption)は表示できるのか?

最近、iTunesUの大学講義ビデオが気になっているのだけれど、どうやらそれがYouTubeにアップされている場合もあるらしいとわかった。

例えば、ハーバード大のMichael Sandel教授の講義ビデオ。これは多分、NHKのハーバード白熱教室という番組で流れていたのと同じものだろうと思う。





iTunesUでは出ないが、YouTubeでは字幕(Closed Caption)が出る。字幕は英語だけれど、英語が母国語でない自分にとってはかなりありがたいものだ。

そこで、YouTubeのChromeless Playerを使ったカスタムプレイヤーでも字幕を表示できないか調べてみることにした。

結論からいうと、できないということがわかった。

まずYouTube Data APIでは、字幕を取得する方法は提供されているけれども、それは自分がアップした動画の字幕に限られる。だから当然、自分で所有していない上のようなビデオの字幕は取得できない。よって、Chromeless Playerで表示することもできない。

デベロッパー ガイド: Data API プロトコル - YouTube の API とツール - Google Code

キャプション操作の要件

・・・動画のキャプションを作成、取得、更新、削除できるのは、その動画の所有者のみです。動画に対してこれらの操作を実行するには、動画の所有者がログイン ユーザーである認証済みの API リクエストを送信する必要があります。そのため、キャプション操作の API リクエストには、正しいフォーマットの Authorization ヘッダーを含める必要があります。・・・

さらにトドメ。最近YouTubeのJeffreyさんがフォーラムで回答したところによると、

AS3 API and closed captions? - YouTube APIs Developer Forum | Google グループ

・・・Neither the AS2 nor the AS3 chromeless players support captions, and while I believe that adding support for them in AS3 is a long-term goal, I can't offer any timelines.・・・

つまり、Chromeless Playerでは字幕は非対応。字幕サポートが追加されるには長い時間がかかるでしょう、と。そしていつサポートするかはわからない、と。

うーむ。

巷には、YouTubeの字幕ファイルをダウンロードさせるサービスがあることも知っているので、何らかの方法があるには違いない。

しかし、Chromelessで非対応、APIでも所有動画に限っているということは、YouTubeは明らかにAPI経由で字幕データを開発者の好きにさせることを嫌がっているわけで・・・YouTubeが嫌がっているものを無理矢理やることは、開発者としての信義にかかわる。

諦めるほかないだろう。