Bink Support in Media Framework for Element Playback

On our environments for virtual production stages we use various “playback” elements in our environments such as fog, steam, fire etc… these are all short looping video frames that are meant to be used as a quick and inexpensive way to add effects to an environment.

This is different from plate playback where we have hi res footage meant to be played back across the entire wall, which the tiled EXR workflow is for.

How we have been doing this for the past 5 years is with paper2d flipbooks - a feature not longer in active development, and has some pain points.

  • Paper2D Flipbooks cannot be used as media sources in rect lights, a feature that Megalights enables (Textured area lights) https://youtu.be/7q1rI25tOUM?t=27
  • You cannot animate them with sequencer, but outside of sequencer there is some limited ability to play/pause/go to via blueprint
  • You bring them in as individual PNG or EXR sequences and have to make the sprites/flipbooks. The Graphics cards we use in virtual production have a lot of VRAM that does allow us to load the entire frames into memory for playback… but there’s a limit of course.

We’ve done some tests to see about the viability of using the media framework as a replacement system for element playback.

  • We need a file format that supports HDR, alpha channels, and the ability playback of many media files simultaneously, and Bink media seems to be a solution that could work as demonstrated by this video https://dev.epicgames.com/community/learning/tutorials/GbkV/use-bink-video-codec-inside-unreal-engine-5
  • While these individual clips are short (only a couple seconds long) we need multiple different elements playing back simultaneously as seen in the video above, attempting to do this with MP4 or prores files has not only format limitations but performance issues.
  • Converting the footage into bink video files seems to reduce the filesize by alot when compared to a EXR/PNG seqeunce
  • However, Bink media sources cannot be loaded into the media plate actor, it only works with file or image media sources. The media framework has no way of loading a bink file - obviously these are two separate systems in the engine.
  • Creating a bink player in blueprint does work and therefore bink files will playback on an nDisplay cluster, but the content does not stay in sync, nor is there any way to control playback outside of blueprint nodes.
  • Even with the Bink blueprint nodes, there is no way to change the playback speed, a known issue that SetRate does not do what we would expect it to do https://forums.unrealengine.com/t/bink-media-player-setrate-does-not-really-work/2554290

If Bink support was added to the media framework this would be a better solution fixing the pain points with flipbooks

[Attachment Removed]

Hey Matthew, I’m digging into this a bit further. Will get back to you a.s.a.p.

[Attachment Removed]

Hey Matthew,

A couple of items I can suggest. First, you can animate flipbooks in Sequencer. This is done using a parameter in the material that is then exposed in Sequencer. I’ll send an email showing the details on this.

Also, the Odyssey plugin from Praxinos has tooling to handle all of the functionality that Paper2D provided, and is current and constant development. That plugin is on FAB here: https://www.fab.com/listings/4ffe8c5f\-d782\-4fff\-80b8\-193db91afc0f

Secondly, we have a Media Framework feature update coming that will help.

Is it possible to get an example project or video files that we can test with here?

Feel free to reach out to me directly as well.

Best,

Michael Neely

Technical Account Manager, M&E

[Attachment Removed]

Thank you for looking into this Michael, I will put together a demo scene with some assets as examples that we can test out.

[Attachment Removed]

Hey Matthew,

Just touching base to see if you have had some time to put together a demo project for our devs to take a look at. Let me know.

Cheers,

Michael

[Attachment Removed]

Hey Matthew, I have tried downloading here, but it’s giving me an error. In the meantime, I have shared a folder on Box that you should be able to upload the files to.

Best,

Michael

[Attachment Removed]

No worries. I have responded via email. Hope this helps.

Michael

[Attachment Removed]

Hi Matthew,

I just wanted to follow up on this ticket. The ticket owner was unfortunately laid off last week, so I wanted to check in to see if I can close out the ticket or if you need further assistance.

Cheers,

Tim

[Attachment Removed]

Hi Matthew,

Thank you for the quick response. I will go ahead and close out the ticket then. Please feel free to reach out to us anytime if you have any more questions.

[Attachment Removed]

Hi Michael, I’ve created a project here where I’ve migrated in a bunch of paper2d flipbooks into an empty project. This has examples of paper2d flipbook we use in environments.

https://app.cimediacloud.com/r/MtoBbwQG2Ksn

You can see one of the issues being the file size of the project is 10GB when unzipped.

When loading up environments we always use r.streaming.fullyloadusedtextures 1to make sure all the flipbooks stream in rather than waiting on the streaming pool to load them all.

[Attachment Removed]

Hi sorry for not getting back to you sooner, I did upload my project to the link you shared

[Attachment Removed]

Hi, Tim, sorry to hear about Micheal

Tim and a developer were able to look into some paper2D flipbook assets I sent along and confirmed the upcoming OpenAV codec support in 5.8 will address all the needs I was asking about with Bink.

so we can close out this ticket.

[Attachment Removed]