• Hardware Platform (Jetson / GPU) Jetson • DeepStream Version6.1.1
Hi, I am trying to use a rtsp stream as input source of deepstream,but the image seems to be a little bit strange with some mosaic:
As you can see,it’s clearer.
By the way, the rtsp stream comes from the ffmpeg tool, and the color_image which displayed by the cv2.imshow is the input image of ffmpeg.
So maybe there must be some image quality loss when I transform it into rtsp stream? Or is there any way to improve this situation.
which sample are you testing? what is the media pipeline? could you use the latest DS7.1 to reproduce this issue? Thanks! if the issue remains on DS7.1, could you share the detailed reproducing steps?
I am testing deepstream-app sample.What do you mean media pipeline?
I may spend more time familiarizing myself with the DS7.1 codes,so if possible,I wish it can be solved in this version.
If using deepstraem-app, could you share the configuration file of deepstream-app? wondering what plugins are used in your application.
To reproduce this issue at my side, could you share how did you set up rtsp server? and please share the source video. Thanks!
what is rtspserver software? ffserver? Based on your cfg, after testing with local file, I can’t reproduce this issue on Orin with DS7.1. please refer to the screenshot in vlc.zip. deepstream_app_config_cus.txt (1.6 KB) vlc.zip (364.0 KB)
could your the share the media information of rtsp by this cmd or other cmd?
ffprobe -i rtsp://127.0.0.1:8554/test.stream
could you record some stream data this cmd? wondering if the data DeepStream got is fine.
For command 2,I add .stream on the command: gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/test.stream ! rtph264depay ! h264parse ! mux. mpegtsmux name=mux ! filesink location=output.ts
The output:
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
进度:(open)Opening Stream
进度:(connect)Connecting to rtsp://127.0.0.1:8554/test.stream
进度:(open)Retrieving server options
进度:(open)Retrieving media info
进度:(request)SETUP stream 0
进度:(open)Opened Stream
设置播放管道 ...
New clock: GstSystemClock
进度:(request)Sending PLAY request
进度:(request)Sending PLAY request
进度:(request)Sent PLAY request
警告:来自组件 /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:延迟链接失败。
额外的调试信息:
./grammar.y(506): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
failed delayed linking some pad of GstRTSPSrc named rtspsrc0 to some pad of GstRtpH264Depay named rtph264depay0
错误:来自组件 /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0:Internal data stream error.
额外的调试信息:
gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0:
streaming stopped, reason not-linked (-1)
Execution ended after 0:00:00.232187214
设置 NULL 管道 ...
释放管道资源 ...
And the output.ts seems to be nothing but blank space.
For command 3:
设置暂停管道 ...
管道正在 PREROLLING ...
nvbufsurface: NvBufSurfaceCopy: mem copy failed
nvbufsurface: NvBufSurfaceCopy: failed to copy
管道被 PREROLLED ...
设置播放管道 ...
New clock: GstSystemClock
收到来自组件“pipeline0”的 EOS 信号。
Execution ended after 0:00:00.000792309
设置 NULL 管道 ...
释放管道资源 ...
from the log, the video format of rtsp source is mpeg4. what I understand is: rospy interface gets raw data, then ffmpeg send the raw data to mediamtx , then mediamtx encode raw data to mpeg4 stream. right?
are you using cv2.imshow to play raw data, which is sent by ffmpeg to mediamtx? AYK, mpeg4 is lossy encoding, the image quality of encoded stream is worse that raw data. I suggest using h264 encoding, which has a better encoding performance.
could you share the output.ts after running the following cmd? wondering if the data DeepStream got is fine.
Thanks for the update! I checked output.ts.zip. but I can’t see any video. maybe it is too short. can you provide a longer one? is there mosaic after running the following cmd? please share a screenshot. Thanks!
Hi,I use the config:
‘-c:v’, ‘libx264’
but when I put the stream into deepstream,there is error:
NVMEDIA: NvMMLiteNVMEDIAProcessVES: 1824: NvMediaParserParse Unsupported Codec
Stream format not found, dropping the frame
Stream format not found, dropping the frame
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 2228: NVMEDIA Video Dec Unsupported Stream
ERROR from nvv4l2decoder0: Failed to process frame.
Debug info: /dvs/git/dirty/git-master_linux/3rdparty/gst/gst-v4l2/gst-v4l2/gstv4l2videodec.c(1815): gst_v4l2_video_dec_handle_frame (): /GstPipeline:pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin0/GstURIDecodeBin:src_elem/GstDecodeBin:decodebin0/nvv4l2decoder:nvv4l2decoder0:
Maybe be due to not enough memory or failing driver
ERROR from nvv4l2decoder0: Failed to process frame.
Debug info: /dvs/git/dirty/git-master_linux/3rdparty/gst/gst-v4l2/gst-v4l2/gstv4l2videodec.c(1815): gst_v4l2_video_dec_handle_frame (): /GstPipeline:pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin0/GstURIDecodeBin:src_elem/GstDecodeBin:decodebin0/nvv4l2decoder:nvv4l2decoder0:
Maybe be due to not enough memory or failing driver
NVMEDIA: NvMMLiteNVMEDIAProcessVES: 1824: NvMediaParserParse Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 2228: NVMEDIA Video Dec Unsupported Stream
NVMEDIA: NvMMLiteNVMEDIAProcessVES: 1824: NvMediaParserParse Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIAProcessVES: 1824: NvMediaParserParse Unsupported Codec
Quitting
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 2228: NVMEDIA Video Dec Unsupported Stream
NVMEDIA: NvMMLiteNVMEDIAProcessVES: 1824: NvMediaParserParse Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 2228: NVMEDIA Video Dec Unsupported Stream
NVMEDIA: NvMMLiteNVMEDIAProcessVES: 1824: NvMediaParserParse Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 2228: NVMEDIA Video Dec Unsupported Stream
NVMEDIA: NvMMLiteNVMEDIAProcessVES: 1824: NvMediaParserParse Unsupported Codec
ERROR from nvv4l2decoder0: Failed to process frame.
Debug info: /dvs/git/dirty/git-master_linux/3rdparty/gst/gst-v4l2/gst-v4l2/gstv4l2videodec.c(1815): gst_v4l2_video_dec_handle_frame (): /GstPipeline:pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin0/GstURIDecodeBin:src_elem/GstDecodeBin:decodebin0/nvv4l2decoder:nvv4l2decoder0:
Maybe be due to not enough memory or failing driver
ERROR from nvv4l2decoder0: Failed to process frame.
Debug info: /dvs/git/dirty/git-master_linux/3rdparty/gst/gst-v4l2/gst-v4l2/gstv4l2videodec.c(1815): gst_v4l2_video_dec_handle_frame (): /GstPipeline:pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin0/GstURIDecodeBin:src_elem/GstDecodeBin:decodebin0/nvv4l2decoder:nvv4l2decoder0:
Maybe be due to not enough memory or failing driver
ERROR from nvv4l2decoder0: Failed to process frame.
Debug info: /dvs/git/dirty/git-master_linux/3rdparty/gst/gst-v4l2/gst-v4l2/gstv4l2videodec.c(1815): gst_v4l2_video_dec_handle_frame (): /GstPipeline:pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin0/GstURIDecodeBin:src_elem/GstDecodeBin:decodebin0/nvv4l2decoder:nvv4l2decoder0:
Maybe be due to not enough memory or failing driver
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 2228: NVMEDIA Video Dec Unsupported Stream
NVMEDIA: NvMMLiteNVMEDIAProcessVES: 1824: NvMediaParserParse Unsupported Codec
App run failed
can you share result of “ffprobe -i rtsp://127.0.0.1:8554/test.stream” again? wondering the current encoding type.
can you see the normal video after running "ffplay rtsp://127.0.0.1:8554/test.stream "?
Noticing you set h264, could you share output1.ts by running “gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/test ! rtph264depay ! h264parse ! mux. mpegtsmux name=mux ! filesink location=output1.ts”? let me check if it can be decoded.
Input #0, rtsp, from ‘rtsp://127.0.0.1:8554/test.stream’:
Metadata:
title : No Name
Duration: N/A, start: -0.033333, bitrate: N/A
Stream #0:0: Video: h264 (High 4:4:4 Predictive), yuv444p(progressive), 640x480, 30 fps, 30 tbr, 90k tbn, 60 tbc
2.For command 2:
Yes,but with great latency in video.
3.For command 3:
设置暂停管道 …
管道正在使用且不需要 PREROLL …
进度:(open)Opening Stream
进度:(connect)Connecting to rtsp://127.0.0.1:8554/test.stream
进度:(open)Retrieving server options
进度:(open)Retrieving media info
进度:(request)SETUP stream 0
进度:(open)Opened Stream
设置播放管道 …
New clock: GstSystemClock
进度:(request)Sending PLAY request
进度:(request)Sending PLAY request
进度:(request)Sent PLAY request