NAS解决方案实现多媒体文件共享播放

新浪微博 QQ空间 腾讯微博

现在笔电或者平板设备,由于使用了高端的SSD存储,空间大小一般有限。而台式机经过几代的发展,已经能支撑起海量存储空间了。那么能否实现高清视频等文件在多个设备间共享呢?当然是可以的。各种即时聊天或者互通软件都实现了在WiFi下直接与电脑之间同步文件。如:QQ同时在电脑端和PC端登录,那么可以直接从电脑访问手机上面的存储的内容,反之亦然。但是一般而言这不是通用的解决方案,只是软件实现了自己的文件共享功能。

能不能让PC端或者手机端像使用本地硬盘一样来使用远端设备上的存储?至少,能否直接在本端播放远端设备上面的音视频文件呢?

在尝试了各种流媒体解决方案(HTTP,FTP,iOS客户端应用,Android应用)之后,都没有找到一个完美的解决方案。最终想到了自己的本行,家用NAS,在不引入专业级的NAS设备的情况,利用现有的家用台式机,可以自制一个家用NAS。Windows 各个版本的系统一直都提供家用文件共享解决方案。由于配置稍微有一点复杂,而且相关服务一直开着本来就有很多安全风险问题,因此现在的360等优化工具默认都把共享功能相关的服务禁止掉了,导致我们想使用该功能的时候可能遇到种种困难。为了解决播放远程设备的多媒体文件需求,把整个SMB服务打通的过程做了一些整理,详细记录如下:

一、家用NAS解决方案

家用NAS虽然还没有大规模普及,但是相关技术已经是非常成熟呢。一般的连接示意图如下:

NAS

这里以家用的台式电脑作为NAS服务器,一台笔记本电脑为终端设备。服务端和客户端均为Windows 8.1系统,其他各个Windows系统应该是一样的。

二、服务端设置

检查相关的服务是否已经打开:

1、server服务,在我的电脑上面右键,选择“管理”-“服务和应用程序”-“服务”,选择server服务,确保该服务为启动状态,并且启动方式为自动。

server服务

2、TCP/IP NetBIOS Helper服务,同1,确保该服务正在运行,处于自动启动状态。

netbios2

3、检查网络连接里面的netbios功能已经启动:

netbios1

4、设置共享目录的权限

在Windows资源管理器里,文件夹上面右键,选择属性,选择共享标签,高级共享,将“共享文此文件夹”的选项打勾,然后添加共享权限,选择允许登录的本地用户或者域用户。最简单的允许everyone读取。那么任何人都可以访问此共享并读取文件内容。对于不宜公开的文件夹,慎用。

share配置

三、客户端配置

服务端配置完成后,客户端使用该共享就非常简单了。在Windows资源管理器中,地址栏键入服务端的服务器IP地址和指定的共享名即可访问该共享了。如:

\\172.16.0.109\movies

即可看到远端目录的文件列表了。

但是每次都需要键入这个地址才能访问也有点麻烦了,Windows还提供了一个机制,可以直接将该网络地址映射成本地一个盘符。操作也非常简单:

client

如上图,映射一个网络驱动器,输入上面的共享地址即可,完成后会发现“我的电脑”中多了一个网络驱动器的盘符,可以像使用本地硬盘盘符一样的来使用该网络驱动器。

满以为这样就可以流畅的播放视频文件了。迫不及待的打开一个1080P的高清视频,出现了卡顿的现象。分析了一下原因,按照播放的速率和网络带宽大致算了一下,数据传输的速率应该能够满足1080P播放的需求。应该是播放时顺序读取瞬间速度要求太高,导致服务端响应不过来,而出现卡顿。自然就想到了客户端可以不断预读,做缓存而实现加速。继续回头找服务端的配置,在共享设置的时候,可以勾选一个启动缓存提升性能选项,如下图:

share设置

配置完成后,再次在客户端打开视频文件,卡顿的问题得到解决。

这里只是对Windows的文件共享功能做一个系统的梳理。该方案不仅仅是能实现两台PC之间的目录访问,还可以实现其他终端对此服务器文件的访问。Windows系统天然提供了SMB的服务端和客户端,但是在类Unix系统中,并没有完整的集成该功能,因此需要下载一些特定的APP来实现对服务端的共享的访问。

新浪微博 QQ空间 腾讯微博

| 1 分2 分3 分4 分5 分 (4.82- 11票)
Loading ... Loading ... | 这篇文章归档在:存储技术, 移动互联, 软件技术
| 标签: , , , . | 永久链接:链接 | 评论(8) |

8 条评论

  1. 凌晨
    评论于 一月 29, 2015 at 20:34:32 CST | 评论链接

    童总真能折腾啊!

    不过话说这事儿我也搞过,不过我是用了一台路由器做NAS,路由器自带USB接口插了块移动硬盘做存储。这样有个好处就是不用开电脑,路由器的功耗也低。

    • 童燕群
      评论于 一月 30, 2015 at 08:42:02 CST | 评论链接

      正在折腾win8.1,听说win8之后支持SMB3.0协议,性能有很大提升。win8做NAS Server,想想也是土(豪)。。。

  2. 匿名
    评论于 十二月 23, 2014 at 19:25:06 CST | 评论链接

    博主需要的只是这个。。http://www.zhihu.com/question/20581392

  3. 童燕群
    评论于 十二月 23, 2014 at 12:15:08 CST | 评论链接

    允许文件脱机使用也只是在第二次读取的时候流畅一些,首次播放新的视频文件仍然卡顿。看来还是需要服务端做预读缓存,另外各网络设备和网线将速度限制在10M/s,也是问题。家用全高清还有一段距离。

  4. 评论于 十二月 23, 2014 at 09:58:29 CST | 评论链接

    博主这个还缺很多功能,而且windows做NAS想想也是醉了。
    可以看看这个:http://www.dozer.cc/2014/05/raspberry-pi-nas/

    • 童燕群
      评论于 十二月 23, 2014 at 12:38:17 CST | 评论链接

      我这里只是想解决多设备播放一个台式机的多媒体文件的问题。拿一个win8.1做NAS,电费都交不起 :) 你给的方案要专业很多。

  5. 评论于 十二月 21, 2014 at 20:52:43 CST | 评论链接

    用Arch挂samba做NAS的路过。。。

    • 评论于 十二月 22, 2014 at 16:43:39 CST | 评论链接

      程序员能用自己所学解决生活中的实际问题,感觉非常不错!

评论

邮箱地址不会被泄露, 标记为 * 的项目必填。

8 - 2 = *



You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <img alt="" src="" class=""> <pre class=""> <q cite=""> <s> <strike> <strong>

返回顶部