Weird bugs on gstreamer 1.6 and rtp*depay quesion

Tim Müller tim at centricular.com
Tue Nov 17 01:16:07 PST 2015


On Tue, 2015-11-17 at 11:48 +0300, Krutskikh Ivan wrote:

Hi,

> 1) rtspsrc with default protocols fails with
> 
> gstrtspsrc.c(6856): gst_rtspsrc_setup_streams ():
> /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
> Could not setup transport.
> 
> This can be fixed with protocols=tcp option on pipeline

Need more information, try to see if you spot anything suspicious in
the GST_DEBUG=rtsp*:6 output.


> 2) mp4mux element produces file with 0 duration. When i use ffprobe
> on new recorded rtsp stream I get 00:00:00 duration, yet the size is
> definitely non zero. This can be fixed if I use matroskamux instread.
> 
> 
> Is this a broken repo/library issue or am I doing wrong here?

This likely means you did not shut down the pipeline correctly when you
decided to finish recording/muxing, thus the muxer had no chance to
finalise the headers. mp4mux/qtmux need to finalise the file structure,
otherwise the file is unreadable.

Steps:

  - gst_element_send_event (pipeline, gst_event_new_eos());
  - ... wait for GST_MESSAGE_EOS on the pipeline bus
  - gst_element_set_state (pipeline, GST_STATE_NULL);

If you are using gst-launch-1.0, pass the -e option to it.


> And other big question: how can I automatically define rtp pay/depay
> time for each camera type when recording live video streams? I have
> several types: mjpeg over rtp, h264 over rtp, h265 over rtp and
> possibly mpeg-ts over http and multipart mjpeg over http.  Right now
> I have command line switched for each codec, witch looks awkward as
> hell.

There's no auto rtp depayloader yet (if that's what you want).

You can use decodebin to plug the right depayloader + decoder.

You can also use decodebin to plug the right depayloader and use the
"autoplug-continue" signal to make it stop autoplugging after it has
plugged the depayloader. This should achieve what you want.

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com




More information about the gstreamer-devel mailing list