こちらの記事などで使った、VLC media player ですが、以前書いたように、ストリーム再生(ダウンロードしながら再生)することができます。通常は、メニューバーのメディア > ネットワークストリームを開く、から、動画の直リンクURLを入力します。
YouTube などいくつかのサイトでは、動画への直リンクURLを求めなくても、動画のページURLを入力してやるだけで、その動画ページの動画を VLC Media Player 上でストリーム再生できます。この機能は、VLC Media Player に実装された Luaスクリプトによって実現されています。YouTube のページURL(及びページソース)が、VLC Media Player側からLuaスクリプト側へと渡され、スクリプト内で解析、動画への直リンクURLを割り出し、これを返す、という流れになっているらしいです。このしくみは、Craving Explorer のサイトスクリプトとよく似ていますね。
VLC Media Player version 1.1.11 に付属する youtube.lua スクリプトは、 7月下旬のYouTube 側仕様変更に未対応で、そのまま使うとクラッシュしてしまうことがあったのですが、この問題に対応した修正スクリプトが、VideoLan Forums にあります(こちら→)。この修正スクリプトを、VLC Media Player のインストールフォルダ内、lua フォルダ > playlist フォルダ、内にある youtube.lua スクリプトファイルと入れ替えてやると、クラッシュせずに再生できるようになります・・・。
ということだったのですが、昨日あたりからの YouTube の仕様変更(こちらの記事など参照)で、また、再生できなくなっています。私は、Luaスクリプトに詳しくないのでよくわかりませんが、今回の仕様変更は、Cookieがかかわったもので、Luaスクリプト側からこの問題に対処するのは難しそうな感じです。
スクリプト側が原因で、本体のほうがクラッシュしてしまう、というのもちょっと怖いですね(Lua の仕様では、try~catch~finally みたいなエラー処理ができないみたいです)。最近の動画サイトは、その仕組みがどんどん複雑化してきていて、組み込みのスクリプトもこうしたことに柔軟に対応できるように実装しておかないと、なかなか使いづらい感じです。
Lua については、こちらのページ
ttp://staff.aist.go.jp/yutaka.ueno/lua/docsjp.html
プログラミング言語Luaの紹介
がとても参考になります。