绝对会敲打我的头,我想进行理智检查。主要是我想做的事情,甚至是可能的,因为我受到反应的严格限制,而反应是有着狡猾的斑点支撑。
我们都知道,视频编码很昂贵,因此,我不想将用户使用FFMPEG编码,而是要将整个过程委派给后端。一切都很好,除了有时您可能想修剪30次视频,并且上传3分钟以上是毫无意义的。
所以我有这样的想法将视频文件的斑点切片:
const startOffset = (startTime * blobSize) / duration;
const endOffset = (endTime * blobSize) / duration;
const slicedBlob = blob.slice(startOffset, endOffset);
// Setting the type as third option is ignored
类似的问题是,问题是该文件一旦到达后端就变得完全不可读。React Native无法处理Blob上传,因此它们在Base64中转换为64,这对于整个视频来说是完全可以的,但对于切片的斑点都不错。
即使我保持开始完整:
也是如此 const slicedBlob = blob.slice(0, endOffset);
我觉得原因是该文件变成了可能影响解码的应用程序/八位字节?
我在这里有点损失,因为我不明白这是斑点的反应本地问题,还是根本无法完成。
感谢您的任何输入。
P.S。我宁愿不使用外部库来坚持香草博览会,我知道存在一个可以处理斑点的人,但并不渴望弹出依靠外部库。
您不能简单地切割文件的块,而在另一侧可读。例如,在MP4中,视频分辨率仅存储在一个地方。如果这些字节被删除,则解码器不知道如何解码视频。
是的,可以通过重写容器并放下完整的GOP来重新包装视频客户端。但是,对于您来说,代码大约是1000行,并且仅限于某些编解码器和容器。