如果您尚未将音频或视频文件的大小保存在关系/非关系数据库中,则以下脚本将为您指明正确的方向,以便更好地估算应用程序的总存储和流媒体需求。

音乐流示例
编写一个脚本来遍历服务器上的文件可能是明智的选择,但是假设您只是想快速确定已经公开可用的文件的文件大小。 在此示例中,我将对Music Maker JAM的歌曲登录页面执行ping操作,以确定“ .m4a”文件的文件大小。

创建虚拟环境
$ ls
应用程序桌面下载电影图片
代码文件图书馆音乐公开
$ cd代码
代码$ mkdir m4aSizeCalc
代码$ cd m4aSizeCalc /
m4aSizeCalc $ virtualenv venv
/ Users / user / Code / m4aSizeCalc / venv / bin / python中的新python可执行文件
安装setuptools,pip,wheel ...完成。
m4aSizeCalc $ source venv / bin / activate
(venv)m4aSizeCalc $
安装依赖关系并执行
(venv)m4aSizeCalc $ pip安装请求
收集请求
....
....
成功安装certifi-2018.4.16 chardet-3.0.4 idna-2.7 requests-2.19.0 urllib3-1.23
(venv)m4aSizeCalc $ python
Python 2.7.10(默认,2017年10月6日,22:29:07)
达尔文[GCC 4.2.1兼容的Apple LLVM 9.0.0(clang-900.0.31)]
键入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。
>>>导入请求
>>>网址=“ https://mmj-live.s3-accelerate.amazonaws.com/assets/music_file/043e9b81-5045-11e8-babf-02fe9cf35e65.m4a”
>>> r = request.get(URL)
>>>打印len(r.content)
3887513
>>> exit()
太棒了! 长度约为4分钟的“ .m4a”文件大小为3887513字节。

但是,3887513字节到底有多大?

为了使阅读更容易,我们可以安装一个名为“ humanize”的软件包,并运行完全相同的请求,但需要进行一些小的调整:
(venv)m4aSizeCalc $ pip install人性化
收集人性化
....
....
成功安装humanize-0.5.1
(venv)m4aSizeCalc $ python
Python 2.7.10(默认,2017年10月6日,22:29:07)
达尔文[GCC 4.2.1兼容的Apple LLVM 9.0.0(clang-900.0.31)]
键入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。
>>>导入请求
>>>网址=“ https://mmj-live.s3-accelerate.amazonaws.com/assets/music_file/043e9b81-5045-11e8-babf-02fe9cf35e65.m4a”
>>> r = request.get(URL)
>>>打印(humanize.naturalsize(len(r.content)))
3.9兆字节
最后,如果我确定每个持续时间范围(1分钟,2分钟,3分钟,4分钟,5分钟)内有10首歌曲的样本大小,那么我可以粗略估算出在这些持续时间范围内给定的使用模式下存储和流式传输的数据传输需求。
对未来脚本的建议
- 从数据库/抓取中获取带有URL的输出文本文件(通过bsoup)
- 遍历文本文件以请求所有大小(同时)
- 以CSV格式输出每个文件的大小,或直接针对数据库记录输出
- 设置成本自动监控作为一种应对措施
参考文献:
- 通过http请求文件(此处)。
- pypi请求
- pypi人性化
- Whatsabyte.com