YouTubeのURIをシンプルにするProxomitronフィルタ

概要

YouTubeの動画ページURIに対し

  • 国別コードを除去*1
  • 検索ゴミなどを除去

するヘッダフィルタ、YouTube SimpleURIと

  • H.264で視聴するために&fmt=18オプションを付加

するヘッダフィルタ、Youtube +H.264です。

最新版:仕様変更 2008/08/28

  • 試験的にフィルタを2つに分離…分離したことにより、ブラウザのアドレスバーに表示されるURLには「&=fmt18」が付かなくなりました
    • 誰かにURLをコピペで渡す際、&fmt=18が付いていると再生されない動画の場合やナローバンドの人に嫌がられることが多いので…
    • SimpleURIは単体でも動作しますが、+H.264はSimpleURIと同時使用しないと正しく動作しません
    • これ1つにまとめる方法あるのかな…わかる人いたら教えてくださーい
  • 以前のバージョンでは&fmt=6が元から付いていた場合そのままスルーしていたが、除去するように変更
[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: YouTube SimpleURI alpha.20080828 (out)"
URL = "^(www.youtube.com/watch\?v=[0-9a-zA-Z_-]+(^?))"
Match = "http://([a-z]+.|)(youtube.com/watch\?v=[0-9a-zA-Z_-]+)\0"
Replace = "$JUMP(http://www.\0)"

In = FALSE
Out = TRUE
Key = "URL: YouTube +H.264 alpha.20080828 (out)"
URL = "www.youtube.com/watch\?v=[0-9a-zA-Z_-]+(^?)"
Match = "\0"
Replace = "$RDIR(\0&fmt=18)"

なお、現状では、国別Cookieを食べた状態ではリダイレクトループに陥ります。このバージョンでは事前に国設定を「Worldwide (All)」に設定してから使用する必要があります*2。詳しくはYouTubeのリダイレクト動作についてをご覧ください。

過去のバージョン

初版 2008/08/03
[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: YouTube SimpleURI+H.264 alpha.20080802 (out)"
URL = "^(www.youtube.com/watch\?v=[0-9a-zA-Z_-]+\&fmt=(6|18)(^?))"
Match = "http://([a-z]+.|)(youtube.com/watch\?v=[0-9a-zA-Z_-]+)\0"
Replace = "$JUMP(http://www.\0&fmt=18)"

*1:www.youtube.com/ に統一します。YouTube側の仕様変更により youtube.com/ (サブドメインなし)のURIは廃止されました。

*2:バージョン名のalpha.はこの問題を解決した上で外します。多分すぐできるはず…気が向くのがすぐではないかもしれないけども。