<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I tried but didn’t successful..<div class=""><br class=""></div><div class="">What could be wrong with below pipeline ? </div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class="">gst-launch-1.0 funnel name=fun </div><div class=""><br class=""></div><div class="">! queue name=custom_pre_convert_0 leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! videoconvert n-threads=1 qos=false </div><div class=""><br class=""></div><div class="">! video/x-raw,format=RGB </div><div class=""><br class=""></div><div class="">! queue name=custom_pre_cropper1_q leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customcropper so-path=/local/workspace/custom/apps/h8/gstreamer/libs/post_processes//cropping_algorithms/libwhole_buffer.so function-name=create_crops use-letterbox=true resize-method=inter-area internal-offset=true name=cropper1 customaggregator name=agg1 cropper1. </div><div class=""><br class=""></div><div class="">! queue name=bypess1_q leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! agg1. cropper1. </div><div class=""><br class=""></div><div class="">! queue name=custom_pre_detector_q leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customnet hef-path=/local/workspace/custom/apps/h8/gstreamer/general/multi_person_multi_camera_tracking/resources/yolov5s_personface_reid.hef scheduling-algorithm=1 vdevice-key=1 </div><div class=""><br class=""></div><div class="">! queue name=detector_post_q leaky=no max-size-buffers=1000 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customfilter so-path=/local/workspace/custom/apps/h8/gstreamer/libs/post_processes//libyolo_post.so qos=false function_name=yolov5_personface_letterbox config-path=/local/workspace/custom/apps/h8/gstreamer/general/multi_person_multi_camera_tracking/resources/configs/yolov5_personface.json </div><div class=""><br class=""></div><div class="">! queue name=detector_pre_agg_q leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! agg1. agg1. </div><div class=""><br class=""></div><div class="">! queue name=custom_pre_tracker leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customtracker name=custom_tracker custom-objects-blacklist=custom_landmarks,custom_depth_mask,custom_class_mask,custom_matrix class-id=1 kalman-dist-thr=0.7 iou-thr=0.7 init-iou-thr=0.8 keep-new-frames=2 keep-tracked-frames=4 keep-lost-frames=8 qos=false std-weight-position-box=0.01 std-weight-velocity-box=0.001 </div><div class=""><br class=""></div><div class="">! queue leaky=no max-size-buffers=60 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customfilter function-name=alp_crop config-path=aliveliDereliX use-gst-buffer=true so-path=/local/workspace/custom/apps/h8/gstreamer/libs/post_processes/libalpullu_crop.so </div><div class=""><br class=""></div><div class="">! queue name=custom_pre_cropper2_q leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customcropper so-path=/local/workspace/custom/apps/h8/gstreamer/libs/post_processes//cropping_algorithms/libre_id.so function-name=create_crops internal-offset=true name=cropper2 customaggregator name=agg2 cropper2. </div><div class=""><br class=""></div><div class="">! queue name=bypess2_q leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! agg2. cropper2. </div><div class=""><br class=""></div><div class="">! queue name=pre_reid_q leaky=no max-size-buffers=10 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customnet hef-path=/local/workspace/custom/apps/h8/gstreamer/general/multi_person_multi_camera_tracking/resources/repvgg_a0_person_reid_2048.hef scheduling-algorithm=1 vdevice-key=1 </div><div class=""><br class=""></div><div class="">! queue name=reid_post_q leaky=no max-size-buffers=10 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customfilter so-path=/local/workspace/custom/apps/h8/gstreamer/libs/post_processes//libre_id.so qos=false </div><div class=""><br class=""></div><div class="">! queue name=reid_pre_agg_q leaky=no max-size-buffers=10 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! agg2. agg2. </div><div class=""><br class=""></div><div class="">! queue name=custom_pre_gallery leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customgallery similarity-thr=.4 gallery-queue-size=100 class-id=1 </div><div class=""><br class=""></div><div class="">! queue name=custom_post_gallery leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! videoscale n-threads=2 add-borders=false qos=false </div><div class=""><br class=""></div><div class="">! video/x-raw, width=800, height=450, pixel-aspect-ratio=1/1 </div><div class=""><br class=""></div><div class="">! queue name=custom_pre_draw leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! customfilter use-gst-buffer=true so-path=/local/workspace/custom/apps/h8/gstreamer/libs/apps/re_id//libre_id_overlay.so qos=false </div><div class=""><br class=""></div><div class="">! queue name=custom_post_draw leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! streamiddemux name=sid compositor name=comp start-time-selection=0 sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=640 sink_1::ypos=0 sink_2::xpos=1280 sink_2::ypos=0 sink_3::xpos=1920 sink_3::ypos=0 sink_4::xpos=0 sink_4::ypos=640 sink_5::xpos=640 sink_5::ypos=640 sink_6::xpos=1280 sink_6::ypos=640 sink_7::xpos=1920 sink_7::ypos=640 sink_8::xpos=0 sink_8::ypos=1280 sink_9::xpos=640 sink_9::ypos=1280 sink_10::xpos=1280 sink_10::ypos=1280 sink_11::xpos=1920 sink_11::ypos=1280 sink_12::xpos=0 sink_12::ypos=1920 sink_13::xpos=640 sink_13::ypos=1920 sink_14::xpos=1280 sink_14::ypos=1920 sink_15::xpos=1920 sink_15::ypos=1920 </div><div class=""><br class=""></div><div class="">! queue name=custom_video_q_0 leaky=no max_size_buffers=30 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! videoconvert n-threads=2 qos=false </div><div class=""><br class=""></div><div class="">! queue name=custom_display_q_0 leaky=no max_size_buffers=300 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! fpsdisplaysink video-sink=xvimagesink name=custom_display sync=false text-overlay=true fallbacksrc uri=='<a href="rtsp://custom:custom2023@172.16.100.20:554/cam/realmonitor?channel=25&subtype=0" class="">rtsp://custom:custom2023@172.16.100.20:554/cam/realmonitor?channel=25&subtype=0</a>' timeout=20000000000 name=xource_0 fallback-uri=<a href="file:///local/workspace/custom/orange.jpg" class="">file:///local/workspace/custom/orange.jpg</a> </div><div class=""><br class=""></div><div class="">! decodebin </div><div class=""><br class=""></div><div class="">! queue name=custom_preprocess_q_0 leaky=no max-size-buffers=32 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! decodebin3 </div><div class=""><br class=""></div><div class="">! queue leaky=downstream max-size-buffers=32 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! videoscale n-threads=8 </div><div class=""><br class=""></div><div class="">! video/x-raw,pixel-aspect-ratio=1/1 </div><div class=""><br class=""></div><div class="">! videoconvert n-threads=8 </div><div class=""><br class=""></div><div class="">! video/x-raw,pixel-aspect-ratio=1/1 </div><div class=""><br class=""></div><div class="">! custompython qos=false module=/local/workspace/custom/apps/h8/gstreamer/general/multi_person_multi_camera_tracking/add_metadata.py function=test0 </div><div class=""><br class=""></div><div class="">! fun.sink_0 sid.src_0 </div><div class=""><br class=""></div><div class="">! queue name=comp_q_0 leaky=downstream max-size-buffers=5 max-size-bytes=0 max-size-time=0 </div><div class=""><br class=""></div><div class="">! comp.sink_0</div><div><br class=""></div><div><br class=""></div><div><br class=""></div><div><br class=""></div><div><br class=""></div><div><br class=""></div><div><div>Setting pipeline to PAUSED ...</div><div>0:00:00.083481833 1706563 0x5590078b8f50 ERROR            fallbacksrc utils/fallbackswitch/src/fallbacksrc/<a href="http://imp.rs:1482" class="">imp.rs:1482</a>:gstfallbackswitch::fallbacksrc::imp::FallbackSrc::change_source_state:<xource_0> source failed to change state</div><div> << : -----------------PAD</div><div>aliveliDereliX : -----------------configPath</div><div>aliveliDereliX : -----------------configPath</div><div>xx INITIALIZATION ...................</div><div>INITIALIZATION ...................</div><div>xx..INITIALIZATION ...................</div><div>1 - - INITIALIZATION ...................</div><div>2 - -  INITIALIZATION ...................</div><div>INI TIALIZATION ...................</div><div>INI TIALIZATION ...................</div><div>INITIALIZATION ...................</div><div>Pipeline is PREROLLING ...</div><div>Redistribute latency...</div><div>Redistribute latency...</div><div>Redistribute latency...</div><div>0:00:01.083850290 1706563 0x55900791af00 ERROR            fallbacksrc utils/fallbackswitch/src/fallbacksrc/<a href="http://imp.rs:3190" class="">imp.rs:3190</a>:gstfallbackswitch::fallbacksrc::imp::FallbackSrc::handle_source_error::{{closure}}::{{closure}}::{{closure}}:<xource_0> source failed to change state</div><div>^Chandling interrupt.</div><div>Interrupt: Stopping pipeline ...</div><div>Setting pipeline to NULL ...</div><div>Freeing pipeline ...</div><blockquote type="cite" class=""><div class="">On 21 Jul 2023, at 17:13, Tim-Philipp Müller via gstreamer-devel <<a href="mailto:gstreamer-devel@lists.freedesktop.org" class="">gstreamer-devel@lists.freedesktop.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">Hi,</div><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class=""></div><blockquote type="cite" style="margin: 0px 0px 0px 0.8ex; font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(114, 159, 207); padding-left: 1ex;" class=""><div class="">I have 16 rtsp sources (cam) I am looking a solution to detect unavailable rtsp source whether starting the program or after a while , and replace the stream output with a logo until its available again. The pipeline has many plugins object detection etc.<span class="Apple-converted-space"> </span><br class=""></div><div class=""><br class=""></div><div class="">Is there any way to do this ?<span class="Apple-converted-space"> </span><br class=""></div></blockquote><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">fallbacksrc or fallbackswitch from gst-plugins-rs might be able to achieve what you want:</div><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><a href="https://gstreamer.freedesktop.org/documentation/fallbackswitch/index.html?gi-language=c#fallbackswitch-page" class="">https://gstreamer.freedesktop.org/documentation/fallbackswitch/index.html?gi-language=c#fallbackswitch-page</a></div><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class=""></div><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">Cheers</div><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""> Tim</div></div></blockquote></div><br class=""></div></body></html>