diff --git a/lsp/minified.js b/lsp/minified.js index 7d7d7169..2258a3aa 100644 --- a/lsp/minified.js +++ b/lsp/minified.js @@ -156,14 +156,14 @@ mist.data.config.protocols[i];if(l.connector==k){if("port"in l)f[k]=l.port;break k+"?streamname="+(a==""?"STREAMNAME":a);break;case "RTSP":case "RTSP.exe":q="rtsp://"+b.host+k+"/"+(a==""?"STREAMNAME":a)+(e?"?pass="+e:"");break;case "TS":case "TS.exe":q="udp://"+(g==""?b.host:g)+k+"/"}P.find(".field."+i.replace(".exe","")).setval(q).closest("label").show()}}},Ta=$("
"),sa={},u=[],Ua=$("
");for(r in mist.data.capabilities.processes)u.push([r,mist.data.capabilities.processes[r].hrn?mist.data.capabilities.processes[r].hrn:mist.data.capabilities.processes[r].name]);if(u.length){var jb= [{label:"New process",type:"select",select:u,value:u[0][0],pointer:{main:sa,index:"process"},"function":function(){var a=$(this).getval();if(a!=null){var a=mist.data.capabilities.processes[a],b=[$("

").text(a.name+" Process options")];Ua.html(UI.buildUI(b.concat(mist.convertBuildOptions(a,sa))))}}},Ua];Ta.append(UI.buildUI([$("
"),$("

").text("Stream processes"),{label:"Stream processes",itemLabel:"stream process",type:"sublist",sublist:jb,saveas:sa,pointer:{main:p,index:"processes"}}]))}c.append(UI.buildUI([{label:"Stream name", type:"str",validate:["required","streamname"],pointer:{main:p,index:"name"},help:"Set the name this stream will be recognised by for players and/or stream pushing."},{label:"Source",type:"browse",filetypes:Qa,pointer:{main:p,index:"source"},help:"

Below is the explanation of the input methods for MistServer. Anything between brackets () will go to default settings if not specified.

File inputs
File Linux/MacOS: /PATH/FILE
Windows: /cygdrive/DRIVE/PATH/FILE
For file input please specify the proper path and file.
Supported inputs are: DTSC, FLV, MP3. MistServer Pro has TS, MP4, ISMV added as input.
Folder Linux/MacOS: /PATH/
Windows: /cygdrive/DRIVE/PATH/
A folder stream makes all the recognised files in the selected folder available as a stream.
 
Push inputs
RTMP push://(IP)(@PASSWORD) IP is white listed IP for pushing towards MistServer, if left empty all are white listed.
PASSWORD is the application under which to push to MistServer, if it doesn't match the stream will be rejected. PASSWORD is MistServer Pro only.
SRT push://(IP) IP is white listed IP for pushing towards MistServer, if left empty all are white listed.
RTSP push://(IP)(@PASSWORD) IP is white listed IP for pushing towards MistServer, if left empty all are white listed.
TS tsudp://(IP):PORT(/INTERFACE) IP is the IP address used to listen for this stream, multi-cast IP range is: 224.0.0.0 - 239.255.255.255. If IP is not set all addresses will listened to.
PORT is the port you reserve for this stream on the chosen IP.
INTERFACE is the interface used, if left all interfaces will be used.
 
Pull inputs
DTSC dtsc://MISTSERVER_IP:PORT/(STREAMNAME) MISTSERVER_IP is the IP of another MistServer to pull from.
PORT is the DTSC port of the other MistServer. (default is 4200)
STREAMNAME is the name of the target stream on the other MistServer. If left empty, the name of this stream will be used.
HLS http://URL/TO/STREAM.m3u8 The URL where the HLS stream is available to MistServer.
RTSP rtsp://(USER:PASSWORD@)IP(:PORT)(/path) USER:PASSWORD is the account used if authorization is required.
IP is the IP address used to pull this stream from.
PORT is the port used to connect through.
PATH is the path to be used to identify the correct stream.
", -"function":function(){var a=$(this).val();Sa.remove();P.html("");if(a!=""){var b=null,d;for(d in mist.data.capabilities.inputs)if(typeof mist.data.capabilities.inputs[d].source_match!="undefined"&&mist.inputMatch(mist.data.capabilities.inputs[d].source_match,a)){b=d;break}if(b===null)fa.html($("

").text("Unrecognized input").addClass("red")).append($("").text("Please edit the stream source.").addClass("red"));else{b=mist.data.capabilities.inputs[b];fa.html($("

").text(b.name+" Input options")); -var e=mist.convertBuildOptions(b,p);"always_match"in mist.data.capabilities.inputs[d]&&mist.inputMatch(mist.data.capabilities.inputs[d].always_match,a)&&e.push({label:"Always on",type:"checkbox",help:"Keep this input available at all times, even when there are no active viewers.",pointer:{main:p,index:"always_on"}});fa.append(UI.buildUI(e));if(b.name=="Folder")c.append(Sa);else if(["Buffer","Buffer.exe","TS","TS.exe"].indexOf(b.name)>-1){d=[$("
"),$("").text("Configure your source to push to:")]; -switch(b.name){case "Buffer":case "Buffer.exe":d.push({label:"RTMP full url",type:"span",clipboard:true,readonly:true,classes:["RTMP"],help:"Use this RTMP url if your client doesn't ask for a stream key"});d.push({label:"RTMP url",type:"span",clipboard:true,readonly:true,classes:["RTMPurl"],help:"Use this RTMP url if your client also asks for a stream key"});d.push({label:"RTMP stream key",type:"span",clipboard:true,readonly:true,classes:["RTMPkey"],help:"Use this key if your client asks for a stream key"}); -d.push({label:"SRT",type:"span",clipboard:true,readonly:true,classes:["TSSRT"]});d.push({label:"RTSP",type:"span",clipboard:true,readonly:true,classes:["RTSP"]});break;case "TS":case "TS.exe":a.charAt(0)=="/"?d=[]:d.push({label:"TS",type:"span",clipboard:true,readonly:true,classes:["TS"]})}P.html(UI.buildUI(d));ra()}}}}},{label:"Stop sessions",type:"checkbox",help:"When saving these stream settings, kill this stream's current connections.",pointer:{main:p,index:"stop_sessions"}},P,$("
"),{type:"custom", -custom:fa},Ta,{type:"buttons",buttons:[{type:"cancel",label:"Cancel","function":function(){UI.navto("Streams")}},{type:"save",label:"Save","function":function(){Ra("Streams")}},{type:"save",label:"Save and Preview","function":function(){Ra("Preview")},classes:["saveandpreview"]}]}]));c.find("[name=name]").keyup(function(){ra()});ra();break;case "Preview":""==b&&UI.navto("Streams");var Q=parseURL(mist.user.host),W=Q.protocol,T=Q.host,J=":8080",v=W+T+J+"/";for(r in mist.data.config.protocols)if(s=mist.data.config.protocols[r], -"HTTP"==s.connector||"HTTP.exe"==s.connector){s.pubaddr&&s.pubaddr.length?"string"==typeof s.pubaddr?v=s.pubaddr.replace(/\/$/,"")+"/":s.pubaddr.length&&(v=s.pubaddr[0].replace(/\/$/,"")+"/"):(J=s.port?":"+s.port:":8080",v=W+T+J+"/");break}var S=$("
").css({display:"flex","flex-flow":"row wrap","flex-shrink":1,"min-width":"auto"}),X="";-1==b.indexOf("+")&&(X=$("