我们的应用程序之一目前依赖映射驱动器来访问本地网络上的大型媒体文件 (20-100MB)。
我们想将其更改为某种 Web 服务,以便我们可以使其更安全并将其移动到 Web 服务器(不依赖于本地网络)。
因为它们是大型媒体文件,我们需要随机访问这些文件(以便我们可以从任何点开始播放视频)。
我们有许多不同类型的媒体文件(MPEG、WMV、MOV、AVI 等),因此我们宁愿不将它们编码为特定格式。我们更喜欢一种允许我们访问文件的技术,就好像它是一个本地文件一样。
我们应该使用什么技术?
我们的应用程序之一目前依赖映射驱动器来访问本地网络上的大型媒体文件 (20-100MB)。
我们想将其更改为某种 Web 服务,以便我们可以使其更安全并将其移动到 Web 服务器(不依赖于本地网络)。
因为它们是大型媒体文件,我们需要随机访问这些文件(以便我们可以从任何点开始播放视频)。
我们有许多不同类型的媒体文件(MPEG、WMV、MOV、AVI 等),因此我们宁愿不将它们编码为特定格式。我们更喜欢一种允许我们访问文件的技术,就好像它是一个本地文件一样。
我们应该使用什么技术?
HTTP 已经原生支持这一点。但是,您的客户需要知道如何支持它。它是 Content-Range 标头来指定要请求的范围和 Content-Length 来知道大小。
如果您需要它作为“服务”,您也可以使用 WebDAV,它提供了允许您访问文件系统的语义。还有一个 WebDAV Servlet 实现,您可以将其用作起始基础。
可能您只需要HTTP 渐进式下载。您列出了可以包含几乎任意流格式的媒体容器。在任何情况下,您都可以尝试使用VLC或其他支持渐进式下载的通用播放器,它们很可能可以播放您的文件。
使用Java。
为了保护访问 - 在任何 Web 服务堆栈中公开文件存储的身份验证/授权逻辑。例如轴,地铁。
Java 确实有 RandomAccessFile 可以窥视和寻找任何一点,但我不确定你真的需要这个。
您现有的应用程序必须为此建立一些消费机制。