需求场景(纯熟虚构):

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. 关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  2. 【转】嵌入式Linux文件系统启动脚本及分析

    原文网址:http://www.linuxidc.com/Linux/2011-03/33728.htm 在内核初始化完成后,嵌入式linux 文件系统的启动过程主要包含以下几个步骤: 1. 执行/s ...

  3. Jquery中的has、find、filter方法区别

    find方法 find返回的是匹配结果集,作用于后代$(‘li’).find(‘.a’).css(‘background-color’, ‘red’);在li下面查找元素是否有class=a的元素,返 ...

  4. sql update set使用case when语句

    1. update TD_XXXsetdjyzmdm=null,djyzmsj=null,DLCS= case when DLCS is null then 1 else DLCS+1 end whe ...

  5. Jython:java调用python文件之第三方包路径问题

    本文转载自:http://blog.csdn.net/ztf312/article/details/51338060 本方法解决python代码的可移植性,不需要在新机器上配置python环境,只通过 ...

  6. innodb引擎对自增字段(auto_increment)的处理

    原文地址:https://dev.mysql.com/doc/refman/5.7/en/innodb-auto-increment-handling.html#innodb-auto-increme ...

  7. mysql-7事务管理

    1.事务的使用场景 mysql事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人愿,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数 ...

  8. IDEA试用期结束以后继续试用(全部失效就更新),IDEA 2018 LICENSE SERVER

    IDEA是一款收费的IDE,但是新用户可以免费试用一段时间,试用期结束可以购买,也可以通过填写License server address来继续使用. 打开IDEA以后,通过Help ----- Re ...

  9. Java之MD5加密

    一.Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321(R.Riv ...

  10. TensorFlow计算图,张量,会话基础知识

    import tensorflow as tf get_default_graph = "tensorflow_get_default_graph.png" # 当前默认的计算图 ...