# resolutions:
# AR (aspect ratio) mostly 16:9. For the Arena a square is needed, the rest will just be cropped.
precision=2
resolutions={
"HDready":720*480,      # 0.3MP
"fullHD":1080*1920,     # 2MP
# "fullHDplus":2160*1080, # 2.3MP
# "QHD":2560*1440,        # 3.7MP
# "square":1920*1920,     # 3.7MP
# "UHD":3840*2160,        # 8.3MP
# "5K":5120*2880,        # 14.7MP -> highest 2023
}

# HD-Ready    720p  1,5 mbps
# Full HD  1080p    4 mbps

def calc_bandwith(fps,res,bpp,dur_m):
   print(f"\n## {res[0]}")
   dur_s=dur_m*60
   bandwidth_mbit=fps*res[1]*bpp / (1000**2)
   bandwidth_gbit=bandwidth_mbit / 1000
   size_mb=bandwidth_mbit*dur_s/8
   size_gb=bandwidth_gbit*dur_s/8

   print(f"bandwidth_mbit: {round(bandwidth_mbit,precision)}")
   print(f"bandwidth_gbit: {round(bandwidth_gbit,precision)}")
   print(f"size_mb: {round(size_mb,precision)}")
   print(f"size_gb: {round(size_gb,precision)}")
   print("###############################")

   print(f"compressed maybe a tenth: {round(size_gb/10,precision)} gb")


fps=30
bpp=24 #bits. not bytes!
dur_m=1

for res in resolutions.items():
   calc_bandwith(fps,res,bpp,dur_m)