NBAから配信されるvideo castが去年より残念な内容になっている。 そこで、よりおもしろい映像を手軽にゲットする環境を整えることが急務となったのでトライしてみたところ、 成功したので書いておこう。
1/6追記)スクリプトのソースをダウンロードできるようにしました。
NBA TVのビデオは、こちらからRSS配信されている。→
NBA TV Broadband
ここで見たいビデオのリンクをクリックすると、
ごてごてしたウィンドウが開いてビデオが見れるはずなのだが、
ビデオが出てきた!と思ったら広告で、それが終わると本編は再生されずに終了、
という非常にガッカリな状況に陥る。
そこで、このリンクの中に含まれているビデオのURLを抜き出し、直接開いてみようと思う。 ちなみに、一応微妙にMacサイトということでApplescriptで書く。 頑張ればBookmarkletとかにもできるんじゃないでしょうか。しませんが。
方法1:ユニバーサルパレットに登録する
egbridge Universalのユニバーサルパレットに、ビデオのURLを開くためのボタンを新しく追加する。
ボタン押すだけ、というインターフェースがなかなかよろしいのです。
新しいボタンの追加方法は、以前書いたので参照されたい。
→egblidge Universalの使い方 2 (うむらうす)
ユニバーサルパレット登録手順
- ユニバーサルパレット左上の下向き矢印ボタン を押し「プラグインフォルダを開く」を選択
- 出てきたフォルダに適当に新しいフォルダを作成(例:「自作メニュー」) 既に作っていれば不要)
- ここを右クリックし、 「別名でリンク先を保存」で上記フォルダにスクリプトファイルを保存
- ユニバーサルパレットの下向き矢印ボタン から「プラグインを再読み込み」を選択
- の右のプルダウンメニューに、上で作ったフォルダとファイルが表示されればOK
使い方
先ほどのNBAのVideo RSSにある、
見たいビデオのリンクで右クリックして「リンク先のURLをコピー」し、
おもむろにユニバーサルパレットに新しく追加した「NBA Video(Universal Palette)」ボタンを押す。
すると、QuickTime Playerが起動してビデオが見られる(はず)。
方法2:スクリプトメニューに登録する
Applescriptを呼び出すインターフェースとして、 上ではユニバーサルパレットを使ったが、 これはegbridge Universalを持っている人しか使えない。 一方Macを使っている人全員が使える方法として、 メニューバーの「スクリプトメニュー」から呼び出す、という方法もある。 というかこちらの方が使える人の方が圧倒的に多いと。
このスクリプトメニューは、「アプリケーション/AppleScript/AppleScript ユーティリティ」というアプリケーションを起動し、 「メニューバーにスクリプトメニューを表示」というチェックを入れることで、 メニューバーにアイコンが現れる(下図)。
ここをチェックすると・・・
メニューバーにこんなのが現れる。
このメニューバーの「スクリプトメニュー」ボタンをクリックすると、 デフォルトで入っているサンプルスクリプトがいっぱい表示されるが、 AppleScript ユーティリティで「ライブラリスクリプトを表示」のチェックを外すと表示されなくなる。
ここに自作のAppleScriptを追加するには、
このスクリプトメニューアイコン
をクリックし、「スクリプトフォルダを開く」を選択すると出てくるフォルダのうちどれかに置けば良い(下図)。
通常は「ユーザ・スクリプト・フォルダ」内に置けば良いだろう (これは「ホーム/ライブラリ/Scripts」と同じ)。 ちなみに「ライブラリ・スクリプト・フォルダ」は「ライブラリ/Scripts」となる。
ここに、新しいスクリプトを登録する。手順は以下の通り。
スクリプトメニュー登録手順
- ここを右クリックして、 上のどこかのフォルダ(例:「/ホーム/ライブラリ/Scripts」)に保存
- スクリプトメニューのアイコンをクリックし、 上で保存したものが現れればOK
使い方
NBAのVideo RSSにある、
見たいビデオのリンクで右クリックして「リンク先のURLをコピー」し、
おもむろにスクリプトメニューに新しく追加した項目「NBA Video(Script Menu)」を選択。
すると、QuickTime Playerが起動してビデオが見られる(はず)。
以下、ソースコードを載せておく。
ユニバーサルパレット用
on convert_lines(theLines) --ユニバーサルパレットで使う場合に必要
set clipData to the clipboard as string
--クリップボードの文字列を保存
--&をdelimiterにして「url=http:.....asx」以降を切り落とす。あとは前の「url=」を取る。
set tmp to AppleScript's text item delimiters
set AppleScript's text item delimiters to "&"
set tmpName to text item 2 of (clipData as string)
set AppleScript's text item delimiters to tmp
--「=」をdelimiterにして最初の「url=」以降の「http:....asx」だけ抜き出す
set tmp to AppleScript's text item delimiters
set AppleScript's text item delimiters to "="
set VideoURL to text item 2 of (tmpName as string)
set AppleScript's text item delimiters to tmp
tell application "QuickTime Player"
open location VideoURL
end tell
return
end convert_lines --ユニバーサルパレットを使う場合に必要
スクリプトメニュー登録用
set clipData to the clipboard as string
--クリップボードの文字列を保存
--&をdelimiterにして「url=http:.....asx」以降を切り落とす。あとは前の「url=」を取る。
set tmp to AppleScript's text item delimiters
set AppleScript's text item delimiters to "&"
set tmpName to text item 2 of (clipData as string)
set AppleScript's text item delimiters to tmp
--「=」をdelimiterにして最初の「url=」以降の「http:....asx」だけ抜き出す
set tmp to AppleScript's text item delimiters
set AppleScript's text item delimiters to "="
set VideoURL to text item 2 of (tmpName as string)
set AppleScript's text item delimiters to tmp
tell application "QuickTime Player"
open location VideoURL
end tell
return
ユニバーサルパレット用との違いは、 最初と最後の行に「convert_lines」関連の行があるかないかだけなのでした。
まとめ
・AppleScriptを使って、NBAの映像を簡単に見れるようになったよ
・ユニバーサルパレットだけじゃなくて、スクリプトメニューからも呼び出せるよ
Mac使ってない人は・・・まぁ頑張る。
参考:
・egblidge Universalの使い方 2 (うむらうす)
・egbridge Universalの使い方 3 (うむらうす)
・Apple Scriptの覚え書き
・文字列の検索・置換