RidgeRun / gstd-1.x

GStreamer Daemon is a GStreamer framework for controlling audio and video streaming using TCP messages. This version is based on GStreamer 1.x
https://developer.ridgerun.com/wiki/index.php?title=Gstd-1.0
GNU Lesser General Public License v2.1
172 stars 55 forks source link

Q: Able to run gstd more faster? #307

Open TopperBG opened 2 years ago

TopperBG commented 2 years ago

Current config: GSTD v0.14.0 (was 0.12.1) GST-interpipe v1.1.8 GST-QT-plugin 0.5.0

Env:

export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1
export QT_QPA_EGLFS_FB=/dev/fb0
export FB_FRAMEBUFFER_0=/dev/fb0
export QT_QPA_EGLFS_FORCEVSYNC=1
export QT_QPA_PLATFORM=eglfs
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
gstd -q -e

SRC pipline: imxv4l2videosrc device=/dev/video0 imx-capture-mode=0 queue-size=32 ! imxipuvideotransform ! video/x-raw, width=${VIDEO_X_RES}, height=${VIDEO_Y_RES}, framerate=30/1, format=NV12 ! interpipesink name=src

OSD pipeline: interpipesrc listen-to=src stream-sync=passthrough-ts ! imxg2dvideotransform ! video/x-raw, width=${VIDEO_X_RES}, height=${VIDEO_Y_RES}, framerate=30/1, format=RGBA ! queue leaky=downstream ! qtoverlay name=osd qml=/opt/qml/main.qml ! queue leaky=downstream ! imxipuvideosink sync=false async=false use-vsync=true

main.qml is a bit fat but we optimeze it now in smaller qml's

Anyway even with helloworld.qml (as simple as posible) the run of gstd with two pipes takes 6-6.5sek (3sek for gst-qt-overlay).

Q1: Is it here a way to optimize that load time of GSTD himself ? Q2: Is it there a way ot load faster gst-qt-overlay ?

clogwog commented 2 years ago

not 100% sure but maybe you can try to preload the components by specifying export LD_PRELOAD=/path/to/libgstyourplugin.so before you start gstd ?