Hello!
I’m trying run pipeline for decode rtsp stream to appsink and writing video to file.
Two different pipelines run with success:
self.pipeline = Gst.parse_launch(
f"rtspsrc name=m_rtspsrc ! rtph264depay ! h264parse ! matroskamux ! filesink
location=data/streams/{self.config.camera_name}_{str(datetime.datetime.now()).replace(' ', '_')}.mkv"
)
and
self.pipeline = Gst.parse_launch(
"rtspsrc name=m_rtspsrc ! rtph264depay ! h264parse ! nvv4l2decoder disable-dpb=true enable-max-performance=true !
nvvidconv ! capsfilter name=m_capsfilter1 ! videoconvert ! appsink name=m_appsink"
)
But when i try run pipeline with parallel two sinks, then creates empty .mkv file and has no images from appsink. Pipeline:
self.pipeline = Gst.parse_launch(
"rtspsrc name=m_rtspsrc ! rtph264depay ! h264parse ! "
"tee name=mytee ! queue ! nvv4l2decoder disable-dpb=true enable-max-performance=true ! nvvidconv ! capsfilter name=m_capsfilter1 ! videoconvert ! appsink name=m_appsink mytee. ! "
f"queue ! matroskamux ! filesink location=data/streams/{self.config.camera_name}_{str(datetime.datetime.now()).replace(' ', '_')}.mkv"
)
How can I solve my problem?
• Hardware Platform (Jetson Xavier NX)
• Gstreamer Version 1.14.5
• JetPack Version (4.6)
• Docker image nvcr.io/nvidia/l4t-ml:r32.6.1-py3