提问人:pedrobroese 提问时间:7/2/2023 最后编辑:M.Kpedrobroese 更新时间:7/3/2023 访问量:61
使用流将客户端大型数据集保存到 Chrome Android 上的本地文件
Save client side large set of data to local file on Chrome Android with streams
问:
我有一个代码,可以反编译视频并生成新视频,所有这些都在客户端。由于视频很大,视频多路复用器的输出被定向到可写流,因此在生成数据时会消耗数据,以防止过多的内存使用。在适用于 Windows 的 chrome 上,我使用以下代码获取可写流:
fileHandle = await window.showSaveFilePicker({
startIn: 'videos',
suggestedName: 'newSession.webm',
types: [{
description: 'Video File',
accept: { 'video/webm': ['.webm'] },
}],
});
fileWritableStream = await fileHandle.createWritable();
然后,我只需将 ,这是 的实例提供给多路复用器:fileWritableStream
FileSystemWritableFileStream
muxer1 = new WebMMuxer({
target: fileWritableStream,
video: {
codec: 'V_VP9',
width: outputW,
height: outputH,
frameRate: FPS
},
audio: {
codec: 'A_OPUS',
numberOfChannels: 2,
sampleRate: 48000
}
});
上面的代码工作原理如下: 运行时,系统会提示用户将文件保存到本地磁盘。当他完成时,代码的其余部分开始将视频块写入流,并且这些块立即输出到文件中,从而防止新的视频块在内存中累积。fileHandle
现在来谈谈问题:在 Android 版 chrome 中,不支持 nor ,这意味着我无法提示用户输入保存文件的位置,因此,我无法实例化一个实例,然后我可以从中获取我需要的。那么,这种情况有解决方法吗?window.showSaveFilePicker()
window.showDirectoryPicker()
FileSystemFileHandle
FileSystemWritableFileStream
我试图实现的是获取 chrome for android 中的实例,其底层指向用户选择的文件夹。FileSystemWritableFileStream
FileSystemDirectoryHandle
答: 暂无答案
评论