Show pageOld revisionsBacklinksCopy this pageExport to PDFBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. CKG Edit ====== MDVR Storage Calculator ====== {{ :mdvr:pasted:mdvr_storage_calculator.zip |Download the calculator}} <html> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" style="width:300px;"> <title>N9M frame calculator</title> <style> body { font-size: 10pt; } table { border-right: 1px solid #9393FF; border-bottom: 1px solid #9393FF; max-width: 400px; } .title0 { padding: 4px; background: #E0E0E0; border-left: 1px solid #9393FF; border-top: 1px solid #9393FF; } .title1 { padding: 4px; border-left: 1px solid #9393FF; border-top: 1px solid #9393FF; } </style> <script type="text/javascript">/*<![CDATA[*/ window.onload = function () { bok.onclick = function () { ok(); }; }; function ok() { var frame = idframe.value; if (isNaN(frame)) { frame = 25; idframe.value = 25; } frame = parseInt(frame); if (frame < 1) { idframe.value = 1; frame = 1; } else if (frame > 25) { idframe.value = 25; frame = 25; } var channel = idchannel.value; if (isNaN(channel)) { channel = 4; idchannel.value = 4; } channel = parseInt(channel); if (channel < 1) { idchannel.value = 1; channel = 1; } else if (channel > 32) { idchannel.value = 32; channel = 32; } var size = idsize.options[idsize.selectedIndex].text; if (size.indexOf("T") >= 0) size = size.substring(0, size.length - 1) * 1000 * 1000; else size = size.substring(0, size.length - 1) * 1000; var framearg = 1; if (frame >= 1 && frame <= 5) framearg = 1.4; else if (frame >= 6 && frame <= 11) framearg = 1.3; else if (frame >= 12 && frame <= 17) framearg = 1.2; else if (frame >= 18 && frame <= 22) framearg = 1.1; for (var i = 0; i < 8; i++) { var colindex = document.getElementById("wd1_" + (i + 1)).cellIndex + 1; var frame25 = getRateFromFrame("wd1_" + (i + 1), colindex); document.getElementById("wd1_" + (i + 1)).innerText = (formatsize(frame * framearg * frame25 * 3600 * channel / (25 * 8))); document.getElementById("wd1t_" + (i + 1)).innerText = (formattime(size, frame * framearg * frame25 * channel * 3600 / (25 * 8))); var frame25 = getRateFromFrame("whd1_" + (i + 1), colindex); document.getElementById("whd1_" + (i + 1)).innerText = (formatsize(frame * framearg * frame25 * 3600 * channel / (25 * 8))); document.getElementById("whd1t_" + (i + 1)).innerText = (formattime(size, frame * framearg * frame25 * channel * 3600 / (25 * 8))); var frame25 = getRateFromFrame("wcif_" + (i + 1), colindex); document.getElementById("wcif_" + (i + 1)).innerText = (formatsize(frame * framearg * frame25 * 3600 * channel / (25 * 8))); document.getElementById("wcift_" + (i + 1)).innerText = (formattime(size, frame * framearg * frame25 * channel * 3600 / (25 * 8))); var frame25 = getRateFromFrame("d1_" + (i + 1), colindex); document.getElementById("d1_" + (i + 1)).innerText = (formatsize(frame * framearg * frame25 * 3600 * channel / (25 * 8))); document.getElementById("d1t_" + (i + 1)).innerText = (formattime(size, frame * framearg * frame25 * channel * 3600 / (25 * 8))); var frame25 = getRateFromFrame("hd1_" + (i + 1), colindex); document.getElementById("hd1_" + (i + 1)).innerText = (formatsize(frame * framearg * frame25 * 3600 * channel / (25 * 8))); document.getElementById("hd1t_" + (i + 1)).innerText = (formattime(size, frame * framearg * frame25 * channel * 3600 / (25 * 8))); var frame25 = getRateFromFrame("cif_" + (i + 1), colindex); document.getElementById("cif_" + (i + 1)).innerText = (formatsize(frame * framearg * frame25 * 3600 * channel / (25 * 8))); document.getElementById("cift_" + (i + 1)).innerText = (formattime(size, frame * framearg * frame25 * channel * 3600 / (25 * 8))); var frame25 = getRateFromFrame("qcif_" + (i + 1), colindex); document.getElementById("qcif_" + (i + 1)).innerText = (formatsize(frame * framearg * frame25 * 3600 * channel / (25 * 8))); document.getElementById("qcift_" + (i + 1)).innerText = (formattime(size, frame * framearg * frame25 * channel * 3600 / (25 * 8))); var frame25 = getRateFromFrame("p720_" + (i + 1), colindex); document.getElementById("p720_" + (i + 1)).innerText = (formatsize(frame * framearg * frame25 * 3600 * channel / (25 * 8))); document.getElementById("p720t_" + (i + 1)).innerText = (formattime(size, frame * framearg * frame25 * channel * 3600 / (25 * 8))); var frame25 = getRateFromFrame("p1080_" + (i + 1), colindex); document.getElementById("p1080_" + (i + 1)).innerText = (formatsize(frame * framearg * frame25 * 3600 * channel / (25 * 8))); document.getElementById("p1080t_" + (i + 1)).innerText = (formattime(size, frame * framearg * frame25 * channel * 3600 / (25 * 8))); }; }; function formattime(size, hsize) { hsize = hsize / 1024; var h = Math.round(size / hsize); var m = Math.round(60 * (size % hsize) / hsize); return (h + "Hours" + m + "Minutes"); }; function getRateFromFrame(td, colindex) { var tr = document.getElementById(td).parentElement.previousSibling; if (tr.tagName == null || tr.tagName != "TR") tr = tr.previousSibling; var result = tr.cells[colindex].innerText; var p = result.indexOf("*"); if (p >= 0) result = result.substr(0, p) * 1.3; else result = result * 1; return (result); }; function formatsize(v) { if (v < 1024) v = v + " KB"; else if (v < 1024 * 1024) v = Math.round(v / 1024) + " MB"; else if (v < 1024 * 1024 * 1024) v = Math.round(v * 1000 / 1024 / 1024) / 1000 + " GB"; else if (v < 1024 * 1024 * 1024 * 1024) v = Math.round(v * 1000000 / 1024 / 1024 / 1024) / 1000000 + " TB"; return (v); }; /*!]]>*/</script> </head> <body> <table cellspacing="0"> <tbody><tr> <td nowrap="" class="title0" colspan="10"> <div style="padding:4px;">Note: This webpage can be saved as a local HTML to run, no network environment is required.</div> </td> </tr> <tr> <td nowrap="" class="title0">Conditions</td> <td nowrap="" class="title0" colspan="8"> <style> .c{ display:inline; } </style> <div style="float:left;"> Frame:<input class="c" id="idframe" type="text" value="25", style="width:100px;"> Storage capacity: <select class="c" id="idsize", style="width:100px;"> <option>4G</option> <option>8G</option> <option>16G</option> <option>32G</option> <option>64G</option> <option>128G</option> <option>256G</option> <option>512G</option> <option>1T</option> <option>2T</option> <option>4T</option> </select> Channel:<input class="c" id="idchannel" type="text" value="4", style="width:100px;"> Default quality:Normal:3;Alarm:2; <font color="red">Used for N9M based device</font> </div> </td> <td nowrap="" class="title0"> <input id="bok" type="button" value="Calculate" style="width:100px;"> </td> </tr> <tr> <td nowrap="" class="title0">Resolution</td> <td nowrap="" class="title0">Quality</td> <td nowrap="" class="title0">1</td> <td nowrap="" class="title0">2</td> <td nowrap="" class="title0">3</td> <td nowrap="" class="title0">4</td> <td nowrap="" class="title0">5</td> <td nowrap="" class="title0">6</td> <td nowrap="" class="title0">7</td> <td nowrap="" class="title0">8</td> </tr> <tr> <td nowrap="" class="title0" rowspan="3">WD1<br>P:960*576<br>N:960*480</td> <td nowrap="" class="title0">Bit rate</td> <td nowrap="" class="title0">2048*1.3</td> <td nowrap="" class="title0">1536*1.3</td> <td nowrap="" class="title0">1280*1.3</td> <td nowrap="" class="title0">1024*1.3</td> <td nowrap="" class="title0">900*1.3</td> <td nowrap="" class="title0">800*1.3</td> <td nowrap="" class="title0">720*1.3</td> <td nowrap="" class="title0">640*1.3</td> </tr> <tr> <td nowrap="" class="title0">Data size(Per hour)</td> <td nowrap="" class="title1" id="wd1_1"> </td> <td nowrap="" class="title1" id="wd1_2"> </td> <td nowrap="" class="title1" id="wd1_3"> </td> <td nowrap="" class="title1" id="wd1_4"> </td> <td nowrap="" class="title1" id="wd1_5"> </td> <td nowrap="" class="title1" id="wd1_6"> </td> <td nowrap="" class="title1" id="wd1_7"> </td> <td nowrap="" class="title1" id="wd1_8"> </td> </tr> <tr> <td nowrap="" class="title0">Storage time</td> <td nowrap="" class="title1" id="wd1t_1"> </td> <td nowrap="" class="title1" id="wd1t_2"> </td> <td nowrap="" class="title1" id="wd1t_3"> </td> <td nowrap="" class="title1" id="wd1t_4"> </td> <td nowrap="" class="title1" id="wd1t_5"> </td> <td nowrap="" class="title1" id="wd1t_6"> </td> <td nowrap="" class="title1" id="wd1t_7"> </td> <td nowrap="" class="title1" id="wd1t_8"> </td> </tr> <tr> <td nowrap="" class="title0" rowspan="3">WHD1<br>P:960x288<br>N:960x240</td> <td nowrap="" class="title0">Bit rate</td> <td nowrap="" class="title0">1536*1.3</td> <td nowrap="" class="title0">1280*1.3</td> <td nowrap="" class="title0">1024*1.3</td> <td nowrap="" class="title0">768*1.3</td> <td nowrap="" class="title0">640*1.3</td> <td nowrap="" class="title0">560*1.3</td> <td nowrap="" class="title0">500*1.3</td> <td nowrap="" class="title0">450*1.3</td> </tr> <tr> <td nowrap="" class="title0">Data size(Per hour)</td> <td nowrap="" class="title1" id="whd1_1"> </td> <td nowrap="" class="title1" id="whd1_2"> </td> <td nowrap="" class="title1" id="whd1_3"> </td> <td nowrap="" class="title1" id="whd1_4"> </td> <td nowrap="" class="title1" id="whd1_5"> </td> <td nowrap="" class="title1" id="whd1_6"> </td> <td nowrap="" class="title1" id="whd1_7"> </td> <td nowrap="" class="title1" id="whd1_8"> </td> </tr> <tr> <td nowrap="" class="title0">Storage time</td> <td nowrap="" class="title1" id="whd1t_1"> </td> <td nowrap="" class="title1" id="whd1t_2"> </td> <td nowrap="" class="title1" id="whd1t_3"> </td> <td nowrap="" class="title1" id="whd1t_4"> </td> <td nowrap="" class="title1" id="whd1t_5"> </td> <td nowrap="" class="title1" id="whd1t_6"> </td> <td nowrap="" class="title1" id="whd1t_7"> </td> <td nowrap="" class="title1" id="whd1t_8"> </td> </tr> <tr> <td nowrap="" class="title0" rowspan="3">WCIF<br>P:480X288<br>N:480X240</td> <td nowrap="" class="title0">Bit rate</td> <td nowrap="" class="title0">1024*1.3</td> <td nowrap="" class="title0">768*1.3</td> <td nowrap="" class="title0">640*1.3</td> <td nowrap="" class="title0">512*1.3</td> <td nowrap="" class="title0">440*1.3</td> <td nowrap="" class="title0">350*1.3</td> <td nowrap="" class="title0">312*1.3</td> <td nowrap="" class="title0">280*1.3</td> </tr> <tr> <td nowrap="" class="title0">Data size(Per hour)</td> <td nowrap="" class="title1" id="wcif_1"> </td> <td nowrap="" class="title1" id="wcif_2"> </td> <td nowrap="" class="title1" id="wcif_3"> </td> <td nowrap="" class="title1" id="wcif_4"> </td> <td nowrap="" class="title1" id="wcif_5"> </td> <td nowrap="" class="title1" id="wcif_6"> </td> <td nowrap="" class="title1" id="wcif_7"> </td> <td nowrap="" class="title1" id="wcif_8"> </td> </tr> <tr> <td nowrap="" class="title0">Storage time</td> <td nowrap="" class="title1" id="wcift_1"> </td> <td nowrap="" class="title1" id="wcift_2"> </td> <td nowrap="" class="title1" id="wcift_3"> </td> <td nowrap="" class="title1" id="wcift_4"> </td> <td nowrap="" class="title1" id="wcift_5"> </td> <td nowrap="" class="title1" id="wcift_6"> </td> <td nowrap="" class="title1" id="wcift_7"> </td> <td nowrap="" class="title1" id="wcift_8"> </td> </tr> <tr> <td nowrap="" class="title0" rowspan="3">D1/VGA<br>P:704*576<br>N:704*480</td> <td nowrap="" class="title0">Bit rate</td> <td nowrap="" class="title0">2048</td> <td nowrap="" class="title0">1536</td> <td nowrap="" class="title0">1280</td> <td nowrap="" class="title0">1024</td> <td nowrap="" class="title0">900</td> <td nowrap="" class="title0">800</td> <td nowrap="" class="title0">720</td> <td nowrap="" class="title0">640</td> </tr> <tr> <td nowrap="" class="title0">Data size(Per hour)</td> <td nowrap="" class="title1" id="d1_1"> </td> <td nowrap="" class="title1" id="d1_2"> </td> <td nowrap="" class="title1" id="d1_3"> </td> <td nowrap="" class="title1" id="d1_4"> </td> <td nowrap="" class="title1" id="d1_5"> </td> <td nowrap="" class="title1" id="d1_6"> </td> <td nowrap="" class="title1" id="d1_7"> </td> <td nowrap="" class="title1" id="d1_8"> </td> </tr> <tr> <td nowrap="" class="title0">Storage time</td> <td nowrap="" class="title1" id="d1t_1"> </td> <td nowrap="" class="title1" id="d1t_2"> </td> <td nowrap="" class="title1" id="d1t_3"> </td> <td nowrap="" class="title1" id="d1t_4"> </td> <td nowrap="" class="title1" id="d1t_5"> </td> <td nowrap="" class="title1" id="d1t_6"> </td> <td nowrap="" class="title1" id="d1t_7"> </td> <td nowrap="" class="title1" id="d1t_8"> </td> </tr> <tr> <td nowrap="" class="title0" rowspan="3">HD1<br>P:704*288<br>N:704*240</td> <td nowrap="" class="title0">Bit rate</td> <td nowrap="" class="title0">1536</td> <td nowrap="" class="title0">1280</td> <td nowrap="" class="title0">1024</td> <td nowrap="" class="title0">768</td> <td nowrap="" class="title0">640</td> <td nowrap="" class="title0">560</td> <td nowrap="" class="title0">500</td> <td nowrap="" class="title0">450</td> </tr> <tr> <td nowrap="" class="title0">Data size(Per hour)</td> <td nowrap="" class="title1" id="hd1_1"> </td> <td nowrap="" class="title1" id="hd1_2"> </td> <td nowrap="" class="title1" id="hd1_3"> </td> <td nowrap="" class="title1" id="hd1_4"> </td> <td nowrap="" class="title1" id="hd1_5"> </td> <td nowrap="" class="title1" id="hd1_6"> </td> <td nowrap="" class="title1" id="hd1_7"> </td> <td nowrap="" class="title1" id="hd1_8"> </td> </tr> <tr> <td nowrap="" class="title0">Storage time</td> <td nowrap="" class="title1" id="hd1t_1"> </td> <td nowrap="" class="title1" id="hd1t_2"> </td> <td nowrap="" class="title1" id="hd1t_3"> </td> <td nowrap="" class="title1" id="hd1t_4"> </td> <td nowrap="" class="title1" id="hd1t_5"> </td> <td nowrap="" class="title1" id="hd1t_6"> </td> <td nowrap="" class="title1" id="hd1t_7"> </td> <td nowrap="" class="title1" id="hd1t_8"> </td> </tr> <tr> <td nowrap="" class="title0" rowspan="3">CIF<br>P:352*288<br>N:352*240</td> <td nowrap="" class="title0">Bit rate</td> <td nowrap="" class="title0">1024</td> <td nowrap="" class="title0">768</td> <td nowrap="" class="title0">640</td> <td nowrap="" class="title0">512</td> <td nowrap="" class="title0">440</td> <td nowrap="" class="title0">350</td> <td nowrap="" class="title0">312</td> <td nowrap="" class="title0">280</td> </tr> <tr> <td nowrap="" class="title0">Data size(Per hour)</td> <td nowrap="" class="title1" id="cif_1"> </td> <td nowrap="" class="title1" id="cif_2"> </td> <td nowrap="" class="title1" id="cif_3"> </td> <td nowrap="" class="title1" id="cif_4"> </td> <td nowrap="" class="title1" id="cif_5"> </td> <td nowrap="" class="title1" id="cif_6"> </td> <td nowrap="" class="title1" id="cif_7"> </td> <td nowrap="" class="title1" id="cif_8"> </td> </tr> <tr> <td nowrap="" class="title0">Storage time</td> <td nowrap="" class="title1" id="cift_1"> </td> <td nowrap="" class="title1" id="cift_2"> </td> <td nowrap="" class="title1" id="cift_3"> </td> <td nowrap="" class="title1" id="cift_4"> </td> <td nowrap="" class="title1" id="cift_5"> </td> <td nowrap="" class="title1" id="cift_6"> </td> <td nowrap="" class="title1" id="cift_7"> </td> <td nowrap="" class="title1" id="cift_8"> </td> </tr> <tr> <td nowrap="" class="title0" rowspan="3">QCIF/QVGA<br>P:176*144<br>N:160*120</td> <td nowrap="" class="title0">Bit rate</td> <td nowrap="" class="title0">512</td> <td nowrap="" class="title0">448</td> <td nowrap="" class="title0">416</td> <td nowrap="" class="title0">384</td> <td nowrap="" class="title0">352</td> <td nowrap="" class="title0">320</td> <td nowrap="" class="title0">288</td> <td nowrap="" class="title0">256</td> </tr> <tr> <td nowrap="" class="title0">Data size(Per hour)</td> <td nowrap="" class="title1" id="qcif_1"> </td> <td nowrap="" class="title1" id="qcif_2"> </td> <td nowrap="" class="title1" id="qcif_3"> </td> <td nowrap="" class="title1" id="qcif_4"> </td> <td nowrap="" class="title1" id="qcif_5"> </td> <td nowrap="" class="title1" id="qcif_6"> </td> <td nowrap="" class="title1" id="qcif_7"> </td> <td nowrap="" class="title1" id="qcif_8"> </td> </tr> <tr> <td nowrap="" class="title0">Storage time</td> <td nowrap="" class="title1" id="qcift_1"> </td> <td nowrap="" class="title1" id="qcift_2"> </td> <td nowrap="" class="title1" id="qcift_3"> </td> <td nowrap="" class="title1" id="qcift_4"> </td> <td nowrap="" class="title1" id="qcift_5"> </td> <td nowrap="" class="title1" id="qcift_6"> </td> <td nowrap="" class="title1" id="qcift_7"> </td> <td nowrap="" class="title1" id="qcift_8"> </td> </tr> <tr> <td nowrap="" class="title0" rowspan="3">720P<br>1280*720</td> <td nowrap="" class="title0">Bit rate</td> <td nowrap="" class="title0">6144</td> <td nowrap="" class="title0">4800</td> <td nowrap="" class="title0">4128</td> <td nowrap="" class="title0">3456</td> <td nowrap="" class="title0">2784</td> <td nowrap="" class="title0">2112</td> <td nowrap="" class="title0">1440</td> <td nowrap="" class="title0">768</td> </tr> <tr> <td nowrap="" class="title0">Data size(Per hour)</td> <td nowrap="" class="title1" id="p720_1"> </td> <td nowrap="" class="title1" id="p720_2"> </td> <td nowrap="" class="title1" id="p720_3"> </td> <td nowrap="" class="title1" id="p720_4"> </td> <td nowrap="" class="title1" id="p720_5"> </td> <td nowrap="" class="title1" id="p720_6"> </td> <td nowrap="" class="title1" id="p720_7"> </td> <td nowrap="" class="title1" id="p720_8"> </td> </tr> <tr> <td nowrap="" class="title0">Storage time</td> <td nowrap="" class="title1" id="p720t_1"> </td> <td nowrap="" class="title1" id="p720t_2"> </td> <td nowrap="" class="title1" id="p720t_3"> </td> <td nowrap="" class="title1" id="p720t_4"> </td> <td nowrap="" class="title1" id="p720t_5"> </td> <td nowrap="" class="title1" id="p720t_6"> </td> <td nowrap="" class="title1" id="p720t_7"> </td> <td nowrap="" class="title1" id="p720t_8"> </td> </tr> <tr> <td nowrap="" class="title0" rowspan="3">1080P<br>1920*1080</td> <td nowrap="" class="title0">Bit rate</td> <td nowrap="" class="title0">8192</td> <td nowrap="" class="title0">6390</td> <td nowrap="" class="title0">5496</td> <td nowrap="" class="title0">4602</td> <td nowrap="" class="title0">3708</td> <td nowrap="" class="title0">2814</td> <td nowrap="" class="title0">1920</td> <td nowrap="" class="title0">1024</td> </tr> <tr> <td nowrap="" class="title0">Data size(Per hour)</td> <td nowrap="" class="title1" id="p1080_1"> </td> <td nowrap="" class="title1" id="p1080_2"> </td> <td nowrap="" class="title1" id="p1080_3"> </td> <td nowrap="" class="title1" id="p1080_4"> </td> <td nowrap="" class="title1" id="p1080_5"> </td> <td nowrap="" class="title1" id="p1080_6"> </td> <td nowrap="" class="title1" id="p1080_7"> </td> <td nowrap="" class="title1" id="p1080_8"> </td> </tr> <tr> <td nowrap="" class="title0">Storage time</td> <td nowrap="" class="title1" id="p1080t_1"> </td> <td nowrap="" class="title1" id="p1080t_2"> </td> <td nowrap="" class="title1" id="p1080t_3"> </td> <td nowrap="" class="title1" id="p1080t_4"> </td> <td nowrap="" class="title1" id="p1080t_5"> </td> <td nowrap="" class="title1" id="p1080t_6"> </td> <td nowrap="" class="title1" id="p1080t_7"> </td> <td nowrap="" class="title1" id="p1080t_8"> </td> </tr> <tr> <td nowrap="" class="title0" colspan="10"> <div style="padding:4px;">1、960 Bit rate is 1.3 times the standard (D1 HD1 CIF).</div> <div style="padding:4px;">2、Bit rate calculation formula for frame extraction:</div> <div style="padding:4px;">PAL:Achieve Bit rate=Actual frame / 25 * Full frame Bit rate * Conversion factor (Conversion factor:Frame(1-5):1.4 Frame(6-11):1.3 Frame(12-17):1.2 Frame(18-22):1.1 Frame(23-25):1.0)</div> <div style="padding:4px;">NTSC:Achieve Bit rate=Actual frame Frame / 25 * Full frame Bit rate * Conversion factor (Conversion factor:Frame(1-6):1.4 Frame(7-14):1.3 Frame(15-21):1.2 Frame(22-27):1.1 Frame(28-30):1.0)</div> </td> </tr> </tbody> </table> </body> </html> public/mdvr/frame_calulator.txt Last modified: 2021/08/27 00:34by europe