需求场景(纯熟虚构):

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中的小电脑图标观看了

好了完了

安装文件下载:点这里

最后,
书东破有书:小撸仪情,大撸伤身,强路会飞烟灭

一位伟人说过:少撸点,早点找个媳妇才是正道。

与君共勉。

要完整代码的留Email,另外在发

XP+Android手机DIY家庭视频点播系统-历时3周全力打造吊丝的幸福生活的更多相关文章

  1. 在Android手机上安装linux系统

    在anroid手机中安装fedora系统.记住不只是教你安装fedora系统. 需要的备注与软件 1.一个已经root的Android手机,记住是root后的,root后的,root后的.(重要的事情 ...

  2. 在Android手机上学习socket程序

    我们都知道Android手机是基于Linux系统的,在没有Linux环境,但是想学习socket编程的同学可以在Android手机中试试,利用ndk编译可执行文件在Android手机中运行.不同于动态 ...

  3. Android手机QQ的UI自动化实践

    本文首发于果的博客园,原文链接:https://www.cnblogs.com/yuxiuyan/p/14992682.html, 转载请注明出处. UI自动化 我们为什么要搞UI自动化 可能很多同学 ...

  4. Android手机便携式wifi的使用及无线数据传输(主要针对XP系统)

    适用条件: 1.可以上网的安卓系统2.2以上的智能手机,或有便携式wifi功能的安卓智能手机 2.有无线网卡的笔记本电脑或台式机(特别是XP系统) 测试手机:中兴U930 电脑:华硕K50系列笔记本 ...

  5. 实现android手机来电拦截系统页面弹出自定义页面特效

    如何实现android手机来电拦截系统页面弹出自定义页面特效, 首先:    我们需要注册一个监听来电的广播PhoneStateReceiver 类:其次:    在onReceive里面我们获取an ...

  6. (转载)Mac系统下利用ADB命令连接android手机并进行文件操作

    Mac系统下利用ADB命令连接android手机并进行文件操作 标签: Mac adb android 2016-03-14 10:09 5470人阅读 评论(1) 收藏 举报  分类: Androi ...

  7. 搭建Android手机系统开发环境(转)

    Android作为近来表现十分强劲的手机操作系统,越来越受到开发人员的青睐,本篇文章将带领大家从零开始打造属于自己的开发环境. 一.JDK下载安装 JDK全称是Java Development Kit ...

  8. 移动H5页面,Android手机下,input获取焦点弹出系统虚拟键盘时,挡住input解决方法

    最近在写移动端页面的时候,遇到一个问题,在Android手机下,虚拟键盘会将input框遮挡住,具体情况如下图所示: 正常页面显示  IOS端显示情况 Android端显示情况 解决方式: <t ...

  9. MAC下如何配置Android手机调试(将测试手机加入到Mac系统的调试列表中)

    第一步: 查看usb设备信息 在 终端输入:system_profiler SPUSBDataType     可以查看连接的usb设备的信息 比如我的usb信息如下(部分内容): 查看到我的Andr ...

随机推荐

  1. wpf 客户端【JDAgent桌面助手】开发详解(一)主窗口 圆形菜单

    目录区域: wpf 客户端[JDAgent桌面助手]业余开发的终于完工了..晒晒截图wpf 客户端[JDAgent桌面助手]开发详解-开篇 内容区域: 这里开始主窗口 圆形菜单制作的过程,首先请大家看 ...

  2. 初识安卓小程序(Android短信发送器)

    首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"短信发送器" 然后在res目录下找到layout目录,找到activity_main.xml或fragment_mai ...

  3. c# 爬虫(三) 文件上传

    在上一篇中,我们说了模拟登录, 下面我们说说附件上传. 据说,最早的http协议是不支持附件上传的,后来有添加了一个RFC 2045 协议,才支持附件上传,关于附件上传,请参见 http://www. ...

  4. 修改numa和io调度优化mysql性能

    一.NUMA设置单机单实例,建议关闭NUMA,关闭的方法有三种:1.硬件层,在BIOS中设置关闭:2.OS内核,启动时设置numa=off:3.可以用numactl命令将内存分配策略修改为interl ...

  5. Run-time Settings 运行时设置

    1.执行顺序设置和执行概率设置 2.迭代之间的等待时间设置 3.日志设置 4.思考时间 5.杂项 线程进程选择: 一般服务器没有安全机制选择线程执行 但是有安全机制的话 比如第一个进程50个线程 第二 ...

  6. Ubuntu下VIM使用指南

    基本命令: Esc:VIM中的万能功能键之一,基本上任何时候按这个键,都可以返回VIM的普通状态. i:在普通状态下按i可以进入“插入”编辑状态,这个时候按方向键移动光标,在想要输入的地方输入字符,用 ...

  7. Back to CNBLOG

    突然发现自己很久都没有写过博客了,感觉有点愧对程序员这个称号... 任重道远,要做的东西很多,越来发现,坚持是最难的,例如写博客. 但起码有有个开始,要有个开始去分享自己的经历,去让别人也知道,你是怎 ...

  8. urllib2异常处理(七)

    urllib2 的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误. 这里主要说的是U ...

  9. cmd变量,参数,for循环,

    @echo offrem  *****************************************************rem  Create By Q_rui CopryRight@_ ...

  10. spring quartz 配置及说明

    方式一,jobDetail的bean利用MethodInvokingJobDetailFactoryBean 工厂包装 : ()定义一个bean,执行具体的业务操作. <bean id=&quo ...