我正在使用react-native开发视频上传应用程序。用户可以通过应用程序相机录制视频。
有什么方法可以减少文件大小和/或上传时间以及在react-native或javascript中显示/加载时间吗?前端有没有办法解决这个问题?
最佳答案
是的,您可以优化文件大小并显示上传进度。 FFmpeg通常用于操作视频文件。借助 WebAssembly,您可以直接在应用程序内执行 FFMpeg 并操作视频文件。引用GitHub link 。 [您可能需要检查这是否适用于 React Native]
这个想法是读取从 MediaRecorder 收到的 blob(在 chrome 和 firefox 中可用,还有用于 React Native 的 npm 包)并将其传递到 FFMpeg WebAssembly 端口。稍后可以使用 Blob 对优化后的字节进行切片并将其发送到服务器(检查 JavaScript Blob 中的切片方法)。
推荐 虽然您可以直接在客户端应用程序中执行上述所有步骤,但最好在服务器中而不是在客户端应用程序中运行视频优化实用程序。使用 WebSocket 或 Ajax 请求定期将从 MediaRecorder 接收的数据流式传输到服务器的正确方法。
关于javascript - 在 React Native 中上传和加载视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54585844/