Internal data flow errors when receiving RTSP stream

Mailing List SVR lists at svrinformatica.it
Fri Aug 14 03:37:31 PDT 2015


Hi,

Il 12/08/2015 10:04, Guillermo Rodriguez Garcia ha scritto:
> Hello all,
>
> I am experiencing internal data flow errors when trying to display
> video over RTSP from a Hikvision NVR (specifically it is a
> DS-7616NI-SP).

this nvr generate payloads different from the one declared inside sdp 
every few seconds and gstreamer exit with not linked as soon as it 
receive these packets

please try the patch I posted here:

https://bug739419.bugzilla-attachments.gnome.org/attachment.cgi?id=307284

it simply drop any payload not declared inside sdp, no data is lost: 
these extra payloads contain metadata used by hikvision player, vlc drop 
them too,

Nicola

>
> I have tested both playbin and a custom pipeline using rtspsrc !
> fakesink (this was in order to discard decoding problems). In both
> cases the result is the same: The video is shown briefly (typically
> for a second or less..), or not shown at all, then I get an "internal
> data flow error" with reason: not-linked and the pipeline is stopped.
>
> I have not seen this before with other IP cameras, so it might be a
> problem with the Hikvision NVR. However the same stream works just
> fine in VLC -- so it could also be a GStreamer issue.
>
> I am attaching the traces for the playbin test. I am hoping someone
> have come through this before. Any pointers on how to debug this
> further will be much appreciated.
>
> GStreamer version: 1.2.4.
>
> Pipeline:
>
> gst-launch-1.0 playbin
> uri=rtsp://user:pass@192.168.1.2:554/Streaming/Channels/402
>
> Traces:
>
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Progress: (open) Opening Stream
> Progress: (connect) Connecting to
> rtsp://user:pass@192.168.1.2:554/Streaming/Channels/402
> Progress: (open) Retrieving server options
> Progress: (open) Retrieving media info
> Progress: (request) SETUP stream 0
> Progress: (open) Opened Stream
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> Progress: (request) Sending PLAY request
> Progress: (request) Sending PLAY request
> 0:00:00.536308746  5210 0x7fa23c026590 FIXME                default
> gstutils.c:3648:gst_pad_create_stream_id_printf_valist:<fakesrc0:src>
> Creating random stream-id, consider implementing a deterministic way
> of creating a stream-id
> Progress: (request) Sent PLAY request
> 0:00:00.664987319  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 2361 !=
> expected 6294
> 0:00:00.713419629  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 6294 !=
> expected 2362
> 0:00:00.714901259  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 2362 !=
> expected 6295
> 0:00:00.737791777  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 6295 !=
> expected 2363
> 0:00:00.738965527  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 2363 !=
> expected 6296
> 0:00:00.740601603  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 6296 !=
> expected 2364
> 0:00:00.742137474  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 2364 !=
> expected 6297
> 0:00:00.785908594  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 6297 !=
> expected 2365
> 0:00:00.811117078  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 2366 !=
> expected 6299
> 0:00:00.857399021  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 6299 !=
> expected 2367
> 0:00:00.880911765  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 2367 !=
> expected 6300
> 0:00:00.882411596  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 6300 !=
> expected 2368
> 0:00:00.884551426  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 2368 !=
> expected 6301
> 0:00:00.885663006  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1101:rtp_source_process_rtp: probation: seqnr 6301 !=
> expected 2369
> 0:00:00.891674698  5210 0x7fa23c005ad0 WARN         rtpjitterbuffer
> rtpjitterbuffer.c:183:rtp_jitter_buffer_set_clock_rate: Clock rate
> changed from 0 to 90000
> 0:00:00.891959967  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1096:rtp_source_process_rtp: unacceptable seqnum received
> 0:00:01.051441196  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1096:rtp_source_process_rtp: unacceptable seqnum received
> 0:00:01.058591456  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1096:rtp_source_process_rtp: unacceptable seqnum received
> 0:00:01.121773759  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1096:rtp_source_process_rtp: unacceptable seqnum received
> 0:00:01.128312634  5210 0x7fa224001630 WARN              bufferpool
> gstbufferpool.c:632:gst_buffer_pool_set_config:<xvimagebufferpool0>
> can't change config, we are active
> 0:00:01.128465847  5210 0x7fa224001630 WARN              bufferpool
> gstbufferpool.c:632:gst_buffer_pool_set_config:<xvimagebufferpool0>
> can't change config, we are active
> 0:00:01.153452983  5210 0x7fa23c005ad0 WARN               rtpsource
> rtpsource.c:1096:rtp_source_process_rtp: unacceptable seqnum received
> 0:00:01.193700362  5210 0x7fa23c005ad0 WARN                 basesrc
> gstbasesrc.c:2865:gst_base_src_loop:<udpsrc1> error: Internal data
> flow error.
> 0:00:01.193738482  5210 0x7fa23c005ad0 WARN                 basesrc
> gstbasesrc.c:2865:gst_base_src_loop:<udpsrc1> error: streaming task
> paused, reason not-linked (-1)
> ERROR: from element
> /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc1:
> Internal data flow error.
> Additional debug info:
> gstbasesrc.c(2865): gst_base_src_loop ():
> /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc1:
> streaming task paused, reason not-linked (-1)
> Execution ended after 0:00:00.658919466
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> 0:00:01.248032576  5210       0x922720 WARN                 rtspsrc
> gstrtspsrc.c:4996:gst_rtspsrc_try_send:<source> receive interrupted
> 0:00:01.248125628  5210       0x922720 WARN                 rtspsrc
> gstrtspsrc.c:6904:gst_rtspsrc_pause:<source> PAUSE interrupted
> Setting pipeline to NULL ...
> Freeing pipeline ...
>
>
> Any hints?
>



More information about the gstreamer-devel mailing list