EasyDarwin不能保存HLS列表的解决方案
2016-03-31 11:58
351 查看
官网:
easydarwin.org安装过程
http://doc.easydarwin.org/EasyDarwin/README/安装客户端,iVMS-4200 客户端,并运行。
在设备管理里,添加到已管理设备中。记下 IP,用户名,密码。能在主预览中进行预览。
编译: EasyDarwin\WinNTSupport\EasyDarwin.sln
修改 Debug\easydarwin.xml其中的
<MODULE NAME="QTSSAdminModule" >
<PREF NAME="http_port" TYPE="UInt16" >8088</PREF>
如果发现有 easydarwin.xml –d 这个文件,删之 。
如果没有“easydarwin.xml” 这个文件,则从上面Copy到 Debug文件夹中。
运行: EasyDarwin\WinNTSupport\Debug\EasyDarwin.exe –d –c easydarwin.xml
打开 http://localhost:8088/
增加 HLS 直播
rtsp://admin:1qazxsw2@192.168.11.201
Play
可以使用 vlc player 来播放 HLS
部署
1. 路径不能不中文。2. 安装好摄像头
3. 配置IIS 到 D:\MyApp\EasyDarwin-master\EasyDarwin\WinNTSupport\Debug\Movies
4. 配置IIS 到D:\MyApp\EasyDarwin-master\EasyDarwin\WinNTSupport\Debug\Movies\ab_Saved
5. 如果发现有 easydarwin.xml –d 这个文件,删之 。
6. 运行 D:\MyApp\中小微\EasyDarwin\EasyDarwin\WinNTSupport\Debug\exe.bat
7. 运行 D:\MyApp\HR2\PowerSetNetApp\ExecApp\ Set_EasyDarwin_Hls.bat 添加 HLS 列表。
8. D:\MyApp\HR2\PowerSetNetApp\ExecApp\bin\Debug>ExecApp.exe -RecvTsMovie -PathName "D:\MyApp\EasyDarwin-master\EasyDarwin\WinNTSupport\Debug\Movies\ab"
问题:
Hls不能保存列表,解决方案已给出: http://www.pfeng.org/archives/857但是不太好用。作者给出了原理。自己写了一个
解决方案:
核心代码:
namespace ExecApp { /// <summary> /// 保存 EasyDarwin 的 HLS 中的列表 /// </summary> public class HlsSaveHandler : ICommandHandler { public string Host { get; set; } public string Name { get; set; } public string Url { get; set; } public HlsSaveHandler(CmdArgs args) { args.ToModel(this); } public string Do() { if (this.Name.HasValue() == false) { return "请提供 Name 参数"; } if (this.Url.HasValue() == false) { return "请提供 Url 参数"; } var ssid = ""; MyNet.HttpPost(this.Host + "/login.html", o => { o.Headers["Cookie"] = "language0=0"; o.ContentType = "application/x-www-form-urlencoded"; return "name=admin&password=admin"; }, o => { if (o.StatusCode != System.Net.HttpStatusCode.Redirect) return; ssid = o.Headers["Set-Cookie"].AsString().MySplit(';').First(); }); if (ssid.HasValue() == false) return "登录失败"; MyNet.HttpPost(this.Host + "/api/addHLSList", o => { o.ContentType = "Content-Type:application/x-www-form-urlencoded; charset=UTF-8"; o.Headers["Cookie"] = "language0=0; " + ssid; return string.Format(@"n1={0}&n2={1}&n3=0", this.Name, HttpUtility.UrlEncode(this.Url)); }); return ""; } } }
调用:
bin\debug\ExecApp -HlsSave -Host "http://localhost:8088" -Name ab -Url "rtsp://admin:1qazxsw2@192.168.11.201"可以写一个Bat,循环调用。
程序下载地址:http://files.cnblogs.com/files/newsea/ExecApp.rar
相关文章推荐
- 数据库的隔离级别 【转】
- 去掉导航栏的线
- 信号未决与阻塞(二)
- iOS开发--动画篇之layout动画深入
- Java Method的invoke简单理解
- TextView设置单个字体变化
- Java微信公众平台开发(九)——关键字回复以及客服接口实现(该公众号暂时无法提供服务解决方案)
- segementControl相关
- 集合(二)
- 二叉搜索树
- 解决CATextLayer绘制出来的字体模糊问题
- [Unity3d插件KGFMapSystem]非常不错的小地图的制作
- jQuery 的选择器
- 单元格点击效果,一闪就没了
- Java微信公众平台开发(八)——多媒体消息回复
- Backbone的model学习笔记一
- SpringMVC中的DispatcherServlet (及WebApplicationContext部分)
- EditeText的maxlength中文、字符长度限制
- 视频编解码学习之一:理论基础
- HMTL5的 video 在IOS7中碰到的坑