官网:
easydarwin.org
安装过程
http://doc.easydarwin.org/EasyDarwin/README/
- 安装客户端,iVMS-4200 客户端,并运行。
- 在设备管理里,添加到已管理设备中。记下 IP,用户名,密码。能在主预览中进行预览。
- 编译: EasyDarwinWinNTSupportEasyDarwin.sln
- 修改 Debugeasydarwin.xml其中的
<MODULE NAME="QTSSAdminModule" >
<PREF NAME="http_port" TYPE="UInt16" >8088</PREF>
如果发现有 easydarwin.xml –d 这个文件,删之 。
如果没有“easydarwin.xml” 这个文件,则从上面Copy到 Debug文件夹中。
运行: EasyDarwinWinNTSupportDebugEasyDarwin.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:MyAppEasyDarwin-masterEasyDarwinWinNTSupportDebugMovies
4. 配置IIS 到D:MyAppEasyDarwin-masterEasyDarwinWinNTSupportDebugMoviesab_Saved
5. 如果发现有 easydarwin.xml –d 这个文件,删之 。
6. 运行 D:MyApp中小微EasyDarwinEasyDarwinWinNTSupportDebugexe.bat
7. 运行 D:MyAppHR2PowerSetNetAppExecApp Set_EasyDarwin_Hls.bat 添加 HLS 列表。
8. D:MyAppHR2PowerSetNetAppExecAppinDebug>ExecApp.exe -RecvTsMovie -PathName "D:MyAppEasyDarwin-masterEasyDarwinWinNTSupportDebugMoviesab"
问题:
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 ""; } } }
调用:
bindebugExecApp -HlsSave -Host "http://localhost:8088" -Name ab -Url "rtsp://admin:1qazxsw2@192.168.11.201"
可以写一个Bat,循环调用。