intel / gstreamer-media-SDK

GNU Lesser General Public License v2.1
90 stars 53 forks source link

How decrease the decoding and playing time while using GStreamer #166

Open spaul13 opened 5 years ago

spaul13 commented 5 years ago

I am using the GStreamer on Unity playing a video and whenever a clicking a mouse button I am switching videos. It's working perfectly fine. Each of my videos contains just one I frame (`190KB). But what I observed the fps is really low almost 15-16.

I have to achieve 60 FPS in this scenario. I saw GStreamer is not using GPU support. Is it possible to enable GPU support for GStreamer to achieve 60 FPS from 15-16 FPS? If yes, can anyone please tell me how to achieve that? Or is there any other optimizations possible to increase the FPS, reducing the latency, might be by introducing multithreading, etc.

Any help will be highly appreciated.

brmarkus commented 5 years ago

Assuming you have an Intel SoC... Assuming you have followed the README and built and installed the MediaSDK-based gstreamer plugins and have checked they are found and loaded (e.g. calling gst-inspect ). Assuming you have the proper libraries and media-driver in place (e.g. to check by calling "vaainfo", which needs ENV variables like LIBVA_DRIVERS_PATH, LIBVA_DRIVER_NAME) Reading 60 small files from a (fast?) file system, using memory-mapping instead of reading and memcpy()-ing? Your files are "raw" and complete frames in a format supported by the underlying SoC and supported by the MediaSDK-based gstreamer plugin? Which window-manager do you use? Wayland, or better "ias Weston"?

brmarkus commented 5 years ago

Are you using "multifilesrc" (https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/gst-plugins-good-plugins-multifilesrc.html) when you say you have "a video", which "contains just one I frame"?