Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
god714 opened this issue Sep 29, 2018 · 4 comments
Open

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

god714 opened this issue Sep 29, 2018 · 4 comments

Comments

@god714
Copy link

god714 commented Sep 29, 2018

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

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

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

@weizhenye
Copy link
Owner

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

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

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

我国庆期间会尝试改下。

@pboymt
Copy link

pboymt commented Aug 7, 2019

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

@dylanZk1
Copy link

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

@Enzo1994
Copy link

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

说的好 但是感觉直接覆盖就行,用户应该是有预期的,覆盖之后让他能调整位置就行

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants