gpt4 book ai didi

python - 在 Google App Engine 上存储之前压缩数据

转载 作者:太空宇宙 更新时间:2023-11-04 08:22:59 24 4
gpt4 key购买 nike

我正在尝试将 30 秒的用户 mp3 录音作为 Blob 存储在我的应用引擎数据存储中。但是,为了启用此功能(App Engine 每次上传有 1MB 的限制)并降低成本,我想在上传前压缩文件并在每次请求时解压缩文件。你会如何建议我完成这个(它可以通过任务队列在后台发生,但有效的解决方案总是好的)

根据我自己的测试和研究 - 我看到了两种可能的方法来实现这一点

  • Zlib

为此,我需要使用 While 循环一次压缩一定数量的 block 。但是,App Engine 不允许您写入文件系统。我考虑过使用临时文件来完成此操作,但是在尝试从临时文件中解压缩内容时,我对这种方法并不满意

  • 压缩包

从网络阅读来看,app engine url fetch 函数似乎请求已经 gzip 压缩的内容,然后将其解压缩。有没有办法阻止该函数解压缩内容,以便我可以将其以 gzip 格式放入数据存储中,然后在需要按需向用户播放时解压缩?

让我知道您会如何建议使用 zlib 或 gzip 或其他一些解决方案来解决这个问题。谢谢

最佳答案

“压缩之前 上传”意味着在用户的浏览器中执行此操作——但您的问题中没有文字说明这一点!这似乎与 在您的 GAE 应用程序中 中的压缩有关,当然数据只会在之后 上传。您可以使用 Firefox 扩展(或其他浏览器的等效项)来完成它,如果您可以开发这些扩展并说服您的用户安装它们,但这与 GAE 没有太大关系!-)更不用说了,正如@RageZ 的评论提到,MP3 本质上已经被压缩,所以几乎没有或没有任何好处(尽管也许你可以再次为用户使用浏览器扩展,降低 MP3 的比特率,从而降低文件的尺寸,这可能会影响音频质量,取决于您对这些音频文件的预期用途)。

因此,总的来说,我必须支持@jldupont 的建议(也在评论中)——使用不同的服务器来存储大文件(S3,Amazon 的产品,当然是一种可能性,但不是唯一的)。

关于python - 在 Google App Engine 上存储之前压缩数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1739543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com