ASS icon indicating copy to clipboard operation
ASS copied to clipboard

ass是否可以绑定canvas,而非video

Open god714 opened this issue 5 years ago • 3 comments

首先非常感谢你的工具,已star。

目前,我在video层渲染ass文件没有问题。 但如果想对一个canvas层,并且不存在对应video层进行渲染时失败,看源码是你把ass的listener和video的listener绑定了,是否有方法可以绕开这个限制。

具体场景:有若干个video片段,进行裁剪合并,轮流播放并逐帧渲染在一个canvas上,这个canvas看起来就和一个video一样了。然后在上面加ass字幕。

god714 avatar Sep 29 '18 08:09 god714

我之前没有想到什么场景是需要脱离 video 单独控制 ASS 时间轴的,所以要求 video 作为必填参数传进来,你现在说的这个可能确实有不少实际应用。

这个要支持的话,我目前设想的是用户传入一个「媒体源」,它提供与 video 差不多的能力,比如触发播放暂停跳转等事件,然后字幕渲染依然是在 container 里,由用户自行覆盖到媒体源实际展示的区域。

这个改动会比较大,需要把 video 绑定完全抽象出来。我可能要先找下有没有其他项目有类似的「媒体源」的概念,看下在具体场景下是怎么用的。

我国庆期间会尝试改下。

weizhenye avatar Sep 29 '18 14:09 weizhenye

Canvas感觉的确很有必要,因为比较复杂的ASS字幕会导致DOM操作非常频繁,这个性能影响是很恐怖的。 但是有一个比较大的问题,Canvas渲染文字的一直都是虚的,除非把字完全变成矢量图渲染,否则这方面没法优化,

pboymt avatar Aug 07 '19 11:08 pboymt

@god714 如果是单一视频canvas渲染,可能还行,但多个视频的话,要看你的ass字幕了,如果是多个视频对应单一字幕,那时间轴就无法控制

dylanZk1 avatar Aug 10 '23 13:08 dylanZk1