srt.js: YouTubeの字幕情報として埋め込まれる映像拡張Javascriptフレームワーク






簡単には、以下の手順ですぐお試しいただけます。

ご自身が管理されている動画で、すでにYouTubeに字幕ファイルとしてsrt.jsをアップロードしてある場合は、
http://srtjs.azurewebsites.net/?v=XXXXXXXXXXX
↑XXXXXXXXXXXのところにYouTubeの11桁の動画IDを入れればすぐ使えます。

人様の動画に自作のsrt.jsを加えてMashupしたい場合は、
https://srtjs.azurewebsites.net/?v=XXXXXXXXXXX&surl=https://dl.dropboxusercontent.com/u/9999999/example.srt.js
のように、URL参照できるsrt.jsファイルをDropboxやGoogleDrive, github等で公開すれば、それを使用できます。


使用例

上記デモ映像で紹介しているもの、および紹介できなかったものを実際にお試しいただけます。インストール等は不要です。ブラウザだけでお楽しみいただけます。最初に「本当に続けますか?」のようなことを聞かれるものもありますが、OKと答えてください。うまく動かない場合はブラウザを変えてみてください。PCならChrome、スマートフォンならFireFoxが一番動作しやすいと思います。

映像と連動した表現の拡張
ユーザの入力による映像の再生制御

歴史的経緯についての考察

こういう「時刻にもとづいてプログラムを実行する」というのは昔からAdobe Flash (+ActionScript)で実現されていたことでした。srt.jsは、Adobe Flashの素晴らしい思想を現代的に焼き直しただけにすぎないと言うこともできるかもしれません。でもいまこそそれをやるべきだと思うのです。それについて少し考察します。

Adobe Flashが普及した当時、時系列コンテンツにインタラクティブ性を加えられる!と、もてはやされましたが、
  • コンテンツがインタラクティブになればなるほどタイムライン通りに進行しない
  • タイムラインから「実行の順と時刻を保証するもの」という意味合いが失われる
  • どのプログラム要素も便宜的にどこかの時刻に割り当てなければならないのは直感に反する
ことにより、どんどんタイムラインの良さが失われ、結局タイムラインのないAdobe Flex (現Apache Flex)へと推移してしまいました。
しかし、時代の変遷により、再考の余地ができました。

【人々の意識が変わった】
  • タブレット・スマートフォンなどが普及しました。
  • 人々がエンタテインメントコンテンツに接する際の態度がより受動的なものになりました。
  • コンテンツに要求されるインタラクションの強度が必ずしも高くないものが認知されるようになってきました。
  • 現代はコンテンツがユーザの時間を奪う時代であり、ユーザは奪われる時間に敏感です。
  • インタラクティブ性の少ない時系列コンテンツは,インフォームドコンセント(楽しむのにどのくらい時間がかかるかを事前に示せる)の観点から優れているのです。
【プログラミングの質が変わった】
  • 既存のサービスに「少しだけ」独自要素を追加するプログラミングが受け入れられるようになってきました。Mashup文化, IFTTT, myThings…
  • 時系列コンテンツへの「少しだけ」の独自要素の追加であれば、タイムライン上に疎にプログラムが埋め込まれる程度であるため、タイムラインというメタファーは破綻しません。
【いろいろおもしろい世界になった】
  • IoTデバイスやWebサービスの普及により、繋いだら面白いモノやサービスが増えました。
さあ、今こそ、下火になった「時系列指向プログラミング」を再興すべき時です!
srt.jsはその手段の一つです!


活動履歴

2016/08/07 SIGPX2@品川マイクロソフト でちょっと内々にもんでいただきました。
2016/12/17 MashupAwards 2016で最優秀賞を受賞しました!