Problem of connecting avdec_h265 & rtph265depay to funnel sink

이병헌 byunghun.lee at fainders.ai
Thu Sep 9 02:59:41 UTC 2021


Hi dev

Before all, this is my pipeline 

gst-launch-1.0 -e funnel name=f ! \
videoscale ! videoconvert ! video/x-raw,format=RGB,width=720,height=480 ! \
tensor_converter ! tensor_filter framework=tensorflow \
model=../tf_model/ssdlite_mobilenet_v2.pb input=3:640:480:1 \
inputname=image_tensor inputtype=uint8 output=1,100:1,100:1,4:100:1 \
outputname=num_detections,detection_classes,detection_scores,detection_boxes \
outputtype=float32,float32,float32,float32 ! tensor_sink rtpbin name=rtpbin \
rtspsrc location=rtsp://admin:19841984@192.168.0.76:8554/profile1 latency=0 \
protocols=tcp ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtph265depay ! avdec_h265 ! f.sink_0

As you can see above, now I’m making live video streaming inference pipeline with gstreamer and nnstreamer.
But there have some problem.
The problem is that I can’t connect rtph265depay and avdec_h265 to funnel sink.
So when I tried connect rtpbin source pad to funnel directly, then it is connected well.

The error log when I tried to connect avdec_h265 to funnel sink is down below.

0:00:01.024641965   432 0x561e8f2ba600 DEBUG       GST_ELEMENT_PADS gstutils.c:898:gst_element_get_compatible_pad_template: Looking for a suitable pad template in avdec_h265-0 out of 2 templates...
0:00:01.024652417   432 0x561e8f2ba600 DEBUG               GST_CAPS gstutils.c:913:gst_element_get_compatible_pad_template: compatible direction: found src pad template "src"
0:00:01.024656496   432 0x561e8f2ba600 DEBUG               GST_CAPS gstutils.c:918:gst_element_get_compatible_pad_template: intersecting EMPTY
0:00:01.024669500   432 0x561e8f2ba600 DEBUG               GST_CAPS gstutils.c:920:gst_element_get_compatible_pad_template: ..and video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }
0:00:01.024676258   432 0x561e8f2ba600 DEBUG               GST_CAPS gstutils.c:926:gst_element_get_compatible_pad_template: caps are not compatible
0:00:01.024679912   432 0x561e8f2ba600 DEBUG       GST_ELEMENT_PADS gstutils.c:941:gst_element_get_compatible_pad_template: No compatible pad template found
0:00:01.024685917   432 0x561e8f2ba600 INFO        GST_ELEMENT_PADS gstutils.c:1225:gst_element_get_compatible_pad:<avdec_h265-0> Could not find a compatible pad to link to f:sink_0
0:00:01.024690335   432 0x561e8f2ba600 DEBUG       GST_ELEMENT_PADS gstutils.c:1981:gst_element_link_pads_full: no link possible from avdec_h265-0 to f:sink_0
0:00:01.024717142   432 0x561e8f2ba600 DEBUG                 funnel gstfunnel.c:286:gst_funnel_release_pad:<f> releasing pad f:sink_0
0:00:01.024749983   432 0x561e8f2ba600 DEBUG               GST_PADS gstpad.c:1113:gst_pad_set_active:<f:sink_0> deactivating pad from push mode
0:00:01.024757913   432 0x561e8f2ba600 DEBUG               GST_PADS gstpad.c:984:pre_activate:<f:sink_0> setting PAD_MODE NONE, set flushing
0:00:01.024794588   432 0x561e8f2ba600 DEBUG               GST_PADS gstpad.c:1047:post_activate:<f:sink_0> stopped streaming
0:00:01.024816457   432 0x561e8f2ba600 DEBUG               GST_PADS gstpad.c:1227:activate_mode_internal:<f:sink_0> deactivated in push mode
0:00:01.024823495   432 0x561e8f2ba600 INFO        GST_ELEMENT_PADS gstelement.c:784:gst_element_remove_pad:<f> removing pad 'sink_0'
0:00:01.024831150   432 0x561e8f2ba600 DEBUG        GST_REFCOUNTING gstpad.c:707:gst_pad_dispose:<'':sink_0> 0x561e8fd00ae0 dispose
0:00:01.024841127   432 0x561e8f2ba600 INFO                 default gstutils.c:2161:gst_element_link_pads_filtered: Could not link pads: avdec_h265-0:(null) - f:sink_0
0:00:01.024868439   432 0x561e8f2ba600 ERROR           GST_PIPELINE grammar.y:738:gst_parse_perform_link: could not link avdec_h265-0 to f

In Gstreamer document, funnel have sink pad that has caps type ANY. But I think log said there have no compatible caps for avdec_h265. 
I lost way to go now..

Thanks for reading.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210909/0365f03f/attachment-0001.htm>


More information about the gstreamer-devel mailing list