视频上的文本动画

我们正在尝试在视频上创建文字动画,如“过渡”和“缩放”。

我们无法获得平稳过渡,并且效果如此不平坦。 然后我们理解亚像素渲染在android中是不可能的。 我们可以想到什么替代方案? 我们可以在OpenGL中解决这个问题吗?

好的...我想添加更多我的问题....我们实际上是试图在本地播放器在表面视图上播放的视频顶部实施文字动画。 我们试图使用android Canvas API来实现文本动画的缩放,翻译等,并绘制文本。 这有效,但输出不那么光滑。 我们已经证实,它不是性能问题。 即使我们以30fps以上的速度刷新画面,也可以看到匆忙。

然后,我们尝试使用android Views来获取这些动画,并观察到硬件加速打开时动画非常流畅。 但即使android视图系统动画在硬件加速关闭时也无法提供高质量的动画效果。 这再次不是性能问题,因为我们试图将每个帧转储到位图中并检查PC上的每个帧。

所以,当硬件加速关闭时,似乎SKIA图形库用于在画布上绘图,不能进行亚像素渲染或类似的东西。 例如,当我运行一个慢速动画(大约6秒内的缩放比例约为0.15)时,缩放更新在3帧左右发生1像素。 但是,如果在硬件加速视图中运行相同的动画,则每个帧都会更新像素的一部分,并且缩放动画看起来非常平滑。

我可以确保在预览时使用视图动画。 但我需要获取这些动画缓冲区并将它们与视频一起编码。 获取这些缓冲区的任何输入,硬件加速开启将有所帮助。 我曾尝试绘制缓存,但似乎是使用软件渲染管道而不是硬件绘制的。


平滑过渡和生涩动画与亚像素渲染无关。

这个问题听起来像是你没有正确定时你的渲染功能。 不要使用间隔计时器来触发渲染帧。 您应该将渲染和动画放入程序事件循环空闲处理程序中,并测量渲染帧所需的时间。 然后在那个时候推进动画。

链接地址: http://www.djcxy.com/p/41233.html

上一篇: Text animation on Video

下一篇: generating videos in C