I am using gmpreussner’s VlcMedia plugin (GitHub - ue4plugins/VlcMedia: Media Framework plug-in using the Video LAN Codec (libvlc).) to stream from an IP camera into UE. This works fine except whenever I open my project in the UE editor the Media Player always defaults to WmfMedia, which is not compatible with my stream and so I just get a solid black texture when running the game. I have selected VlcMedia as the default Decoder:
Despite this you can see that it still says WmfMedia at the top right. I also set the Default Player in my StreamMediaSource asset to VlcMedia, but this seems to have no effect.
The only way that I can get the player to bump itself to VlcMedia is to already have the Media Player asset open in the Asset Editor when I click Play. After this it stays on VlcMedia for the rest of the session and works fine. I am starting the streams using Event BeginPlay from the Level Blueprint as shown:
As expected, the “Get Player Name” node returns WmfMedia when the video streaming fails and VlcMedia when it works. Even worse, in packaged builds it returns “None” and the streaming doesn’t work. There is unfortunately no “Set Player Name” node.
I’m aware that the Media Framework is still in an experimental state but it would be nice if I could move past this one problem holding me back. Any help is appreciated!~
I’m pretty sure this is fixed in 4.14. The DefaultPlayer property was ignored in 4.13 and earlier, I think.
Thanks for the tip. I upgraded to 4.14 and set the new Platform Players thing to VlcMedia on Windows in my StreamMediaSources. UE correctly remembers VlcMedia in the editor now but in the packaged version I’m still getting no video and the “Get Player Name” node is saying WmfMedia. =[. Any thoughts?
You need to set DefaultPlayer in the media source. The player does not save the selected decoder. That is only for the Editor.
I thought I did. That’s what the new Platform Players section on the StreamMediaSource is in 4.14 right? I don’t see a DefaultPlayer input anymore.
Yep, PlatformPlayers. I’m pretty sure it made it into 4.14. It should work.
Actually, I’m not sure if I tested in 4.14 or 4.15. It definitely works in 4.15, but there have been a lot of other changes, too. In 4.15 you’ll also have the SetDesiredPlayerName BP function. This code is not yet in GitHub Master - we’re planning to merge up on December 14th.
A quick look at UMediaPlayer::FindPlayerForUrl in 4.14 shows that the implementation is pretty much the same though, so I think it should probably work already.
Let me know what you find out.
Yeah idk, I definitely have PlatformPlayers set to VlcMedia for Windows:
This works fine in the editor and my debug output from the GetPlayerName node gives me VlcMedia, but the packaged version is still defaulting to WmfMedia.
I guess it bears mentioning that I’m an Unreal noob and these are my first attempts at producing a packaged project. Maybe I just need to wait for 4.15.
Oh ok, I actually have not tried packaged builds yet. It’s possible that there’s a bug
We’ll look into it, but probably not before next week.
Would you be willing to share your test project so I can investigate the issue on my end?
You can zip up the project, upload it to google drive, and then share the link with me via a private message on the Forums to my name, Andrew.Hurley.
Let me know if you have further questions.
I have a project ready for you to download but it’s saying I don’t have permission (“sufficient privileges”) to send PMs.
Hmmm that doesn’t sound right. Be sure you are logged into the forums with your Epic account.
Let me know if you are still having problems and I will see if it is a permissions thing you are experiencing.
It looks like I’m logged in. I don’t have a “Private Messaging” section in my user control panel and when I try to follow the link from the Private Messaging FAQ (https://forums.unrealengine.com/private.php) I get:
THE-_-BOSS, you do not have permission to access this page. This could be due to one of several reasons:
- Your user account may not have sufficient privileges to access this page. Are you trying to edit someone else’s post, access administrative features or some other privileged system?
- If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.
Thanks for letting me know. I have requested someone investigate this so you have access in the future. You can also upload the to a shareable google drive link and just share the link here. I can tell you when I have downloaded the project so you can remove the link if the content is sensitive.
Let me know if you have further questions.
Here is the link: Google Drive: Sign-in
The original project had a bunch of irrelevant stuff so I just threw together another one using the First Person Shooter template, then following the MediaFramework tutorial and adding in the VlcMedia plugin. I tested it and it’s exhibiting the same problems as my other project.
I was able to reproduce your issue with the project you provided, and have gone ahead and entered a bug report which you can track by following the link below.
Once the issue has been addressed by our engineers the ticket will be updated and reflected in the public tracker. Let me know if you have further questions or need additional assistance.