Pending a better solution, I have to use this function to slow down the video and synchronize it with the FPS playback in the sequencer … (when creating the video, the fps drops to 4 with a 12MB Titan card!)
However, this function does not seem to work … Playing is done correctly (choice of the source or playlist etc …) but, when I put any (positive or negative) value into “Rate” … nothing change. The player always reads at the same “normal” playback speed …
I followed the (very simple) procedure, in vain. Would I have forgotten something?
Thanks for your support![alt text]
Have you tried the reverse, and using the Set Rate after you open the Media Source file?
When you open the Media Source file to play, and if it is set to Auto-Play, it is going to play at the default rate until told otherwise. You could also use the OnMediaOpened event and tie that to the Set Rate to see if that works.
Let me know after you have attempted these solutions and still are unable to set the rate of your media player.
Thank you for your prompt reply.
Before sending this post, I obviously carried out all sorts of tests (set rate placed in front, behind) …
According to your instructions, I also linked a Set_rate to [on_mediaOpened].
Always the same. I created new blank project, changed video and used other formats … same.
I have, meanwhile, used the “flipbook method” which is totally configurable with “Sequencer” and properly synchronized (because I use UE4 to make movie only). Nevertheless, this configuration is very memory-intensive (I have to increase the value of the variable r.Streaming.PoolSize up to 4000) … and tedious (we end up with thousands of “sprites” in the case of few tens of seconds duration video).
I look forward to what many people have been hoping for a fair bite of time: Media_player fully synchronized with the frame_rate of the engine.
Thanks and keep up your great job!
Would you be willing to share your test case/project with me so I can open it on my end and reproduce the issue locally?
Syncing the video to play with your framerate will more than likely require you to drive the video based on delta time, which I can forsee becoming buggy or problematic. Especially the more blueprint functions and events you have occurring in your scene/project.
Let me know if you have further questions.
Here is the link to download the Test_project
You will also find some “aberrations” observed.
A video texture in vertical format (eg: 1: 2 - smartphone type) does not fit completely an object unlike a “normal” image texture (in the same vertical format)
reflection of the “sprite_sheet”
another problem found, more vicious. In “Test” map, you have two identical particle emitters. In “Sequencer”, both have the animated “rate” value (from zero to 150)
In New editor windows PIE and create movie mode only, the animated keys (0 to 150) are not taken into account: emitters are inactive. But, If one of the first entry point key values is at least 1 (0.8 is also working) then the animation work perfectly.
For the demonstration, I created an emitter starting from 0 to 150 (which does not displayed in the evoked modes) and another with a value from 1 to 150 and which is displayed perfectly.
So for each of these cases, you will want to write out a new bug report. Some of these might already have answers, but we ask this for ease of tracking when other users need to search for similar issues. We don’t want to conflate multiple issues as it could confuse other users trying to find the correct solution.
With that said, I would also take a look at our documentation on the Media Frameworks Known Issues and Limitations.
It sounds like the way you are trying to use the Media Player is encountering some of these known issues, like it being out of sync. I created a template media player project to see how I control certain aspects of playback. Take a look and see if that also helps you troubleshoot.
Media Player Template Project
I am experiencing the same bug, where Set Rate does nothing.
Regarding the frame rate issue, I have been having this problem for a while now, and unfortunately there hasn’t been any resolution yet. I posted this for version 4.8, before Sequencer existed:
Basically, my workaround proposal is to artficially lock the export frame rate, and set the video playback rate to match.
So, if I’m getting around 2-3 fps on export, I’ll lock it to something lower, like 1 fps, and set my video playback rate to 1/30, or whatever the frame rate of the source video is.
While this might not give me perfect sync, it should be close enough, and it is a far more desirable situation than what exists - pure guesswork about the output frame rate (which can change depending on the camera angle, and constantly plugging in Set Rate values, hoping that one works.
For someone like me, who always needs high res exports and video in the scene, the current set up is a nightmare to deal with.
I understand you. You can - until a better solution is found - use the “flipbook” method with jpg or png sequences (if your “video” is not too long and your machine has enough memory : I have already realized sequences “flipbook” of more than 2500 jpg, ie one minute in 25 fps)
With this method, the framerate is perfect! Regardless UE4 render framerate.
Andrew, I looked into your Template Project, and the solution to the Set Rate problem seems to be putting a Delay node between the Open Source and Play/Set Rate nodes.
Once I do that, Set Rate works as expected. Thank you. Still hoping for a more robust solution to the frame rate issue.