wang-bin / mdk-examples Goto Github PK
View Code? Open in Web Editor NEWmedia player examples based on mdk sdk. runs on all platforms. sdk download:
Home Page: https://sourceforge.net/projects/mdk-sdk/files/nightly
License: Apache License 2.0
media player examples based on mdk sdk. runs on all platforms. sdk download:
Home Page: https://sourceforge.net/projects/mdk-sdk/files/nightly
License: Apache License 2.0
Hi, When I play any video using your sfml texture example I get a pause a few frames before end of the video. This happens without loop. With looping enabled it also pauses on frame one. The example video I attached has a freeze at frame 288. I was hoping for a seamless infinite loop, but I cannot find a way of making it not freeze. Would you help me solving this problem please
Rename the counter.mp4.txt to counter.mp4
counter.mp4.txt
qmdkqmlplay QML example based on QQuickFramebufferObject works fine as itself.
But if MDKPlayer is on top of Qt Scene3D, there is no video rendered or it is flickering in more complex application (it looks like something clearing item after renderVideo is called). Any other QML Quick items on top of Qt Scene3D are ok. Audio is working.
Example based on qmdkqmlplay + qt3d-scene3d-example for test:
mdk-example.zip
If renderPolicy: RenderSettings.OnDemand for Scene3D is set (uncomment the line in code) video stops flickering and get rendered right when 3d scene is still. Start rotate the 3d camera and MDKPlayer start flickering due to Scene3D updates.
Same behavior Windows 10, android armv7
Qt 5.9.5, MinGW 5.3.0 32bit, android SDK 25.2.5, NDK 16.1.44794999
Would you please add a proper texture size initialization in the following code
mdk-examples/SFML/sfmltexture.cpp
Line 38 in f7ea5c7
The videos I'm reloading have various resolutions. I would like to know how it should be handled. Thanks
It would be very nice if you add a simple example of QML to show the basic usage of MDK. Better to make it a QML element.
qtquick rhi use threaded render loop by default. if video window changes, a new render thread will be created. libmdk assume no render thread change, so may crash. An workaround is explicitly set environment QSG_RENDER_LOOP=basic
qt6.2.
Qt RHI example crashes on Windows, when requesting Vulkan backend.
Tested with 5.15.7 and 6.2.2
Steps to reproduce:
QQuickWindow::setGraphicsApi(QSGRendererInterface::Vulkan);
. For Qt 5.15 set qputenv("QSG_RHI", "1"); qputenv("QSG_RHI_BACKEND", "vulkan");
in main.cppIt then crashes in
1 mdk::abi::VideoPresenter::setRenderAPI VideoPresenter.cpp 358 0x7fffea7a7bb9
2 MDK_Player_setRenderAPI Player.cpp 231 0x7fffea74947e
3 mdk::Player::setRenderAPI Player.h 434 0x7ff777cd33ca
4 VideoTextureNodePub::ensureTexture VideoTextureNodePub.cpp 217 0x7ff777cd1a0d
5 VideoTextureNode::sync VideoTextureNode.cpp 49 0x7ff777ccfc33
6 VideoTextureItem::updatePaintNode VideoTextureItem.cpp 55 0x7ff777cc4be9
Using latest nightly MDK SDK
QML itself with Vulkan backend works as expected
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.