Search code examples
queuegstreamerteegst-launch-1.0

gst-launch-1.0 erroneous pipeline: could not link queue2 to videoconvert0


I am trying to send a video source to three outputs: multicast, filesystem, and (resized video) display with gst-launch-1.0.

This is the command,

gst-launch-1.0   videotestsrc  !  x264enc  !  tee name=t  \
  t.  !  queue  !  rtph264pay  !  udpsink host=224.1.1.1 port=20000 auto-multicast=true  \
  t.  !  queue  !  h264parse  !  splitmuxsink location=./vid%02d.mkv max-size-time=10000000000  \
  t.  !  queue  !  videoconvert  !  videoscale  !  video/x-raw,width=100  !  autovideosink

and this is the error,

WARNING: erroneous pipeline: could not link queue2 to videoconvert0

Solution

  • Your problem is that you are sending h264 stream to videconvert that rather expects raw video. So you would just add decoding:

    gst-launch-1.0 -e videotestsrc ! video/x-raw,width=640,height=480,framerate=30/1 ! queue ! x264enc ! tee name=t    t. ! queue ! rtph264pay ! udpsink host=224.1.1.1 port=20000 auto-multicast=true     t. ! queue ! h264parse ! splitmuxsink location=./vid%02d.mkv max-size-time=10000000000     t. ! queue ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw,width=100 ! autovideosink