IC.Video - imonology/ImonCloud-Doc GitHub Wiki
此 API 支援以 rtsp 或 stdin 下載 video stream; IC.Video supports to download video stream from rtsp or stdin.
deleteChannel({id: }) -- 刪除一個 video channel
getChannel({id: , onDone: }) -- 取得 video channel
getStatus() -- 取得 IC.Video 狀態
setChannel({}) -- 新增/設定一個 video channel
setDiskFullAction() -- 設定磁碟屆滿動作
setNotify() -- 設定發生事件時的通知 callback function
stdinWrite() -- 對一個 video channel 寫入 stdin
stopAllStream() -- 停止所有的串流
stream.start() -- 啟動一個串流
stream.stop() -- 停止一個串流
record.start() -- 啟動一個錄影
record.stop() -- 停止一個錄影
---------------------------------------------------------------
新增/或設定一個新的 video channel
-
傳入(input)
-
{id: , in: , }
變數類型: Object
變數說明: id: channel id, in: [] 輸入來源, onDone:
-
-
傳出(callback)
-
onDone: function ({id, message})
變數類型: id: String, message: String
變數說明: 如果設定成功,則回傳 channel id ,其成功訊息;若不成功,則回傳錯誤,及錯誤訊息。
-
-
回傳(return)
-
return id;
變數類型: String
變數說明: channel id 。
-
---------------------------------------------------------------
傳回 IC.Video 的狀態。
-
傳入(input)
無
-
傳出(callback)
無
-
回傳(return)
-
{}
變數類型: Object
變數說明: 執行狀態
-
---------------------------------------------------------------
取得 video channel 的資料。
-
傳入(input)
-
{id: , onDone: }
變數類型: Object
變數說明: 若有填入 id, 則只回傳該特定 video channel 資料,若無,則回傳所有 video channel 資料。
-
-
傳出(callback)
-
onDone: function ({})
變數類型: Object
變數說明: 回傳 video channel 資料。
-
-
回傳(return)
-
return false;
變數類型: Boolean
變數說明: 若執行過程有誤,則回傳 false 。
-
---------------------------------------------------------------
-
傳入(input)
-
{id: }
變數類型: Object
變數說明: id: video channel id
-
-
傳出(callback)
無
-
回傳(return)
-
return true | false
變數類型: Boolean
變數說明: true: 刪除成功; false: 刪除失敗
-
---------------------------------------------------------------
將資料輸入給 IC.Video 利用 stdin 輸入給 ffmpeg.
-
傳入(input)
-
{id: , data: , encode: }
變數類型: Object
變數說明: id: video channel id; data: 資料本身; encode: 編碼方式,例如 'utf8' 或 'binary'.
-
-
傳出(callback)
無
-
回傳(return)
無
---------------------------------------------------------------
停止一切串流/錄影。
-
傳入(input)
無
-
傳出(callback)
無
-
回傳(return)
無
---------------------------------------------------------------
設定當 IC.Video 發生事件時,要觸發的 callback function.
-
傳入(input)
-
{onNotify: }
變數類型: Object
變數說明: onNotify 是一個 callback function, 當 IC.Video 發現錯誤事件時(例如磁碟快滿、串流錯誤),會觸發。
-
- 磁碟快滿時會觸發 onNotify({notify: 'diskInsufficient'})
- 影像串流失效時會觸發 onNotify({ notify: 'videoLoss', id: 'E66B5A99-3C9E-4490-840B-A429D6327C38' })
-
傳出(callback)
無
-
回傳(return)
-
return true | false ;
變數類型: Boolean
變數說明: 若設定成功則傳回 true; 失敗則傳回 false 。
-
---------------------------------------------------------------
設定磁碟存檔滿時,IC.Video 所對應的動作。
-
傳入(input)
-
{action: }
變數類型: Object
變數說明: action: 若為 "deleteOld" 表示磁碟滿時,讓 IC.Video 刪除舊存檔; 若為 "stopAll" 表示讓 IC.Video 停止所有錄影。
-
-
傳出(callback)
無
-
回傳(return)
-
return true | false
變數類型: Boolean
變數說明: 設定動作成功則回傳 true, 不成功則回傳 false 。
-
---------------------------------------------------------------
對一個 video channel 啟動串流
-
傳入(input)
-
{id:}
變數類型: Object
變數說明: id: video channel ID
-
-
傳出(callback)
無
-
回傳(return)
無
---------------------------------------------------------------
對一個 video channel 停止串流。
-
傳入(input)
-
{id:}
變數類型: Object
變數說明: id: video channel ID
-
-
傳出(callback)
無
-
回傳(return)
無
---------------------------------------------------------------
對一個 video channel 啟動錄影
-
傳入(input)
-
{id: , before: }
變數類型: Object
變數說明: id: video channel ID; before: 觸發停止錄影之前,還會另外預錄的秒數 (video channel 要已經處於串流狀態, 預錄影功能方能有效)
-
-
傳出(callback)
無
-
回傳(return)
無
---------------------------------------------------------------
對一個 video channel 停止錄影
-
傳入(input)
-
{id: , after: }
變數類型: Object
變數說明: id: video channel ID; after: 觸發停止錄影之後,還會繼續錄的秒數
-
-
傳出(callback)
無
-
回傳(return)
無
查詢已錄影片
-
傳入(input)
-
{id: , post_record: }
變數類型: Object
變數說明: id: video channel ID; post_record: 觸發停止錄影之後,還會繼續錄的秒數
-
-
傳出(callback)
無
-
回傳(return)
無
查詢已錄 最舊存檔
-
傳入(input)
無
-
傳出(callback)
無
-
回傳(return)
格式物件,範例如下:
{
"E66B5A99-3C9E-4490-840B-A429D6327C38": {
"oldestMtime": "2015-04-13T02:14:33.000Z",
"oldestFilename": "store/mp4/E66B5A99-3C9E-4490-840B-A429D6327C38/E66B5A99-3C9E-4490-840B-A429D6327C38_20150413-101406.mp4"
}
}
--------------------------------------------------------------- 實作未完成:
- post_record
- pre_record