碼流大小(單位:kb/s;即:比特率÷8)×3600(單位:秒;1小時的秒數)×24(單位:小時;一天的時間長)×30(保存天數)×50(監控點要保存攝像機錄像總數)÷0.9(磁盤格式化的損失10%空間)=所需的存儲的大小
version.1
1 #! /usr/bin/env python
2 # -*- coding:utf-8 -*-
3 '''
4 3600 一小時有3600秒;0.9 磁盤格式化的損失10%空間;
5 bit 碼流; hour 小時;day 天數;capacity 容量;cc 容量單位;line 圖像路數;
6 bit / 8 * 3600 * hour * day / 0.9 = capacity
7 '''
8
9 print("歡迎使用視頻\'存儲容量\'和\'存儲天數\'計算工具")
10 while True:
11 cla = input("計算存儲容量輸入1,計算存儲天數輸入2:\n")
12 if cla == '1':
13 bit = int(input("請輸入碼流(kb/s):"))
14 hour = int(input("請輸入每天錄像多少小時(H):"))
15 day = int(input("請輸入錄像天數(d):"))
16 line = int(input("請輸入圖像路數:"))
17 capacity = bit / 8 * 3600 * hour * day * line/ 0.9
18 cc = int(input("判斷所需容量單位【TB輸入1;GB輸入2;MB輸入3;KB輸入4】:\n"))
19 if cc == 1:
20 capacityT = capacity / (1024 * 1024 * 1024)
21 print("需要%sTB的硬盤" % capacityT)
22 elif cc == 2:
23 capacityG = capacity / (1024 * 1024)
24 print("需要%sGB的硬盤" % capacityG)
25 elif cc == 3:
26 capacityM = capacity / 1024
27 print("需要%sMB的硬盤" % capacityM)
28 elif cc == 4:
29 print("需要%sKB的硬盤" % capacity)
30
31 elif cla == '2':
32 bit = int(input("請輸入碼流(kb/s):"))
33 hour = int(input("請輸入每天錄像多少小時(H):"))
34 line = int(input("請輸入圖像路數:"))
35 cc = input('請輸入容量,例如10T/100G/1000M:')
36 if cc[-1] in ['T']:
37 capacity = float(cc[0:-1]) * 1024 * 1024 * 1024
38 elif cc[-1] in ['G']:
39 capacity = float(cc[0:-1]) * 1024 * 1024
40 elif cc[-1] in ['M']:
41 capacity = float(cc[0:-1]) * 1024
42 day = capacity / (bit / 8 * 3600 * hour * line / 0.9)
43 print("%s硬盤能存%d天視頻" % (cc,day))
44 else:
45 print('輸入錯誤,請重新輸入!')