2017-07-30 143 views
0

我使用MediaRecorder API來記錄用戶視頻。每個OnDataAvailable將webm塊添加到數組(這是純粹的客戶端解決方案)。Firefox內存管理

經過幾次長時間記錄的測試,我們發現firefox中的內存管理問題:Fierfox吃掉所有的內存,所有的塊都存儲在本地RAM中。 Chrome能夠在沒有任何性能問題的情況下錄製12-13小時,所有塊都存儲在「Chrome」下的臨時文件夾中的磁盤上。

如何解決Firefox上的這個問題? LocalStorage高達10mb是不夠的,服務器解決方案對我來說並不好。

回答

2

您可以將磁盤存儲在IndexedDB中,該磁盤支持磁盤。

+0

謝謝。我檢查IndexDB。看起來這個API沒有空間限制,但它會在第一個50MB之後請求用戶權限。它可以爲我showstopper,因爲這是屏幕錄製... –

+0

嗨8472。在IndexDB上存儲blob並通過'getAll'事務獲取它們。我怎麼玩這個斑點?如果我使用URL.createObjectURL(新的Blob([blobsFromIndexDB]))我仍然有我的老問題...是開始加載巨大的視頻blob到內存中。在弱機上2小時.webm文件導致火狐瀏覽器粉碎... –

+0

@OlegYudovich你只問過錄音。玩它將是一個單獨的問題 – the8472