UNPKG

node-red-node-rdk-camera

Version:

搭配RDK硬件使用摄像头的Node-RED节点(Node-RED node for using camera on a RDK hardware)

236 lines (226 loc) 10.6 kB
<script type="text/x-red" data-template-name="rdk-camera takephoto"> <div class="form-row node-input-cameratype"> <label for="node-input-cameratype"><i class="fa"></i> <span data-i18n="rdk-camera.label.cameratype"></span></label> <select id="node-input-cameratype"> <option value="1" data-i18n="rdk-camera.options.usbtype"></option> <option value="0" data-i18n="rdk-camera.options.mipitype"></option> </select> </div> <div class="form-row node-input-filemode"> <label for="node-input-filemode"><i class="fa fa-file-image-o"></i> <span data-i18n="rdk-camera.label.filemode"></span></label> <select id="node-input-filemode"> <option value="2" data-i18n="rdk-camera.options.automode"></option> <option value="1" data-i18n="rdk-camera.options.custommode"></option> <!-- <option value="0" data-i18n="rdk-camera.options.bufferedmode"></option> --> </select> </div> <div id="filename" class="form-row node-input-filename"> <label for="node-input-filename"><i class="fa fa-tag"></i> <span data-i18n="rdk-camera.label.filename"></span></label> <input type="text" id="node-input-filename" data-i18n="[placeholder]rdk-camera.placeholder.filename"> </div> <div id="filedefpath" class="form-row node-input-filedefpath"> <label for="node-input-filedefpath"><i class="fa fa-folder"></i> <span data-i18n="rdk-camera.label.filedefpath"></span></label> <select id="node-input-filedefpath"> <option value="1" data-i18n="rdk-camera.options.yes"></option> <option value="0" data-i18n="rdk-camera.options.no"></option> </select> </div> <div id="filepath" class="form-row node-input-filepath"> <label for="node-input-filepath"><i class="fa fa-folder"></i> <span data-i18n="rdk-camera.label.filepath"></span></label> <input type="text" id="node-input-filepath" data-i18n="[placeholder]rdk-camera.placeholder.filepath"> </div> <div class="form-row node-input-resolution"> <label for="node-input-resolution"><i class="fa fa-camera"></i> <span data-i18n="rdk-camera.label.resolution"></span></label> <select id="node-input-resolution" value="2"> <option value="1">320x240</option> <option value="2">640x480</option> <option value="3">800x600</option> <option value="4">1024x768</option> <option value="5">1280x720</option> <option value="6">1640x922</option> <option value="7">1640x1232</option> <option value="8">1920x1080</option> </select> </div> <div class="form-row node-input-name"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="rdk-camera.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]rdk-camera.placeholder.name" style="width: 296px;"> </div> </script> <script type="text/javascript"> RED.nodes.registerType("rdk-camera takephoto",{ category: "RDK Camera", color: "#41CAF6", defaults: { cameratype: {value:"1", required: true}, filemode: {value:"2", required:true}, filename: {value:"", required:false}, filedefpath: {value:"1", required:true}, filepath: {value:"", required:false}, fileformat: {value:"jpeg", required:true}, resolution: {value:"2", required:true}, rotation : {value:"0", required:true}, fliph: {value:"0", required:true}, flipv: {value:"0", required:true}, brightness: {value:"50", required:true}, contrast: {value:"0", required:true}, sharpness: {value:"0", required:true}, quality: {value:"80", required:false}, imageeffect: {value:"none", required:true}, exposuremode: {value:"auto", required:true}, iso: {value:"0", required:true}, agcwait: {value:"1.0", required:false}, led: {value:"0", required:false}, awb: {value:"auto", required:false}, name: {value:""} }, inputs:1, outputs:1, icon: "camera.png", oneditprepare: function() { console.log('file def path: ', this.filedefpath) if(this.filedefpath === '1'){ $("#node-input-filedefpath").val('1') $("#filepath").hide(); } else{ $("#node-input-filedefpath").val('0') $("#filepath").show(); } $("#node-input-filemode").change(function() { var choose = $("#node-input-filemode").val(); console.log(choose); if (choose == "0") { console.log("Buffermode - yes"); $("#filename").hide(); $("#filedefpath").hide(); $("#filepath").hide(); $("#fileformat").hide(); } else if (choose == "2") { console.log("Generate - yes"); $("#filename").hide(); $("#filedefpath").show(); $("#filepath").hide(); $("#fileformat").hide(); } else { console.log("FileMode - yes"); $("#filename").show(); $("#filedefpath").show(); $("#filepath").hide(); $("#fileformat").show(); } }); $("#node-input-filedefpath").change(function() { var choose = $("#node-input-filedefpath").val(); console.log(choose); if (choose == "0") { console.log("FileDefPath - no"); $("#filepath").show(); } else { console.log("FileDefPath - yes"); $("#filepath").hide(); $("#node-input-filepath").val(""); } }); }, paletteLabel: function() { return this._('rdk-camera.names.takephoto'); }, label: function() { return (this.name || this._('rdk-camera.names.takephoto')) + (this.cameratype === "0" ? '(MIPI)' : '(USB)'); } }); </script> <script type="text/x-red" data-template-name="rdk-camera imagestream"> <div class="form-row node-input-cameratype"> <label for="node-input-cameratype"><i class="fa"></i> <span data-i18n="rdk-camera.label.cameratype"></span></label> <select id="node-input-cameratype"> <option value="1" data-i18n="rdk-camera.options.usbtype"></option> <option value="0" data-i18n="rdk-camera.options.mipitype"></option> </select> </div> <div class="form-row node-input-fps"> <label for="node-input-fps"><i class="fa fa-camera"></i> <span data-i18n="rdk-camera.label.fps"></span></label> <select id="node-input-fps" value="2"> <option value="1">1</option> <option value="2">1/2</option> <option value="3">1/3</option> <option value="4">1/6</option> <option value="5">1/15</option> <option value="6">1/30</option> </select> </div> <div class="form-row node-input-resolution"> <label for="node-input-resolution"><i class="fa fa-camera"></i> <span data-i18n="rdk-camera.label.resolution"></span></label> <select id="node-input-resolution" value="2"> <option value="1">320x240</option> <option value="2">640x480</option> <option value="3">800x600</option> <option value="4">1024x768</option> <option value="5">1280x720</option> <option value="6">1640x922</option> <option value="7">1640x1232</option> <option value="8">1920x1080</option> </select> </div> <div id="defport" class="form-row node-input-defport"> <label for="node-input-defport"><i class="fa fa-folder"></i> <span data-i18n="rdk-camera.label.defport"></span></label> <select id="node-input-defport"> <option value="1" data-i18n="rdk-camera.options.yes"></option> <option value="0" data-i18n="rdk-camera.options.no"></option> </select> </div> <div id="port" class="form-row node-input-port"> <label for="node-input-port"><i class="fa fa-tag"></i> <span data-i18n="rdk-camera.label.port"></span></label> <input type="text" id="node-input-port" data-i18n="[placeholder]rdk-camera.placeholder.port" style="width: 296px;"> </div> <div class="form-row node-input-name"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="rdk-camera.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]rdk-camera.placeholder.name" style="width: 296px;"> </div> </script> <script type="text/javascript"> RED.nodes.registerType("rdk-camera imagestream",{ category: "RDK Camera", color: "#41CAF6", defaults: { cameratype: {value:"1", required: true}, fps: {value:"4", required:true}, resolution: {value:"2", required:true}, defport: {value:"1", required:true}, port: {value:"10888", required:true}, name: {value:""}, }, inputs:1, outputs:1, icon: "video.png", oneditprepare: function() { if(this.defport === '1'){ $("#node-input-defport").val("1"); $("#node-input-port").val("10888"); $("#port").hide(); } else{ $("#node-input-defport").val("0"); $("#port").show(); } $("#node-input-defport").change(function() { var choose = $("#node-input-defport").val(); if (choose == "0") { console.log("defport - no"); $("#port").show(); } else { console.log("defport - yes"); $("#node-input-port").val("10888"); $("#port").hide(); } }); }, paletteLabel: function() { return this._('rdk-camera.names.imagestream'); }, label: function() { return (this.name || this._('rdk-camera.names.imagestream')) + (this.cameratype === "0" ? '(MIPI)' : '(USB)'); } }); </script>