I’ve been trying to determine the best video format for playing video textures in UE4 and cannot seem to find a good answer. I need to be able to play between 4-6 video textures at a time, in HD and I am getting a lot of lag (using WMV) as well as textures that do not play at the exact same time. I am testing on a powerful workstation so I don’t believe the issue is with my machine.
At BEGIN PLAY, I am rewinding and playing all of the textures, even if they aren’t being displayed. I believe the rewind ensures that they all start at the same time but have been unable to prove this due to the lag I am getting. Should I only play the textures that are being viewed and stop the ones that aren’t seen?
It seems MPEG4 is good for Windows (which is what I need). WMV works but it is difficult to get the quality where I want it. I’ve got content that I am rendering in After Effects and bringing into UE4 but hope to get a good template setup before I render out all of these videos (about 30 in all). Any advice would be great!
do you only rewind or do you stop - rewind - play? this works best.
Playing videos caused severe performance issues in my project. Luckily, I only had two very short video sequences. Long story short: the brute force solution was to use ffmpeg to extract single frames, import them as sprites, and create a paper flipbook actor in UE4.
I only rewind - play. I didn’t see that there was an option for stop, I thought rewind performed the stop. I will try that.
I’ll look into the sprite option but preferably video will work. I may have to drop the resolution slightly but considering this is for a product demo, the videos need to be good quality.
Edit: Is it possible to only load the textures or unload the textures when I need/don’t need them? My biggest issue seems to be performance at this point. Also, it seems the only nodes for media are pause, rewind, and play.
I spent some time reworking my video textures (making them shorter, lower framerate, lower resolution, etc) but you can only do so much before the quality drops a noticeable amount. Just spit balling some possible solutions:
Spawning/destroying the actors containing the textures only when I need them doesn’t seem to help the issue. Perhaps the texture is loaded regardless of whether or not an actor using that texture is loaded (how can I verify this?).
I thought about trying level streaming, where actors using the same video texture are all in 1 level, so I would have something like 3 streaming levels that I’d only stream when I need. However, UE4 continues to crash when I open a streamed level to edit (still researching this issue) and I haven’t been able to determine if this improves performance or not.
A flipbook may be a solution, I’m not sure how this compares in performance to just using a video texture though, given that my flipbook would be at least 1280x720 at 24fps for 10 sec. Thats 240 frames, so I would need to chain together a lot of sprites for this to work.
Can anyone offer any insight to these ideas or anything I am not thinking of? Thanks for the help!