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