RTSP Skew too big, reset skew

rsilagi rsilagi at bms-inc.com
Thu Aug 11 22:52:01 UTC 2016


I'm trying to play an RTSP stream.  If the stream is H.264 it plays fine. 
However, when the stream is MPEG2 I get constant "Skew too big" messages and
the video does not play.  The RTSP server is displaying the video without
problems.  This seems to be something about the source.  If I switch to a
different MPEG2 source it plays without problems. 

Does anyone have any ideas where to look for this problem and what can I do
about it.  I have set GST_DEBUG to *mpeg*:4 to print mpegts and
mpeg2decoder;

Here are the warning messages, no error messages; 

0:00:03.550437820  7947 0xf4501cc0 WARN        mpegtspacketizer
mpegtspacketizer.c:1414:calculate_skew: delta - skew: 0:00:01.956890805 too
big, reset skew
0:00:03.583087329  7947 0xf4501cc0 WARN        mpegtspacketizer
mpegtspacketizer.c:1414:calculate_skew: delta - skew: 0:00:02.002075371 too
big, reset skew
0:00:06.549910647  7947 0xf4501cc0 WARN        mpegtspacketizer
mpegtspacketizer.c:1414:calculate_skew: delta - skew:
5124092:33:39.028187818 too big, reset skew
0:00:06.581728657  7947 0xf4501cc0 WARN        mpegtspacketizer
mpegtspacketizer.c:1414:calculate_skew: delta - skew:
5124092:33:39.104187833 too big, reset skew

Here is the main parts of the pipeline:

 /* Create the playbin element */
  data.pipeline = gst_element_factory_make ("playbin", NULL);

  /* Setup the URL for the RTSP server. */
  if (BMS_MODE_RTSP)
	g_object_set (data.pipeline, "uri","rtsp://172.16.9.227:554/session_1",
NULL);
  else
	g_object_set (data.pipeline, "uri","udp://0.0.0.0:7000", NULL);

  /* Specify the video sink    */
  vsink = gst_element_factory_make ("nvoverlaysink", NULL);
  g_object_set (data.pipeline, "video_sink", vsink, NULL);
  g_object_set (vsink, "sync", FALSE, NULL);
  g_object_set (vsink, "qos", FALSE, NULL);

  /* Connect source-setup signal*/
  if (BMS_MODE_RTSP)
	g_signal_connect (data.pipeline, "source-setup", G_CALLBACK (source_setup),
&data);
  else
	g_signal_connect (data.pipeline, "source-setup", G_CALLBACK (source_udp),
&data);

  /* Instruct the bus to emit signals for each received message, and
   * connect to the interesting signals
   */
  bus = gst_element_get_bus (data.pipeline);
  gst_bus_add_watch (bus, (GstBusFunc)handle_message, &data);
  gst_object_unref (bus);

  /* Start playing the pipeline */
  gst_element_set_state (data.pipeline, GST_STATE_PLAYING);






--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/RTSP-Skew-too-big-reset-skew-tp4679054.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list