WebAV icon indicating copy to clipboard operation
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 平台上创建/编辑视频文件。

Results 31 WebAV issues
Sort by recently updated
recently updated
newest added

关联的 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)(服务器带宽小,需要加载很久) ![QQ20240718-142410](https://github.com/user-attachments/assets/af9696f7-fa69-4c16-b2f3-7068f45907fb)

Feature

在 v0.9 中使用 [`opfs-tools`](https://github.com/hughfenghen/opfs-tools) 将视频文件临时写入 opfs,大幅降低了内存占用。 但加载非 segment mp4 资源时,因为是顺序读取二进制,且 moov 通常在文件末尾; 所以解析阶段,仍会将整个视频文件加载到内存,解析完成会自动释放内存,导致大文件解析阶段内存短暂、大幅增加。 解析 非 segment mp4 应该避免顺序读取二进制,而是优先加载解析 moov box。

修复:针对sprite缩放时,如缩放后的尺寸小于最小限制,会出现x和y坐标点漂移的问题。 ![bug_view](https://github.com/user-attachments/assets/765314f3-094d-4561-85e7-1ca56f7ca959) 同时为Rect增加scaleFixedCenter属性控制缩放模式:值为 true 时,将固定中心点不变进行缩放;值为 false 时,将固定对角点不变进行缩放。 最终效果如下: ![fixed1](https://github.com/user-attachments/assets/6ce37417-4ae3-4194-bdff-f61db5fc447a) ![fixed2](https://github.com/user-attachments/assets/e13a4381-2b88-48b5-bd71-6333c3017653)

有一些视频使用官方的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过 ![img_v3_02en_8cbc61fc-c2d0-4735-b597-c0ffcabc911g](https://github.com/user-attachments/assets/ba7d0cc2-4f5d-45e6-bcf6-c109d28e89ca) ![img_v3_02en_6cc33991-98a8-4ba0-85d1-0cf44465df2g](https://github.com/user-attachments/assets/077c0e09-53dd-407b-88b7-03668439725c) ![img_v3_02en_ec331133-2a56-4296-b0f2-52dc0f023c9g](https://github.com/user-attachments/assets/4992b8eb-3a9a-4822-a3b9-cc0d308f07bd)

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 解析出来是 ![image](https://github.com/user-attachments/assets/2c820e8d-dbb5-4585-8d20-60683098f5b1) 在源码中找到 addTrack 发现设置的是 [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ] ![image](https://github.com/user-attachments/assets/30d58a34-ba14-47d3-8853-f0d5c39fb15d) 尝试把...