Hello,
I am trying to stream webm file unmodified video stream (no encode or decode) through rtp server and then on client side i mux the video stream and do file sink to generate webm file. The problem is the generated webm file on client side will stalled if play it back for a while (for example stalled after 0:01:26 ) VIDEO_CAPS="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)VP8" server script: gst-launch-1.0 rtpbin name=rtpbin \ filesrc location=USER002.webm ! matroskademux name=demux demux.video_0 ! rtpvp8pay ! rtpbin.send_rtp_sink_0 \ rtpbin.send_rtp_src_0 ! udpsink host=$DEST port=5000 \ rtpbin.send_rtcp_src_0 ! udpsink host=$DEST port=5001 sync=true async=false \ udpsrc address=$SRC port=5005 ! rtpbin.recv_rtcp_sink_0 client script: gst-launch-1.0 -v -m rtpbin name=rtpbin latency=0 \ udpsrc caps=$VIDEO_CAPS address=localhost port=5000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtpvp8depay ! queue ! webmmux name=mux ! \ filesink location=output.webm udpsrc address=localhost port=5001 ! \ rtpbin.recv_rtcp_sink_0 rtpbin.send_rtcp_src_0 ! udpsink host=localhost port=5005 sync=true async=false playback: ./gst-launch-1.0 -v -m filesrc location=output.webm ! decodebin ! autovideosink here is the message warning during playback when video is stalled (at 0:01:26) 0:01:26.282471000 44883 0x7fcf0f0150f0 WARN videodecoder gstvideodecoder.c:2775:void gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *, gboolean):<vp8dec0> decreasing timestamp (0:00:26.623000000 < 0:01:32.044000000) Got message #1072 from element "vp8dec0" (qos): GstMessageQOS, live=(boolean)false, running-time=(guint64)86127000000, stream-time=(guint64)86127000000, timestamp=(guint64)92044000000, duration=(guint64)18446744073709551615, jitter=(gint64)-91310402, proportion=(double)0.074882353626069847, quality=(int)1000000, format=(GstFormat)GST_FORMAT_BUFFERS, processed=(guint64)787, dropped=(guint64)1; 0:01:26.284993000 44883 0x7fcf0f0150f0 WARN videodecoder gstvideodecoder.c:2775:void gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *, gboolean):<vp8dec0> decreasing timestamp (0:00:26.709000000 < 0:01:32.044000000) Got message #1074 from element "vp8dec0" (qos): GstMessageQOS, live=(boolean)false, running-time=(guint64)86127000000, stream-time=(guint64)86127000000, timestamp=(guint64)92044000000, duration=(guint64)18446744073709551615, jitter=(gint64)-91310402, proportion=(double)0.074882353626069847, quality=(int)1000000, format=(GstFormat)GST_FORMAT_BUFFERS, processed=(guint64)787, dropped=(guint64)2; 0:01:26.287514000 44883 0x7fcf0f0150f0 WARN videodecoder gstvideodecoder.c:2775:void gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *, gboolean):<vp8dec0> decreasing timestamp (0:00:26.822000000 < 0:01:32.044000000) Got message #1076 from element "vp8dec0" (qos): GstMessageQOS, live=(boolean)false, running-time=(guint64)86127000000, stream-time=(guint64)86127000000, timestamp=(guint64)92044000000, duration=(guint64)18446744073709551615, jitter=(gint64)-91310402, proportion=(double)0.074882353626069847, quality=(int)1000000, format=(GstFormat)GST_FORMAT_BUFFERS, processed=(guint64)787, dropped=(guint64)3; 0:01:26.289697000 44883 0x7fcf0f0150f0 WARN videodecoder gstvideodecoder.c:2775:void gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *, gboolean):<vp8dec0> decreasing timestamp (0:00:26.913000000 < 0:01:32.044000000) Got message #1078 from element "vp8dec0" (qos): GstMessageQOS, live=(boolean)false, running-time=(guint64)86127000000, stream-time=(guint64)86127000000, timestamp=(guint64)92044000000, duration=(guint64)18446744073709551615, jitter=(gint64)-91310402, proportion=(double)0.074882353626069847, quality=(int)1000000, format=(GstFormat)GST_FORMAT_BUFFERS, processed=(guint64)787, dropped=(guint64)4; ... (repeat almost same warning message until EOS) -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
i think i can solve it but i am not sure what the reason behind it
if i set "max-cluster-duration=1000000000" (i believe this is 1 sec) to the webmux then the result webm will continuously play. gst-launch-1.0 -v -m rtpbin name=rtpbin latency=0 \ udpsrc caps=$VIDEO_CAPS address=localhost port=5000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtpvp8depay ! queue ! webmmux max-cluster-duration=1000000000 name=mux ! \ filesink location=output.webm udpsrc address=localhost port=5001 ! \ rtpbin.recv_rtcp_sink_0 rtpbin.send_rtcp_src_0 ! udpsink host=localhost port=5005 sync=true async=false -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |