Open markg85 opened 5 months ago
Hi markg85, We're waiting for Khronos to finish the display timing extensions before using them for video. I had code to artificially wait on frame submits to limit the FPS based on the video frame rate, but this did not work (precisely) well. It was also affecting the benchmarks. Please see the code in Shell::AcquireBackBuffer() using the std::this_thread::sleep_for() functions. That's currently disabled with if (false).
Tony, however you guys manage to implement it when you finally do, I hope you'll keep the frame index available because my app needs those to sync multiple video files decoding in parallel and get exact results.
It would also be useful if you could make the video sample here have a play/pause/stop/rewind buttons, even if it's just from the keyboard. And an example how to play back the audio synced to the video perfectly, which is another big issue that I have no interest in delving into, in other media players for how they do it. The sample should be feature complete for its intended use case and currently it's far from that. I already implemented seek(timestamp) so I have play/pause/rewind etc but it's a bit glitchy.
What is taking a significant amount of time for me maintaining my branch of vulkan video for my engine is all the refactoring (which is great) to simplify the class structure etc, forces me to redo the work by hand quite often.
however you guys manage to implement it when you finally do, I hope you'll keep the frame index available because my app needs those to sync multiple video files decoding in parallel and get exact results.
Sure, NP. Please note that this will only affect the display timing, based on the video content's rate.
The last restructuring is focused on the framebuffer which is a preparation for the the AV1 branch integration. It is primarily internal, so there are no bublic API changes. I hope it is not too bad this time around.
It would also be useful if you could make the video sample here have a play/pause/stop/rewind buttons, even if it's just from the keyboard.
Since this is a sample specificly targeting Vulkan video APIs, we don't have the resources to implement such features. However, we accept contributions 😀.
Challenge accepted!
I'll make a PR but I'll start from a fresh branch and focus on just using spacebar to play/pause, backspace to rewind to 0, and maybe left/right to seek a few seconds forward/back.
Audio is out of scope for me too, at least for now, I have a separate audio engine and SFX in my game. But still, I can see it being useful eventually (for cutscenes / trailers) to have audio/video sync. I guess I'll have to look at how other real vulkan video media players hook up the decoded output audio
Hi,
Great project you have here! It actually works :)
My video file (big buck bunny) has these specifics:
But it's playing at a much higher fps then the video wants:
The command i use to play a video:
Is there an option to limit it to 60 fps (in this case)? I can't find it.
Sidenote, this is on AMD hardware.