RVLink URL: プロトコル ハンドラとしての RV

RV は「rvlink」プロトコルを使用して URL のプロトコル ハンドラとして動作できます。 これらの URL の形式は次のとおりです。

rvlink://<RV commandline>

例:

rvlink:// -l -play /path/to/my/movie.mov

これは、RV を起動し(または、Mac では新しいセッションを作成するか、現在のセッションを置き換える)、movie.mov を読み込み、先読みキャッシュをオンにして再生を開始します。

rvlink URL を使用する

rvlinks は Web ページ、チャット セッション、電子メールなどに挿入することができます。 もちろん、プロトコルを認識するかどうかは、個々のアプリケーションに依存します。 一部のアプリケーションでは、「name://」という形式をすべて name プロトコルへのリンクとして扱うように設定できますが、その他のアプリケーションは、「http://」や「ftp://」のみを認識するようにハードコードされています。 以下に rvlink を認識するアプリケーションの例を挙げます。

  • Firefox
  • Safari
  • Chrome
  • IE
  • Thunderbird
  • Mac Mail
  • IChat

ハードコードされた一連のプロトコル タイプのみを認識するアプリケーションの 1 つの例は Pidgin です。

HTML で rvlink を使うには、次のように指定します。

<a href="rvlink:// -l -play /path/to/my/movie.mov">ムービーを再生</a>

引用符に注意してください。

RV コマンドラインには任意の文字を含めることができるため、他の設定(電子メールに貼り付けるなど)では、「Web エンコードされた」URL を使用することができます。 コマンド ラインから Web エンコーディングを指定すれば、RV は Web エンコーディングを実行します。 たとえば、以下を実行するとします。

rv -l -play /path/to/my/movie.mov -encodeURL

RV はエンコードされた URL を端末に出力します。

rvlink://%20-l%20-play%20%2Fpath%2Fto%2Fmy%2Fmovie.mov

しかし、IE や Konqueror のようなブラウザの中には、プロトコル ハンドラに到達する前にエンコードされた URL も変更するように見えるものがあります。 rvlink URL に特定の文字が含まれていると、これらのブラウザではエンコードされた URL でも機能しません。 この問題に対処するために、RV は次のような「完全にベイク処理された」URL もサポートしています。

rvlink://baked/202d6c202d706c6179202f706174682f746f2f6d792f6d6f7669652e6d6f76

この形式の URL は全く判読できないという欠点がありますが、最後の手段として、何の干渉も受けることなく URL をプロトコル ハンドラに到達させることができます。 エンコードされた URL と同様に、RV に「-bakeURL」コマンドライン オプションを与えることで、コマンドラインからベイク処理された URL を生成することができます。 「ベイク処理された」URL は、16 進でエンコードされたコマンドラインのバージョンにすぎないので、RV 自体を使用する以外に、プログラム的に実行することもできます。 たとえば、Python では次のようなコードで実行する必要があります。

"-play /path/to/file.exr".encode("hex")

スペース関する注意

一般に、RV は URL 内のスペースをコマンドライン上の区切りの引数として扱います。 スペースを含む引数(スペースが含まれるムービー名など)を使用する場合は、その引数を一重引用符「'」で囲む必要があります。 たとえば、メディアの名前が「my movie.mov」の場合、ムービーを再生するエンコードされた rvlink URL は次のようになります。

rvlink://%20'my%20movie.mov'

プロトコル ハンドラのインストール

RV 自体は rvlink プ ロトコルを処理するプログラムなので、必要なのは、RV を指定された rvlink ハンドラとして OS またはデスクトップ環境に登録することだけです。 これは、RV がサポートしているプラットフォームごとに異なるプロセスです。

Windows

Windows では、rvlink プロトコルをレジストリに追加する必要があります。 Windows 用の RV インストーラを使用している場合、これは自動的に行われます。 そうでない場合は、インストールの「etc」ディレクトリにある「rvlink.reg」ファイルを編集して RV インストール先を指すようにしてから、このファイルをダブルクリックしてレジストリを編集する必要があります。

Mac

実行可能ファイルを既定の rvlink プロトコル ハンドラとして登録するには、「-registerHandler」コマンドライン オプションを指定して RV を 1 回実行します。

Linux

Windows や Mac とは異なり、Linux プロトコルは OS レベルではなくデスクトップ環境レベルで登録されます。 マシンに RV をインストールしたら、インストールの bin ディレクトリにある「rv.install_handler」スクリプトを実行します。 このスクリプトは、KDE と Gnome デスクトップ環境の両方に RV を登録します。

一部のアプリケーションに関する注意事項:

Firefox は Gnome 設定を優先する場合も優先しない場合あります。 一般に、インストールされた Gnome 環境が十分に存在し、gconf が実行されていれば(KDE やその他のデスクトップ環境を使っていても)、Firefox は Gnome 設定を優先することがわかっています。 これが機能しない場合は、ここに記載されているように、rvlink プロトコルを Firefox に直接登録することができます。

残念ながら、Konqueror では、大文字を小文字に置換するので、プロトコル ハンドラに渡す前に URL が混乱するようです。 その結果 URL がひとつも渡されない場合があります。 これは、いくつかの rvlink URL は機能するが、いくつかは機能しないことを意味します。したがって、現時点では、Konqueror を使用する場合は「ベイク処理された」rvlink URL のみを使用することを推奨します。

Chrome は、基本となるシステム既定値を使用してプロトコルを処理します。 ほとんどの場合、これは「xdg-open」が使用するように設定されているものすべてを意味します。 RV-7 の時点では、rv.install_handler を実行すれば十分です。

カスタム環境変数

ブラウザとデスクトップ環境によっては、URL から起動する場合、ユーザ環境で設定された環境変数が RV で使用できないことがあります。 セットアップにおける RV がこれらの環境変数(たとえば RV_SUPPORT_PATH)を必要とする場合、URL から起動するときに、問題が発生するか、まったく実行されないことがあります。 一貫性のある環境を確保するには、システム全体の(または少なくともユーザに依存しない)レベルで設定する必要があります。 Linux では、この設定はディストリビューションによって異なります。 実際のディストリビューションに適した手順を調べることを推奨します。 Windows では、通常の環境変数の手法を使用できます。 MacOS では最近この操作が難しくなりましたが、/etc/launchd.conf に環境変数を設定(設定後に再起動)すると、システム上のすべてのプロセスで値が選択されます。

プロトコル ハンドラのテスト

RV が rvlink プロトコル ハンドラとして適切に登録されたら、このページにアクセスし、使用してみてください。

フォローする

0 コメント

ログインしてコメントを残してください。