rvlink URL:RV 作为协议处理程序

对于使用“rvlink”协议的 URL,RV 可以充当协议处理程序。 这些 URL 的格式如下:

rvlink://<RV commandline>

例如:

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

将启动 RV(或者,创建新会话或替换当前会话(在 Mac 上)),加载 movie.mov,启用预留缓存,然后开始播放。

使用 rvlink URL

您可以将 rvlink 插入网页、聊天会话、电子邮件等。当然,这取决于每个单独的应用程序,看它是否识别该协议。某些应用程序可以将“name://”格式的任何内容识别为 name 协议的链接,但某些应用程序硬编码为只识别“http://”、“ftp://”等。可以识别 rvlink 的一些应用示例:

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

只识别硬编码协议类型的一个应用示例:Pidgin。

要在 HTML 中使用 rvlink,应执行以下操作:

<a href="rvlink:// -l -play /path/to/my/movie.mov">play movie</a>

注意引号。

RV 命令行可以包含任意字符,因此在其他设置(如粘贴到电子邮件)中,您可能希望使用“Web 编码”URL。可以通过命令行让 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 传递给协议处理程序之前修改 URL。如果 rvlink URL 包含有趣的字符,即使是编码 URL 也不适用于这些浏览器。为解决此问题,RV 还支持“完全编码”URL,如下所示:

rvlink://baked/202d6c202d706c6179202f706174682f746f2f6d792f6d6f7669652e6d6f76

此格式的 URL 虽然难以辨认,但好歹可以将 URL 不受干扰地传递给协议处理程序。可以通过在命令行中为 RV 提供“-bakeURL”命令行选项来生成编码 URL。请注意,“编码”URL 只是十六进制编码版本的命令行,因此除了使用 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 处理程序。在 RV 支持的各个平台上,流程会有所不同。

Windows

在 Windows 上,需要将 rvlink 协议添加到注册表中。如果您使用的是适用于 Windows 的 RV 安装程序,则会自动执行此操作。如果不是,您需要编辑“etc”安装目录中的“rvlink.reg”文件以指向 RV 安装位置,然后双击该文件以编辑注册表。

Mac

使用“-registerHandler”命令行选项运行一次 RV,以便将该可执行文件注册为默认 rvlink 协议处理程序。

Linux

与 Windows 和 Mac 不同,Linux 协议在桌面环境级别进行注册,而不是操作系统级别。在您的计算机上安装 RV 后,可以在安装 bin 目录中运行“rv.install_handler”脚本。此脚本会向 KDE 和 Gnome 桌面环境注册 RV。

特定于应用程序的一些注释:

Firefox 可能遵循也可能不遵循 Gnome 设置。通常,如果安装了足够的 Gnome 环境可供 gconfd 运行(即使您使用的是 KDE 或其他一些桌面环境),Firefox 将采用 Gnome 设置。如果无法完成此操作,则可以直接向 Firefox 注册 rvlink 协议,如此处所述。

Konqueror 似乎在将 URL 传递给协议处理程序之前弄乱了 URL - 将大写字母变为小写字母。有时,根本不会传递 URL。这意味着,某些 rvlink URL 将工作而某些不会,因此目前我们建议仅对 Konqueror 使用“编码”rvlink URL。

Chrome 使用基本系统默认设置来处理协议。大多数情况下这意味着,无论如何都会配置“xdg-open”以供使用。到 RV-7 为止,运行 rv.install_handler 应该足够。

自定义环境变量

根据浏览器和桌面环境,在用户环境中设置的环境变量可能不适用于从 URL 启动的 RV。如果您设置中的 RV 需要这些环境变量(例如,RV_SUPPORT_PATH),从 URL 启动 RV 时可能会出现问题,或者根本不会运行。为了确保一致的环境,必须在系统范围(或者至少独立于用户)级别进行设置。在 Linux 上,设置因分发版本而异。您需要根据所用的分发版本查找相应的步骤。在 Windows 上,通常环境变量可发挥作用。最近,MacOS 也实现了这一目标,虽然过程相对困难一些,但只要在 /etc/launchd.conf 中设置环境变量(并在设置后重新启动),系统中的所有进程还是会采用这些值。

测试协议处理程序

正确地将 RV 注册为 rvlink 协议处理程序后,请转到此页面进行测试。

关注

0 评论

登录写评论。