Gstreamer webrtcsink with OrangePi CM5 mpph264end does't work

Hello,
I am trying to build a pipeline to capture, encode and send video via webrtcsink. The issue is I can not manage to make webrtcsink work with my hardware h264 encoder. As far as I work with OrangePi CM5 ( RK3588S) I want to use mpph264enc hardware accelerator.
My current pipeline is: gst-launch-1.0 v4l2src device=/dev/video11 io-mode=dmabuf ! video/x-raw,format=NV12,width=1920,height=1080,framerate=50/1 ! webrtcsink signaller::uri="ws://10.42.0.1:8443" video-caps='video/x-h264' and I get this error:

0:00:00.752771034  1398 0xffff74022ba0 WARN              webrtcsink net/webrtc/src/webrtcsink/imp.rs:3294:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::run_discovery_pipeline::{{closure}}: Error in discovery pipeline: Error {
    structure: Some(
        GstMessageError {
            gerror: (GError) ((GError*) 0xffff6c019870),
            debug: (gchararray) "../libs/gst/base/gstbasesrc.c(3177): gst_base_src_loop (): /GstPipeline:pipeline1/GstAppSrc:appsrc0:\nstreaming stopped, reason not-negotiated (-4)",
            details: Structure(
                details {
                    flow-return: (gint) -4,
                },
            ),
        },
    ),
    source: Some(
        (
            Object {
                inner: TypedObjectRef {
                    inner: 0x0000ffff74003940,
                    type: GstAppSrc,
                },
            },
            "appsrc0",
        ),
    ),
    error: Error {
        domain: gst-stream-error-quark,
        code: 1,
        message: "Internal data stream error.",
    },
    debug: Some(
        "../libs/gst/base/gstbasesrc.c(3177): gst_base_src_loop (): /GstPipeline:pipeline1/GstAppSrc:appsrc0:\nstreaming stopped, reason not-negotiated (-4)",
    ),
    details: Some(
        details {
            flow-return: (gint) -4,
        },
    ),
}

Full log is also attached here.

