GuanYixuan / pyJianYingDraft

轻量、灵活、易上手的Python剪映草稿生成及导出工具,构建全自动化视频剪辑/混剪流水线
162 stars 43 forks source link

希望支持文本特效 #13

Closed chi1st closed 2 weeks ago

chi1st commented 4 weeks ago

像视频特效一样,我看到都是通过设置轨道上的动画来实现的,希望文本也支持动画的设置

GuanYixuan commented 4 weeks ago

这里说的是文本的出入场以及循环动画对吗(抱歉在文档里生造了“文本特效”这个词)。看了一下这个功能确实跟视频片段的动画很相似,是可以列入开发列表进行支持的

chi1st commented 4 weeks ago

这里说的是文本的出入场以及循环动画对吗(抱歉在文档里生造了“文本特效”这个词)。看了一下这个功能确实跟视频片段的动画很相似,是可以列入开发列表进行支持的

是的,谢谢大佬的付出。

实际上我想要的功能是:1、文本的出入场以及循环动画。2、文本能够保持原占用空间的前提下自动换行。 其实就是文字模板功能,但是我不知道文字模板好不好实现,因为这部分资源变动比较大,如果能实现最好

GuanYixuan commented 4 weeks ago

文字模板确实比较复杂,而且还有issue #11 里面提到的两个问题。不过文字模板这件事也可以考虑用“模板模式+文本替换”的思路来部分解决(尽管现在文本替换还不支持换模板内的文本)

chi1st commented 4 weeks ago

文字模板确实比较复杂,而且还有issue #11 里面提到的两个问题。不过文字模板这件事也可以考虑用“模板模式+文本替换”的思路来部分解决(尽管现在文本替换还不支持换模板内的文本)

我也考虑过“模板模式+文本替换“,但是看模板比较固定,不知道能不能实现我要实现的功能: 我需要用多张不固定数量的图片生成视频,同时在每个图片播放的时候,文本也进行一次动画播放

GuanYixuan commented 4 weeks ago

嗯,现在的模板模式确实还没有这么灵活(特别是不定数量的文本)

chi1st commented 4 weeks ago

嗯,现在的模板模式确实还没有这么灵活(特别是不定数量的文本)

如果一个模板是两个轨道:图片轨道和文本轨道(轨道已经编辑好特效出入动画等),可否在替换图片和文字的时候往后无限追加,如果可以的话也能达到我的目的~

GuanYixuan commented 4 weeks ago

感觉这个功能是不是也可以抽象成“复制模板中的片段”(然后复制完之后再另行作替换)

chi1st commented 4 weeks ago

感觉这个功能是不是也可以抽象成“复制模板中的片段”(然后复制完之后再另行作替换)

是的,目前好像没看到这个功能,非常感觉大佬的解答和项目的贡献,我再研究研究

GuanYixuan commented 4 weeks ago

没事,这里上面提到的"文本动画","文本模板","模板模式+文本模板","复制模板中的片段"都是尚未实现的功能,所以下一步可能还是先实现一下比较简单的文本动画功能

chi1st commented 4 weeks ago

没事,这里上面提到的"文本动画","文本模板","模板模式+文本模板","复制模板中的片段"都是尚未实现的功能,所以下一步可能还是先实现一下比较简单的文本动画功能

期待,目前纯代码生成的视频,在特效方面和剪映比难实现很多,而自动化点击类的软件去操控剪映出错的概率很大,本项目能在两者中得到平衡,非常好!

GuanYixuan commented 2 weeks ago

为文本片段添加动画(Text_segment.add_animation方法)现已实现,可参阅readme中“添加片段动画”一节进行使用,若遇到问题欢迎反馈

chi1st commented 2 weeks ago

为文本片段添加动画(Text_segment.add_animation方法)现已实现,可参阅readme中“添加片段动画”一节进行使用,若遇到问题欢迎反馈

非常感谢您的付出,昨天已经试着使用了,我注意到文本动画有个默认的时间DEFAULT_DURATION为0.5S,我需要能够调整这个时间,我目前是改写了Text_segment.add_animation方法将DEFAULT_DURATION作为参数

GuanYixuan commented 2 weeks ago

对的,这个DEFAULT_DURATION是观察到剪映里的文本出入场动画默认长度为0.5秒而设的,不过确实也可以把动画时长做成一个参数,这样比较灵活一些

chi1st commented 2 weeks ago

对的,这个DEFAULT_DURATION是观察到剪映里的文本出入场动画默认长度为0.5秒而设的,不过确实也可以把动画时长做成一个参数,这样比较灵活一些

目前还有个问题:一个轨道如何放置多张图片? 假如我有多张图片要在一个背景视频里按一定时间去轮播,我发现在一个轨道设置不重合的开始播放时间会报错,目前我只能把一个图片设置为一个轨道来实现,但是这样看起来轨道太多了

GuanYixuan commented 2 weeks ago

一个轨道放置多个不重合片段应该是很早就支持的。这里遇到的具体报错信息是什么呢,另外也可以贴一下大致的代码方便查找问题

chi1st commented 2 weeks ago

一个轨道放置多个不重合片段应该是很早就支持的。这里遇到的具体报错信息是什么呢,另外也可以贴一下大致的代码方便查找问题

抱歉,是我之前的用法错了,目前试了一下是没问题的