EasyDarwin不能保存HLS列表的解决方案

官网:

easydarwin.org

问题:

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:[email protected]"

可以写一个Bat,循环调用。

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

时间: 2024-10-12 18:40:48

EasyDarwin不能保存HLS列表的解决方案的相关文章

使用phonegap开发安卓HLS播放软件解决方案

目前使用phonegap开发的手机应用,很少涉及视频播放的功能,究其原因,主要是phonegap提供的API里面对视频播放功能支持度不够,当然播放音频一般情况下还是能够实现的,由于工作需要,自己研究了一下如何使用phonegap来开发视频播放软件,主要有以下几种思路: 解决方案1:使用HTML5中的Video标签来进行播放,这种方案实际上在phonegap中的表现和直接用安卓原生浏览器来测试时一样的,这个时候你会发现将一个放在服务器上的包含Video标签的页面使用安卓原生浏览器打开之后,对于HL

配置SSL证书之后,Bitnami Redmine创建问题时保存报错问题解决方案

问题:系统环境在安装了ssl证书之后,页面链接会用于加密HTTP协议,也就是HTTPS.那么在使用Bitnami Redmine创建问题时保存就会报错,当把URL中的"http"改成"https"之后,又能正常访问,但是很麻烦,有没有什么办法可以使得我不要每次都去修改http就能实现自动正常跳转的方法吗? 解决方案:这个问题是因为安装了SSL证书导致的,https请求会跳转成http请求,所以需要配置一下apache的配置文件即可. 步骤: 1.打开Bitnami

JS中用execCommand(&quot;SaveAs&quot;)保存页面兼容性问题解决方案

开发环境:ASP.NET MVC,其他环境仅供参考. 问题描述:在开发中遇到这样的需求,保存页面,通常使用JavaScript的saveAs进行保存,各浏览器对saveAs支持,见下表. 代码一:初始保存的代码,只有IE6,7,8支持. function CmdSave() { var OW = window.open('', "_blank", ""); var DD = new Date(); OW.document.open(); var content =

浏览器防止自动代填和回显已经保存的账号的解决方案

最近遇到客户出的难题,登录和密码框不要自动代填已经保存过的密码,本以为在输入框加个 <input type="text" name="login_name" value="" autocomplete="off" placeholder="请输入用户名"/> 就完事,没想到这个只能屏蔽历史输入,已保存的用户信息在火狐浏览器还是如此的倔强,如图所示: 还是要回显提示,已经存过的其他账号,网上溜达了

Android调用系统相机拍照保存照片很小解决方案

保存图片小的一般操作步骤: 1. 调用系统相机 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 1); 2. 保存照片 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {  // TODO Auto-generated method s

【javascript】js本地保存数据的一个解决方案:localStorage

'localStorage' : localData = {hname : location.hostname ? location.hostname+'/marchsoft/index.php/OA/' : 'localStatus',isLocalStorage : window.localStorage ? true : false,dataDom : null,initDom:function(){ //初始化userDataif(!this.dataDom){try{this.data

手机应用注册时,获取国际电话区号列表完美解决方案

一.首先下载Google的libphonenumber库,https://github.com/googlei18n/libphonenumber 通过库中的PhoneNumberUtil类的getSupportedRegions()获取所支持的所有国家和地区,再通过getCountryCodeForRegion()依次迭代出每个国家和地区对应的区号, 二.通过国家代码获取国家名称,下载https://github.com/umpirsky/country-list 里面有各种语言.各种格式的数

EasyDarwin开源流媒体服务器提供的TS切片/HLS直播打包库

EasyHLS EasyHLS是什么? EasyHLS是EasyDarwin开源流媒体社区开发的一款HLS打包库,接口非常简单,只需要传入打包的文件名.切片存放的目录.打包间隔以及切片数,EasyHLS库就能轻松将H264+AAC的流媒体切片,提供给WEB服务器进行HLS流媒体发布,我们提供了两套操作示例: EasyHLS_RTSP:以RTSPClient的形式,从RTSP URL将摄像机音视频获取到本地,进行HLS打包: EasyHLS_SDK:将SDK回调的数据进行HLS打包切片,示例中的S

基于EasyDarwin实现幼儿园监控类项目

移动互联网越来越普及,幼儿园监控类的项目也越来越多,如何能够以最低的成本.最快的速度搭建一套幼儿园监控类的平台成了许多开发者的需求,那么我们今天就来简单探讨一下如何基于EasyDarwin实现一套幼儿园监控.宝贝在线视频类的流媒体系统平台. 1.流媒体分发:幼儿园监控不同于我们传统意义上的家居监控,家居监控因为同时观看的终端数量有限,多采用p2p的形式,但幼儿园监控里面,同一个摄像机可能会被很多家长同时观看,所以多采用流媒体服务器转发的形式来做,那么就需要用到我们的EasyDarwin流媒体服务