Page 1 of 1

how to enable hardware encoding gstreamer plugin

Posted: 2025-09-19 9:15
by Kalpesh
Hello Everyone I am using Luckfox pico ultra W board for my smart doorbell project where two party house owner and visitor outsude the door.
working is something like this owner of house can see and hear visitor outside and visitor can also hear the house owner but can not see because there is no display on doorbell.

Till now I have successfully streamed color corrected audio/video stream using gstreamer to my locally running janus webrtc server.

I have used janus webrtc server because i wanted realtime communication without latency ofcourse and I wanted echo cancellation as well so webrtc server has in built echo cancellation algorithm.

Here is How currently I am streaming to janus webrtc server.
  • 1. run rockchip's isp for color correction

    Code: Select all

    rkaiq_3A_server &
    2. gstreamer pipeline for streaming to janus server

    Code: Select all

    ST_DEBUG=2 gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,width=640,height=480,framerate=30/1 ! videoscale ! videoconvert ! x264enc tune=zerolatency speed-preset=ultrafast key-int-max=30 bitrate=2000 ! h264parse ! rtph264pay pt=96 config-interval=1 ! udpsink host=192.168.0.110 port=5004 buffer-size=65536 alsasrc device=hw:0 ! audioconvert ! audioresample ! opusenc bitrate=64000 ! rtpopuspay pt=111 ! udpsink host=192.168.0.110 port=5002 buffer-size=65536
So i am facing the issue regarding not able to increase resolution because currently gstreamer uses software encoding which limits me to increase resolution if I increase resolution framerate drops below 10 and I gets higher latency more than 3 sec.

current luckfox sdk does not have gstreamer hardware encoding plugin which I can enable and use
So in search of gstreamer hardware encoding plugin i stumbbled upon github repository which talks about mpphardware encoding gstreamer plugin Link: https://github.com/Meonardo/gst-rockchip

so Is anyone out there who knows how can I add this plugin or any gstreamer plugin manually in my luckfox's sdk build environment so whenever I build images I will get gst-launch-1.0 with its hardware encoding plugin and i can use it from command line.

if you have any question and doubt feel free to ask.

Re: how to enable hardware encoding gstreamer plugin

Posted: 2025-09-20 9:58
by Crocodile
Hello, regarding the issue of hardware encoding for rv1106 in GStreamer, we have consulted Rockchip. Their response was that both gst-rockchip and mpp do not support rv1106. To perform hardware encoding on rv1106, it can only be achieved through the rockit library or through secondary packaging based on the rockit library.

Re: how to enable hardware encoding gstreamer plugin

Posted: 2025-09-24 13:43
by Kalpesh
Crocodile wrote: 2025-09-20 9:58 Hello, regarding the issue of hardware encoding for rv1106 in GStreamer, we have consulted Rockchip. Their response was that both gst-rockchip and mpp do not support rv1106. To perform hardware encoding on rv1106, it can only be achieved through the rockit library or through secondary packaging based on the rockit library.
thanks for answer can you have look at the gst-rockchip repository i have attached in my post.
can it be used as plugin in code or if we can add as plugin into gstreamer binary directly by modifying some part of sdk where all gstreamer plugins are defined and if we can add this custom plugin or something if we can do.

Re: how to enable hardware encoding gstreamer plugin

Posted: 2025-09-25 6:17
by Kalpesh
I have another question as you said
Their response was that both gst-rockchip and mpp do not support rv1106.
is any other board supports gst-rockchip and mpp so i can do my poc testing so i can be sure of my method to do it.

or any other board which hase gstreamer hardware encoding plugin available with webrtc.

Re: how to enable hardware encoding gstreamer plugin

Posted: 2025-09-28 3:45
by Crocodile
The gstreamer hardware encoding plugin provided by Rockchip is implemented based on MPP. Therefore, theoretically, all Rockchip chips supported by the MPP library are also supported by the gstreamer hardware encoding plugin. Our Core3576 and Core3566 both support it.
While the hardware encoding on rv1106 is implemented through the rockit library. Theoretically, a gstreamer plugin based on the rockit library can be written to enable rv1106 to support gstreamer hardware encoding.

Re: how to enable hardware encoding gstreamer plugin

Posted: 2026-01-25 17:33
by RomkaAmigo
Crocodile wrote: 2025-09-28 3:45 The gstreamer hardware encoding plugin provided by Rockchip is implemented based on MPP. Therefore, theoretically, all Rockchip chips supported by the MPP library are also supported by the gstreamer hardware encoding plugin. Our Core3576 and Core3566 both support it.
While the hardware encoding on rv1106 is implemented through the rockit library. Theoretically, a gstreamer plugin based on the rockit library can be written to enable rv1106 to support gstreamer hardware encoding.
Where i can find rockit library examples? There are no in buildrrot sdk for RV1106