【发布时间】:2017-03-22 14:29:51
【问题描述】:
我的一般问题是我需要在 Unity3D 世界中播放和控制视频(无声音)的速度,并且可能需要自己控制解码,我完全不知道如何有效地做到这一点。因此,欢迎任何正确方向的提示。
我需要在 Unity 中播放投影在材质上的视频,并且我需要在运行时控制该视频的速度。由于我以移动设备为目标,因此无法使用 MovieTexture。还有其他选择,例如Easy Movie Texture,但它们不允许我控制视频的速度。
我在这个post 中找到了一个有问题的解决方案。简而言之,作者将视频分解成帧,然后逐帧显示。这样,我可以通过简单地更改显示下一帧的时间来控制视频速度。视频没有任何声音,所以就这么简单。 问题在于,从内存和性能的角度来看,这是一场噩梦。该应用程序将是 GB 大且效率低下。
据我所知,普通的视频播放器通过不保存和显示每一帧而只是它们之间的增量来解决这个问题。如果我能自己做到这一点并逐帧控制它,我会解决我的问题。
我想在运行时对其进行解码,然后显示增量。但我不知道该怎么做。所以请指出我正确的方向,或者如果你有的话,甚至可以给我一个解决方案。
视频格式还没有确定,所以最简单的。
【问题讨论】:
标签: c# performance video unity3d video-encoding