Bink Media Player cannot be controlled with blueprints unless Start Immediately option is checked

I’m using Bink media player for my project since its fast enought to play 3D videos and pretty much the industry leading technology.

I disabled all the Media players and setup everything properly. I’m sure of it. However, I can’t control the movies if the Start Immediately option is checked. When I use Can Play node in blueprints it return false but doesn’t log anything.

What am I missing here. I would really appreciate if someone show me where I’m falling short

Aparently Bink Media requires user to be in possesion of the pawn. Doesn’t play nice with simulation or unposessed Play In Editor.

If “Start Immediately” option is checked. It works as expected. But when you uncheck it stops working. You can control the B’nk Media Player and open URLs but can’t play them if you didn’t possed your pawn.

4 Likes

Thank you for the information! Could you explain step by step how to play “Bink Media” via blueprint while “Start Immediately” option was unchecked at the beginning for a first person game project?

The system is same with the regular media controls due to the architecture of unreal.

This video shows how you can open a media. All you need to do is call the play function on your media player.

To open a media with bink just call Open Url node:

and provide the url related to Content folder. In my example ‘./’ indicates the the rest of the path we provide is under the content folder.

It is important to note that my app is planned to use different media players. Therefore, I needed a common API for myself. So, I build this Movie Handler component which should handle the switching of different media players at runtime. I needed this because my app should be able to stream video too. But I still didn’t get into the depths of making Bink Media play nicely with other media players.

Small Tip: Don’t create new media sources or media players for every single one of your media. All you need to do open the source file url using the Open URL Node. So, If you don’t need to play different media at the same time just hold an array of urls (In my case I have a Data Table that holds my movies and meta data or textures I need.)

I also would like to add that; the problem pointed to at this post is regarding to PIE when unpossed from the pawn. At runtime everything should work as expected.

1 Like

if you areing ue4.27 , there is a bug in BinkMediaPlayer plugin. in file BinkMediaPlayer.cpp line 338

bnk = BinkPluginOpenUTF16((unsigned short *)*PlatformFile.ConvertToAbsolutePathForExternalAppForRead(*Url), BinkSoundTrack, BinkSoundTrackStart, BinkBufferMode, 0);

should be change to

bnk = BinkPluginOpenUTF16((unsigned short *)*Url), BinkSoundTrack, BinkSoundTrackStart, BinkBufferMode, 0);

copy plugin to project ,modify it and compile. when use openurl node ,must provide absolute path.

1 Like

I can’t thank you enough for this detailed answer. It helped me and I’m sure that it will help others.

However, I still can’t play the video. I see only the first frame of it, and it doesn’t start. There is nothing wrong if I check “Start Immediately” in bink video. But I need to control and fire the video using blueprints.

So far, I’ve tried “Play Bink” function but that didn’t worked. Now, I’ve tried “Open URL” method and the result is the same. I use UE 5.3 btw. Any more ideas? :smiley:

1 Like

Interesting. Is this absolute path requirement only for 4.27? Because I didn’t have any issues with my project so far and would love to learn it.

I’m sorry to hear that. I fortunately I’m not sure why it happens. maybe @Anonymous_22f547d62f00bac65c2343d67ba1c173’s answer is the key. Don’t think so though. You shouldn’t need to fix a bug in a plugin for such an essential function.

Can you please share your C++ code or Blueprint? Maybe it would help.

Also please create a new forum thread and link it as a reply to this. This situation needs its own post for others to find the answer quickly. It also might take an Epic Staff’s attention since this post has been already solved.

Hello again,
Apologies for the late response. I created a new forum thread as you said and here is the link:

Thanks a lot for your concern on this :slight_smile:

1 Like