需求场景(纯熟虚构):
1. 哥电脑里有200G电影copy到手机上看没那么大空间,copy一部看一部删除一部,很是不方便也费时间。
2. 小林同学需求比较旺盛但是媳妇总有不方便的时候,家里有小孩,晚上只能拿着笔记本蹲厕所里撸,有几次差点把笔记本摔了。
3. 孙哥最近老抱怨做PC机前撸太累了,需要拿手几机躺床上整,但手机上有只能存一两部视频,而且每次撸,孙哥都要换个十来部,每部只拖到精彩的地方。
4. 小赵比较专一两年来只用同一视频的同一段内容,但是由于不想在手机里存放,每次看完回家前都要删除掉,希望能整个流媒体的方式不保存本地的。
针对以上各兄弟的需求哥不辞虚脱、苦心编写、尽精调试,终于打造出了"要你命3000",Live555MediaServer + VLC(Android版)的家庭在线点播系统。
主要架构与方法:
服务端采用Live555MediaServer(开源C++项目),一个.exe免安装程序,直接copy到视频文件存放目录中运行之并在防火墙中添加允许即可。
客户端采用VLC一个免费开源播放器,可以直接播放在线流媒体视频.
服务端使用.net编写的一个内嵌的http服务器组件(httpServer.dll),这个安装成Windows Service(ILive555.winServer),开机自动运行,接收VLC发出的http请求,返回视频目录下的文件列表(Json格式),并且确保Live555MediaServer.exe已经运行(没允许的话着通过Process方式启动),只要电脑开机的情况下手机请求播放列表就可以观看电脑目录里的视频文件了。
需要注意的事情是,Live555MediaServer不支持中文文件名(路径)所以需要将你的包含中文视频文名更名,这里提供一个GemMapFile.exe小程序(也是C#的),放到视频目录下运行后可以将目录下文件Rename,并且生成映射文件map.txt,里面记录了文件原来名称与当前名称的映射,你也可以手动编辑这个文件,ILive555.WinServer会使用这个文件,这样你VLC客户端视频列表里就可以显示中文名称了。
安装与使用:
1. 下载本文下面给出的服务端与客户端安装文件,并解压服务端文件(确保你电脑上安装了.net4.0框架)
2.1 服务端配置
准备两个目录,一个存放视频文件,并将Live555MediaServer.exe跟GenMapFile.exe 复制到这个目录下,
一个存放Windows服务文件,将其他文件Copy这个目录下,用notepad打开ILive555.WinServer.exe.config文件配置FilmDir未你存储放视频的目录
<appSettings>
<add key="FilmDir" value="E:\Xiaofei\Crack"/>
</appSettings>
运行WinServiceSetup.exe安装Windows服务
安装完后,在防火墙中添加对Ilive555.WinServer.exe或者是7272端口的放行,同时添加对Live555MediaServer.exe的放行.
添加完后可以看到ILive.555.WinServer已经启动了,并且确认防火墙中添加的文件路径是不是这个服务运行的文件路径
测试服务端是否准备好
浏览器中输入:http://你电脑Ip:7272 如果显示如下
并且资源管理器中可以看到,Live555MediaServer进程运行,至此服务端配置完成。
2.2视频的准备与重命名
使用格式工厂,将你视频转化成LiveMediaServer支持的格式
大概1小时能转化20个G,看你电脑配置了,完了你运行下GenMapFile.exe将视频文件重命名,并生成Map文件,这里需要注意的是
你要先关掉格式工厂跟结束掉LiveMediaServer.exe进程,不然无法重名文件,Map.txt文件如下
3.1客户端的安装配置
将vlc.apk搞到手机上点安装就好了,完了打开菜单点服务器地址,输入你电脑的IP,就可以点ActionBar中的小电脑图标观看了
好了完了