Tool/software:
Hello,
I've been working on designing a gstreamer application using the Go wrapper library go-gst that will constantly monitor the framerate of a running stream and take actions to restart the stream if the framerate gets below a certain level. I'm new to writing gstreamer applications and have so far been running into errors with everything that I have tried while referencing gstreamer and other examples. It seems like using the identity plugin and reading the handoff buffer PTS would be a lightweight way to achieve monitoring the framerate (i.e. it could monitor every frame). In my pipeline the TI plugins are used in this way:
"tiovxisp sink_0::device=/dev/v4l-subdev4 sensor-name=SENSOR_ONSEMI_AR0234 dcc-isp-file=/opt/imaging/ar0234/linear/dcc_viss_10b_1920x1200.bin sink_0::dcc-2a-file=/opt/imaging/ar0234/linear/dcc_2a_10b_1920x1200.bin format-msb=9 sink_0::pool-size=8 src_0::pool-size=8"
and
"v4l2h264enc extra-controls='enc,h264_i_frame_period=8'"
I've been unable to successfully use what equates to the gst_parse_launch() function mostly due to the parsing the parameters in the above plugins from what I can tell looking at GST_DEBUG prints.
I was wondering if there an example gstreamer application (C code is fine) that could be provided that uses the tiovxisp and v4l2h264enc plugins?
Perhaps the ElementFactory method for creating a pipeline is more conducive for this use case?
Also, if there is a better way to achieve this I would also be interested in learning about a different method.
Thank you,
Steve