SanbilaSanbila
术语表

WebDAV

WebDAV(网络分布式创作与版本控制)在标准 HTTP 上扩展了 PROPFIND、GET ranges 和 PUT 等方法,使远程文件服务器可以作为硬盘挂载。操作系统将它视为普通文件夹,应用通过它读写文件,不知道涉及网络。

在视频剪辑中,WebDAV 让你在导出时把原始文件从云端流式传输到 NLE,无需把完整内容下载到本地磁盘。NLE 看到一个盘符或挂载点,按需读取块并解码,就像本地的 MXF 或 R3D。

WebDAV 的吸引力在于它不需要任何内核驱动:它只是 HTTP,所以操作系统和 NLE 早已知道如何挂载并读取它。对视频而言,麻烦在于寻址(seek)。在大文件内随机访问依赖 HTTP Range 请求(比如请求第 500 MB 到 520 MB 的字节),而并非所有 WebDAV 客户端都能很好地发出它们。尤其是 Windows 内置的 WebClient 重定向器倾向于请求整个文件而非范围,这让通过 WebDAV 拖动一个 40 GB 的原始文件很痛苦。这一局限正是流式工作流在 Windows 上常常更偏好一个真正的虚拟文件系统驱动、而把 WebDAV 留给其客户端表现良好的地方(如 macOS)的原因。

安全很重要,因为挂载是通向你媒体的一扇活门。一个构建良好的本地 WebDAV 服务器只在回环地址上监听,对每个请求用一个按会话的令牌鉴权,并拒绝任何带浏览器 Origin 头的请求,真正的 NLE 从不发送它。结果是一个在剪辑师看来像本地存储的驱动器,而实际字节是按需从云端逐块取回的,除了剪辑应用之外没有任何东西能访问它们。

示例

  • •macOS mount_webdav 把远程 URL 呈现为 /Volumes/MyShare
  • •Windows net use 把盘符(如 Z:)映射到远程文件服务器
  • •NextCloud 与 ownCloud 把用户存储暴露为可挂载的网络驱动器

在 Sanbila 中

Sanbila 通过虚拟驱动器把云端原始素材流式传输到 NLE,NLE 把它当作本地文件夹读取。协议细节对用户透明,无需手动配置挂载。

常见问题

WebDAV 和 Dokan 这类虚拟驱动器有什么区别?+

WebDAV 是操作系统无需特殊驱动即可挂载的 HTTP 级协议,简单,但依赖客户端对 HTTP Range 请求的处理好坏。像 Windows 上的 Dokan(或 Linux 上的 FUSE)这类虚拟文件系统驱动运行在更底层,直接传递应用真实的 read(offset, length) 调用,所以在巨大文件内寻址可靠。两者都能把云端媒体呈现为本地驱动器;驱动这条路随机访问更好。

为什么在 Windows 上通过 WebDAV 拖动会慢?+

因为流畅拖动需要客户端用 HTTP Range 请求只取播放头附近的字节,而 Windows 内置的 WebDAV 重定向器倾向于请求整个文件。在一个 40 GB 的原始文件上,这意味着每次寻址都拉取远超所需。这正是流式工作流在 Windows 上常用专用虚拟驱动器、而把 WebDAV 留给能很好发出范围请求的客户端的具体原因。

WebDAV 挂载安全吗?+

一个构建良好的本地 WebDAV 服务器只在回环地址上监听,对每个请求都要求一个唯一的按会话令牌,并拒绝任何带浏览器 Origin 头的请求,真正的 NLE 从不发送它。所以媒体能被你的剪辑应用访问,但不能被网页或其他设备访问,而原始文件本身留在云端,按需取回。

相关术语

参考资料

由 Sanbila 创始人 Lassana Toure 撰写。

最后更新: