Rpi camera v1 on rock-3c

I have a stupid issue with gst and cv::VideoCapture:

If I test the rpi-camera (V1), it works, using the test-script:

#!/bin/bash
#export GST_DEBUG=*:5
export DISPLAY=:0.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/aarch64-linux-gnu/gstreamer-1.0
#export GST_DEBUG=ispsrc:5
#export GST_DEBUG_FILE=/tmp/2.txt
echo “Start RKISP Camera Preview!”
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=1920,height=1080, framerate=30/1 ! xvimagesink

Instead if I put the gst-pipe-string inside the cv::VideoCapture instance-object, as fllows:

VideoCapture vc;

std::string source = “v4l2src device=/dev/video0 ! video/x-raw, format=(string)NV12, width=(int)640, height=(int)480, framerate=(fraction)30/1 ! appsink”;

if (!vc.open(source, VideoCaptureAPIs::CAP_GSTREAMER))
[…]

then i receive these message from gstreamer backend:
[ WARN:0] global …/modules/videoio/src/cap_gstreamer.cpp (961) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
[ WARN:0] global …/modules/videoio/src/cap_gstreamer.cpp (1824) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module v4l2src1 reported: Internal data stream error.
[ WARN:0] global …/modules/videoio/src/cap_gstreamer.cpp (536) startPipeline OpenCV | GStreamer warning: unable to start pipeline
[ WARN:0] global …/modules/videoio/src/cap_gstreamer.cpp (1085) setProperty OpenCV | GStreamer warning: no pipeline
[ WARN:0] global …/modules/videoio/src/cap_gstreamer.cpp (992) getProperty OpenCV | GStreamer warning: GStreamer: no pipeline
[ WARN:0] global …/modules/videoio/src/cap_gstreamer.cpp (992) getProperty OpenCV | GStreamer warning: GStreamer: no pipeline

How can I grab frames? What string I must give to VIdeoCapture?