zoukankan      html  css  js  c++  java
  • EasyDarwin不能保存HLS列表的解决方案

    官网:

    easydarwin.org

    安装过程

    http://doc.easydarwin.org/EasyDarwin/README/

    1. 安装客户端,iVMS-4200 客户端,并运行。
    2. 在设备管理里,添加到已管理设备中。记下 IP,用户名,密码。能在主预览中进行预览。
    3. 编译: EasyDarwinWinNTSupportEasyDarwin.sln
    4. 修改 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

    1. 打开 http://localhost:8088/
    2. 增加 HLS 直播

    rtsp://admin:1qazxsw2@192.168.11.201

    1. 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,循环调用。

    程序下载地址:http://files.cnblogs.com/files/newsea/ExecApp.rar

  • 相关阅读:
    【LeetCode OJ】Remove Element
    【LeetCode OJ】Remove Duplicates from Sorted Array
    【LeetCode OJ】Swap Nodes in Pairs
    【LeetCode OJ】Merge Two Sorted Lists
    【LeetCode OJ】Remove Nth Node From End of List
    【LeetCode OJ】Two Sum
    【LeetCode OJ】Majority Element
    最长公共子序列问题
    php fopen与file_get_contents的区别
    PHP 技巧集合
  • 原文地址:https://www.cnblogs.com/newsea/p/5340626.html
Copyright © 2011-2022 走看看