Cannot get metaframe if using Gst.parse_launch

Please provide complete information as applicable to your setup.

**• Hardware Platform (Jetson / GPU) GPU
**• DeepStream Version 5.1.5
**• NVIDIA GPU Driver Version (valid for GPU only) 460
i try to create gst pipeline using parse_lauch
https://gist.github.com/HoangTienDuc/79c857b1c0a5a64539877633b5c1d2f3#file-gstreamer_nvcodec-py-L55
it work sucessfully without add_probe
https://gist.github.com/HoangTienDuc/79c857b1c0a5a64539877633b5c1d2f3#file-gstreamer_nvcodec-py-L91
my issue is that i cannot get frame meta from gstbuffer
https://gist.github.com/HoangTienDuc/79c857b1c0a5a64539877633b5c1d2f3#file-gstreamer_nvcodec-py-L22

Traceback (most recent call last):
  File "/data/deepstream_python_apps/apps/deepstream-test1/customize_gs_parser.py", line 22, in filter_pad_buffer_probe
    l_frame = batch_meta.frame_meta_list
AttributeError: 'NoneType' object has no attribute 'frame_meta_list'

There is no nvstreammux in your pipeline. So there is no batch meta in the whole pipeline.

so could you helpe how to add nvstreammux with gst.parse_launch or add streamux with rtspsrc to read rtsp

There are python deepstream samples GitHub - NVIDIA-AI-IOT/deepstream_python_apps: A project demonstrating use of Python for DeepStream sample apps given as a part of SDK (that are currently in C,C++). here. You can refer to the pipelines.

but there are no guide for read rstp.

Are you familiar with gstreamer? Do you know what the line “pipeline = Gst.parse_launch(‘rtspsrc name=m_rtspsrc ! rtph264depay! h264parse name=h264-parser ! nvv4l2decoder name=decoder !
nvvideoconvert name=convertor ! capsfilter name=filter ! nveglglessink name=sink’)” in you code mean?

i have a little bit knowledge about gstreamer.
if i create source as below. it works

source = Gst.ElementFactory.make("filesrc", "file-source")

but i don’t know why it didnot work with my modification

source = Gst.ElementFactory.make("rtspsrc", "file-source")
Error: gst-stream-error-quark: Internal data stream error. (1): gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstRTSPSrc:file-source/GstUDPSrc:udpsrc1:
streaming stopped, reason not-linked (-1

Good. Your code has shown you the correct pipeline.

“pipeline = Gst.parse_launch(‘rtspsrc name=m_rtspsrc ! rtph264depay! h264parse name=h264-parser ! nvv4l2decoder name=decoder !
nvvideoconvert name=convertor ! capsfilter name=filter ! nveglglessink name=sink’)”

There is rtph264depay and h264parse before nvv4l2decoder. Please refer to your own code for the modification.

Please use gst-launch tool to try your pipeline before you implement the pipeline with python script. It is a common development skill for gstreamer.

maybe i find that solution. Inference on RTSP Stream