Summary
Setting pipeline to PAUSED ...
0:00:00.284131779  1398 0xaaaae0424a80 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:1799:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::prepare:<webrtcsink0> preparing
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.288438237  1398 0xffff84000b70 INFO              webrtcsink net/webrtc/src/webrtcsink/imp.rs:3526:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::sink_event:<webrtcsink0:video_0> Received caps event Caps { seqnum: Seqnum(40), running-time-offset: 0, structure: Some(GstEventCaps { caps: (GstCaps) video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)50/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)1:3:5:1 }), caps: Caps(video/x-raw(memory:SystemMemory) { format: (gchararray) "NV12", width: (gint) 1920, height: (gint) 1080, framerate: (GstFraction) 50/1, pixel-aspect-ratio: (GstFraction) 1/1, interlace-mode: (gchararray) "progressive", colorimetry: (gchararray) "1:3:5:1" }) }
Redistribute latency...
0:00:00.581809433  1398 0xffff74022ba0 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:3206:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::run_discovery_pipeline::{{closure}}:<webrtcsink0> Running discovery pipeline for input caps video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)50/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)1:3:5:1 and output caps ANY with codec Codec { name: "H264", caps: Caps(video/x-h264(memory:SystemMemory)), stream_type: StreamType(VIDEO), payload_type: Some(96), decoding_info: Some(DecodingInfo { has_decoder: true }), encoding_info: Some(EncodingInfo { encoder: ElementFactory { inner: TypedObjectRef { inner: 0xaaaae0205110, type: GstElementFactory } }, payloader: ElementFactory { inner: TypedObjectRef { inner: 0xaaaae02323a0, type: GstElementFactory } }, output_filter: None }) }
0:00:00.581846767  1398 0xffff74022ba0 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:3212:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::run_discovery_pipeline::{{closure}}:<webrtcsink0> Running discovery pipeline
0:00:00.592668185  1398 0xffff74022ba0 TRACE             webrtcsink net/webrtc/src/webrtcsink/imp.rs:839:gstrswebrtc::webrtcsink::imp::PayloadChainBuilder::build:<pipeline1> Setting up encoding, input caps: video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)50/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)1:3:5:1, output caps: ANY, codec: Codec { name: "H264", caps: Caps(video/x-h264(memory:SystemMemory)), stream_type: StreamType(VIDEO), payload_type: Some(96), decoding_info: Some(DecodingInfo { has_decoder: true }), encoding_info: Some(EncodingInfo { encoder: ElementFactory { inner: TypedObjectRef { inner: 0xaaaae0205110, type: GstElementFactory } }, payloader: ElementFactory { inner: TypedObjectRef { inner: 0xaaaae02323a0, type: GstElementFactory } }, output_filter: None }) }
0:00:00.639027148  1398 0xffff74022ba0 DEBUG            webrtcutils net/webrtc/src/utils.rs:688:gstrswebrtc::utils::Codec::parser_caps: No H264 profile requested, selecting constrained-baseline
0:00:00.691063986  1398 0xffff74022ba0 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:4021:<gstrswebrtc::webrtcsink::imp::BaseWebRTCSink as glib::subclass::object::ObjectImpl>::signals::SIGNALS::{{closure}}::{{closure}}:<webrtcsink0> applying default configuration on encoder Element { inner: TypedObjectRef { inner: 0xffff7402bcd0, type: GstMppH264Enc } }
0:00:00.692419070  1398 0xffff74022ba0 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:1517:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::configure_congestion_control:<rtph264pay0> Mapping TWCC extension to ID 1
0:00:00.752771034  1398 0xffff74022ba0 WARN              webrtcsink net/webrtc/src/webrtcsink/imp.rs:3294:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::run_discovery_pipeline::{{closure}}: Error in discovery pipeline: Error {
    structure: Some(
        GstMessageError {
            gerror: (GError) ((GError*) 0xffff6c019870),
            debug: (gchararray) "../libs/gst/base/gstbasesrc.c(3177): gst_base_src_loop (): /GstPipeline:pipeline1/GstAppSrc:appsrc0:\nstreaming stopped, reason not-negotiated (-4)",
            details: Structure(
                details {
                    flow-return: (gint) -4,
                },
            ),
        },
    ),
    source: Some(
        (
            Object {
                inner: TypedObjectRef {
                    inner: 0x0000ffff74003940,
                    type: GstAppSrc,
                },
            },
            "appsrc0",
        ),
    ),
    error: Error {
        domain: gst-stream-error-quark,
        code: 1,
        message: "Internal data stream error.",
    },
    debug: Some(
        "../libs/gst/base/gstbasesrc.c(3177): gst_base_src_loop (): /GstPipeline:pipeline1/GstAppSrc:appsrc0:\nstreaming stopped, reason not-negotiated (-4)",
    ),
    details: Some(
        details {
            flow-return: (gint) -4,
        },
    ),
}
0:00:00.756129284  1398 0xffff74022ba0 WARN              webrtcsink net/webrtc/src/webrtcsink/imp.rs:3435:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::lookup_caps::{{closure}}:<webrtcsink0> Codec discovery pipeline failed: Internal data stream error.
0:00:00.756170993  1398 0xffff74022ba0 ERROR             webrtcsink net/webrtc/src/webrtcsink/imp.rs:3641:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::start_stream_discovery_if_needed::{{closure}}:<webrtcsink0> Error running discovery: No caps found for stream video_0
ERROR: from element /GstPipeline:pipeline0/GstWebRTCSink:webrtcsink0: There is no codec present that can handle the stream's type.
Additional debug info:
net/webrtc/src/webrtcsink/imp.rs(3642): gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::start_stream_discovery_if_needed::{{closure}} (): /GstPipeline:pipeline0/GstWebRTCSink:webrtcsink0:
Failed to look up output caps: No caps found for stream video_0
Execution ended after 0:00:00.468893297
Setting pipeline to NULL ...
0:00:00.756505826  1398 0xaaaae0424a80 INFO              webrtcsink net/webrtc/src/webrtcsink/imp.rs:1814:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::unprepare:<webrtcsink0> unpreparing
0:00:00.756552493  1398 0xaaaae0424a80 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:1838:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::unprepare:<webrtcsink0> Waiting for codec discoveries to finish
0:00:00.756566201  1398 0xaaaae0424a80 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:1845:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::unprepare:<webrtcsink0> No codec discovery is running anymore
0:00:00.756576118  1398 0xaaaae0424a80 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:1856:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::unprepare:<webrtcsink0> Ending sessions
0:00:00.756581951  1398 0xaaaae0424a80 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:1860:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::unprepare:<webrtcsink0> All sessions have started finalizing
0:00:00.756588076  1398 0xaaaae0424a80 DEBUG             webrtcsink net/webrtc/src/webrtcsink/imp.rs:1876:gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::unprepare:<webrtcsink0> All sessions are done finalizing
Freeing pipeline ...

The interesting thing is that the same pipeline works well if I make it to use mppvp8enc.
I would appreciate any possible support to solve this issue.