WebAV
WebAV copied to clipboard
WebAV is an SDK built on WebCodecs, designed for creating and editing video files on the web platform. WebAV 是基于 WebCodecs 构建的 SDK,用于在 Web 平台上创建/编辑视频文件。
关联的 issue:https://github.com/bilibili/WebAV/issues/129 尝试使用 OPFSToolFile 来分段解析 mp4 buffer 为 samples.
编码没看出来什么特殊的,但是就是不支持流媒体播放,具体点说就是在 video 标签内播放导出的视频时,video 会等待全部加载完才开始播放,我试了一下,和服务器、videoCodec、video、视频大小都没关系,请问遇到过这个问题吗?有没有办法解决呀 😭 原始视频 测试地址:[https://www.24mz.cn/webav/a.html](https://www.24mz.cn/webav/a.html)(可以看到是一边播放一边加载的) 导出的视频 测试地址:[https://www.24mz.cn/webav/b.html](https://www.24mz.cn/webav/b.html)(服务器带宽小,需要加载很久) 
在 v0.9 中使用 [`opfs-tools`](https://github.com/hughfenghen/opfs-tools) 将视频文件临时写入 opfs,大幅降低了内存占用。 但加载非 segment mp4 资源时,因为是顺序读取二进制,且 moov 通常在文件末尾; 所以解析阶段,仍会将整个视频文件加载到内存,解析完成会自动释放内存,导致大文件解析阶段内存短暂、大幅增加。 解析 非 segment mp4 应该避免顺序读取二进制,而是优先加载解析 moov box。
修复:针对sprite缩放时,如缩放后的尺寸小于最小限制,会出现x和y坐标点漂移的问题。  同时为Rect增加scaleFixedCenter属性控制缩放模式:值为 true 时,将固定中心点不变进行缩放;值为 false 时,将固定对角点不变进行缩放。 最终效果如下:  
有一些视频使用官方的demo都无法正确解析,也没有报错信息。比如这个:https://drive.google.com/file/d/1K0ZFkSi2pqqTE6H6TvKeAADn3ViGCwI4/view?usp=sharing 还有就是有信息,好像是正确找到视频宽高的 https://drive.google.com/file/d/1WpHI4_44UC4eSuBHTrj8mfBs9xgRpdcj/view?usp=sharing 大佬这是咋回事儿呀
- 解码时只处理moov相关的文件流 - 内存不存储帧数据 - isIDRFrame函数动态读取视频帧数据 - AudioFrameFinder.find动态读取帧数剧
如图,在实现音视频分割的功能时,同样的代码,mp4Clip的元信息如duration能够正确获取,而audipClip的元信息错误。 已经await过   
Uncaught (in promise) Error: InvalidStateError: An operation that depends on state cached in an interface object was made but the state had changed since it was read from disk. {"cbId":1,"evtType":"register","args":{"fileId":1,"filePath":"/.opfs-tools-temp-dir/7209079213278098-1725711590313","mode":"readwrite"}}...
我在外部组件有个图层预览,点击其中一个使其其手动触发on("activeSpriteChange"),而不是在画布上点击
期望编码出来的视频比较正常 没有无效矩阵信息 如果解码的时候处理了旋转信息但又没有容错机制就会出错(当然自己处理的写了的) 使用ffmpeg 也可以看到是 Side data: displaymatrix: rotation of nan degrees 解析出来是  在源码中找到 addTrack 发现设置的是 [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ]  尝试把...