码流大小(单位: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('输入错误,请重新输入!')