add m3u8 import capability to multimon
parent
bcbb6e8083
commit
8980a65805
|
@ -1,4 +1,17 @@
|
|||
$(document).ready(function(e){
|
||||
var getUrlPieces = function(url){
|
||||
var el = document.createElement('a');
|
||||
el.href = url
|
||||
return el
|
||||
// el.host // www.somedomain.com (includes port if there is one[1])
|
||||
// el.hostname // www.somedomain.com
|
||||
// el.hash // #top
|
||||
// el.href // http://www.somedomain.com/account/search?filter=a#top
|
||||
// el.pathname // /account/search
|
||||
// el.port // (port if there is one[1])
|
||||
// el.protocol // http:
|
||||
// el.search // ?filter=a
|
||||
}
|
||||
//multi monitor manager
|
||||
$.multimon={e:$('#multi_mon')};
|
||||
$.multimon.table=$.multimon.e.find('.tableData tbody');
|
||||
|
@ -67,7 +80,8 @@ $.multimon.e.find('.import_config').click(function(){
|
|||
console.log(newMon)
|
||||
return newMon
|
||||
}
|
||||
parsedData=JSON.parse($.confirm.e.find('textarea').val());
|
||||
var textFieldData = $.confirm.e.find('textarea').val()
|
||||
var parsedData = JSON.parse()
|
||||
//zoneminder one monitor
|
||||
if(parsedData.monitor){
|
||||
$.aM.import({
|
||||
|
@ -95,8 +109,44 @@ $.multimon.e.find('.import_config').click(function(){
|
|||
})
|
||||
}
|
||||
}catch(err){
|
||||
$.ccio.log(err)
|
||||
$.ccio.init('note',{title:lang['Invalid JSON'],text:lang.InvalidJSONText,type:'error'})
|
||||
//#EXTM3U
|
||||
if(textFieldData.indexOf('#EXTM3U') > -1 && textFieldData.indexOf('{"') === -1){
|
||||
var m3u8List = textFieldData.replace('#EXTM3U','').trim().split('\n')
|
||||
var parsedList = {}
|
||||
var currentName
|
||||
m3u8List.forEach(function(line){
|
||||
if(line.indexOf('#EXTINF:-1,') > -1){
|
||||
currentName = line.replace('#EXTINF:-1,','').trim()
|
||||
}else{
|
||||
parsedList[currentName] = line.trim()
|
||||
}
|
||||
})
|
||||
$.each(parsedList,function(name,url){
|
||||
var link = getUrlPieces(url)
|
||||
var newMon = $.aM.generateDefaultMonitorSettings()
|
||||
newMon.details = JSON.parse(newMon.details)
|
||||
newMon.details.stream_type = 'mp4'
|
||||
newMon.mid = 'HLS' + name.toLowerCase()
|
||||
newMon.name = name
|
||||
newMon.port = link.port
|
||||
newMon.host = link.hostname
|
||||
newMon.path = link.pathname
|
||||
newMon.details.tv_channel = '1'
|
||||
newMon.details.tv_channel_id = name
|
||||
newMon.details.auto_host_enable = '1'
|
||||
newMon.details.auto_host = url
|
||||
newMon.details.stream_quality = '1'
|
||||
newMon.details.stream_fps = ''
|
||||
newMon.details.stream_vcodec = 'copy'
|
||||
newMon.details.stream_acodec = 'aac'
|
||||
newMon.type = 'hls'
|
||||
newMon.details = JSON.stringify(newMon.details)
|
||||
postMonitor(newMon)
|
||||
})
|
||||
}else{
|
||||
$.ccio.log(err)
|
||||
$.ccio.init('note',{title:lang['Invalid JSON'],text:lang.InvalidJSONText,type:'error'})
|
||||
}
|
||||
}
|
||||
// });
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue