Video playback (aiming all formats & platforms)

Hey guys, my first post on the forum here! Last couple of weeks I’ve been fiddling around with video playback in UE4 using ffmpeg, I’m now glad to say I got in-game video playback working! Because of ffmpeg’s huge codec support, it should work with practically any video format! (tested it so far with .wmv, .mp4, .mkv and .avi)
It should also work on most platforms, but so far I’ve only been working on Windows.

This is mostly just a hobby project, me trying to get a better grip on UE4. And hopefully it will be something actually useful to some of you! :slight_smile:

Some of the action (including hick-ups) :

So next up is:

  • Cleaning up the current code
  • Perhaps some control over the playback like pausing and restarting
  • Audio support (not really a clue on how I’m going to do this)

I’m eager to hear what you guys think about it! My questions to you would be:

  • Would this be useful to any of you?
  • Would only video playback (so no audio) be useful on itself?
  • Would you like this to be on GitHub?

But of course I’m happy to talk about anything!

Thanks for sharing this! I definitely think there is a use for this and would love to see it released. Do you feel like it’s able to process much larger files than native support?

Of course the absence of audio would hinder a lot of uses, but I think there are still a lot of other uses that could still take advantage of the addon. You could probably bypass this limitation by just running audio separately and syncing it up in bp.

Thanks for sharing, keep us posted.

@marijnzwemmer: If you haven’t done so already, make sure to check out the Media Framework. I think it would be great if your player was a plug-in. We considered integrating ffmpeg ourselves, but weren’t able to because of its license.

If you put your code on GitHub, it will be easy for others to integrate changes or fixes back into your code.

I also think that playback without audio is still useful for certain use cases. Pause, Restart and Seek would probably be quite important though.