【问题标题】:Firefox memory management火狐内存管理
【发布时间】:2017-07-30 08:47:16
【问题描述】:

我使用MediaRecorder API 来录制用户视频。每个OnDataAvailable将webm块添加到数组(这是纯客户端解决方案)。

经过几次长时间录制的测试,我们发现 Firefox 的内存管理存在问题:Fierfox 吃掉所有内存,所有块都本地存储在 RAM 中。 Chrome 可以录制 12-13 小时而不会出现任何性能问题,所有块都存储在磁盘上“Chrome”下的 temp 文件夹中。

如何在 Firefox 上解决这个问题? LocalStorage 最多 10mb 是不够的,服务器解决方案在我的情况下并不好。

【问题讨论】:

    标签: javascript firefox web-mediarecorder


    【解决方案1】:

    您可以将 blob 存储在磁盘支持的 IndexedDB 中。

    【讨论】:

    • 谢谢。我检查 IndexDB。看起来这个 API 没有空间限制,但它会在前 50MB 后询问用户权限。这对我来说可能是个大场面,因为这是屏幕录制...
    • 嗨 the8472。在 IndexDB 上存储 blob 并通过“getAll”事务获取它们之后。我怎样才能玩这个blob?如果我使用 URL.createObjectURL(new Blob([blobsFromIndexDB])) 我仍然有我的老问题......开始将巨大的视频 blob 加载到内存中。在弱机器上 2 小时 .webm 文件导致 Firefox 浏览器崩溃...
    • @OlegYudovich 你只问了关于录音的问题。播放它是一个单独的问题
    猜你喜欢
    • 1970-01-01
    • 2011-04-19
    • 2011-01-04
    • 2011-08-02
    • 2013-10-30
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多