EasyDarwin不能保存HLS列表的解决方案
官网:
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,循环调用。
![]() |
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2014-03-31 html , body , margin , overflow 之大乱战