需求场景(纯熟虚构):

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 客户端终于完工了..晒晒截图 wpf 客户端[JDAgent桌面助手]开发详解-开篇 wpf 客户端[JDAgent桌面助手]详解(一)主窗口 圆形菜单... wpf 客 ...

  2. Angular 安装

    1.angular安装 npm  install -g angular 2. 显示angular安装路径 npm config ls 3. angular 双向绑定 <!DOCTYPE html ...

  3. windows 如何查看端口占用进程ID 进程名称 强制结束进程

    1.查看指定端口的占用情况C:\>netstat -aon|findstr "9050" 协议    本地地址                     外部地址        ...

  4. 蓝桥杯 生命之树【树状dp】

    生命之树 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上, 都标了一个整数,代表这个点的和谐值. 上帝要在这棵树内选出一个非空节点集S, 使得对于S中的任意两个点a,b ...

  5. 积木城堡(dp)

    题目描述 XC的儿子小XC最喜欢玩的游戏用积木垒漂亮的城堡.城堡是用一些立方体的积木垒成的,城堡的每一层是一块积木.小XC是一个比他爸爸XC还聪明的孩子,他发现垒城堡的时候,如果下面的积木比上面的积木 ...

  6. pandas 的操作表单

    最近做点东西,发现pandas处理表单那点东西都忘得差不多了,又花了半个小时过了一遍 import pandas as pdimport numpy as np data = pd.ExcelFile ...

  7. java HttpClient 获取页面Cookie信息

    HttpClient client = new HttpClient(); GetMethod get=new GetMethod("http://www.baidu.com"); ...

  8. 运维基础工具tmux介绍及使用

    一.tmux是干什么的? 百度百科的解释很到位:tmux是指通过一个终端登录远程主机并运行后,在其中可以开启多个控制台的终端复用软件. 说白了就是复用软件,复用的什么软件呢? 你可以理解成复用shel ...

  9. ES6系列_3之变量的解构赋值

    ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 解构有三种类型: 1.数组的解构赋值 (1)简单的数组解构 以前,我们给变量赋值是直接单个指定值,比如: let a=0; ...

  10. Rhythmk 学习 Hibernate 07 - Hibernate annotation 实体注解

    参考: http://docs.jboss.org/hibernate/annotations/3.4/reference/zh_cn/html_single/ 1.系统配置: 可以通过使用  map ...