kaay
kaay

Reputation: 1103

gst-launch bogus 'no element "udpsrc"' error

The command: gst-launch udpsrc port=5000 returns: ERROR: pipeline could not be constructed: no element "udpsrc".

The command: gst-launch-1.0 udpsrc uri=udp://239.194.0.177:1026 does not, and executes (presumably) correctly.

The first command is from many streaming tutorials, e.g. this one.
The second command was taken from here. it's just to show that udpsrc is present.
They were cut down to just the offending part.

I have everything gstreamer1.0 - related up-to-date (for Ubuntu 16.04.6):

gstreamer1.0-clutter-3.0 is already the newest version (3.0.18-1).
gstreamer1.0-clutter is already the newest version (2.0.18-1).
gstreamer1.0-crystalhd is already the newest version (1:0.0~git20110715.fdd2f19-11build1).
gstreamer1.0-dvswitch is already the newest version (0.1.1-1).
gstreamer1.0-espeak is already the newest version (0.4.0-1).
gstreamer1.0-fluendo-mp3 is already the newest version (0.10.32.debian-1).
gstreamer1.0-nice is already the newest version (0.1.13-0ubuntu2).
gstreamer1.0-pocketsphinx is already the newest version (0.8.0+real5prealpha-1ubuntu2).
gstreamer1.0-alsa is already the newest version (1.8.3-1ubuntu0.3).
gstreamer1.0-doc is already the newest version (1.8.3-1~ubuntu0.1).
gstreamer1.0-plugins-base is already the newest version (1.8.3-1ubuntu0.3).
gstreamer1.0-plugins-base-apps is already the newest version (1.8.3-1ubuntu0.3).
gstreamer1.0-plugins-base-dbg is already the newest version (1.8.3-1ubuntu0.3).
gstreamer1.0-plugins-base-doc is already the newest version (1.8.3-1ubuntu0.3).
gstreamer1.0-plugins-good is already the newest version (1.8.3-1ubuntu0.4).
gstreamer1.0-plugins-good-dbg is already the newest version (1.8.3-1ubuntu0.4).
gstreamer1.0-plugins-good-doc is already the newest version (1.8.3-1ubuntu0.4).
gstreamer1.0-pulseaudio is already the newest version (1.8.3-1ubuntu0.4).
gstreamer1.0-tools is already the newest version (1.8.3-1~ubuntu0.1).
gstreamer1.0-x is already the newest version (1.8.3-1ubuntu0.3).
libgstreamer1.0-0 is already the newest version (1.8.3-1~ubuntu0.1).
libgstreamer1.0-0-dbg is already the newest version (1.8.3-1~ubuntu0.1).
libgstreamer1.0-dev is already the newest version (1.8.3-1~ubuntu0.1).
gstreamer1.0-libav is already the newest version (1.8.3-1ubuntu0.2).
gstreamer1.0-libav-dbg is already the newest version (1.8.3-1ubuntu0.2).
gstreamer1.0-packagekit is already the newest version (0.8.17-4ubuntu6~gcc5.4ubuntu1.4).
gstreamer1.0-plugins-bad is already the newest version (1.8.3-1ubuntu0.2).
gstreamer1.0-plugins-bad-dbg is already the newest version (1.8.3-1ubuntu0.2).
gstreamer1.0-plugins-bad-doc is already the newest version (1.8.3-1ubuntu0.2).
gstreamer1.0-plugins-bad-faad is already the newest version (1.8.3-1ubuntu0.2).
gstreamer1.0-plugins-bad-videoparsers is already the newest version (1.8.3-1ubuntu0.2).
gstreamer1.0-plugins-ugly is already the newest version (1.8.3-1ubuntu0.1).
gstreamer1.0-plugins-ugly-amr is already the newest version (1.8.3-1ubuntu0.1).
gstreamer1.0-plugins-ugly-dbg is already the newest version (1.8.3-1ubuntu0.1).
gstreamer1.0-plugins-ugly-doc is already the newest version (1.8.3-1ubuntu0.1).
gstreamer1.0-vaapi is already the newest version (1.8.3-1~ubuntu0.1).
gstreamer1.0-vaapi-doc is already the newest version (1.8.3-1~ubuntu0.1).
gstreamer1.0-hybris:i386 is already the newest version (1.8.3-1ubuntu0.2).



$ gst-inspect-1.0 udpsrc
Factory Details:
  Rank                     none (0)
  Long-name                UDP packet receiver
  Klass                    Source/Network
  Description              Receive data over the network via UDP
  Author                   Wim Taymans <[email protected]>, Thijs Vermeir <[email protected]>

Plugin Details:
  Name                     udp
  Description              transfer data via UDP
  Filename                 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstudp.so
  Version                  1.8.3
  License                  LGPL
  Source module            gst-plugins-good
  Source release date      2016-08-19
  Binary package           GStreamer Good Plugins (Ubuntu)
  Origin URL               https://launchpad.net/distros/ubuntu/+source/gst-plugins-good1.0

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBaseSrc
                         +----GstPushSrc
                               +----GstUDPSrc

Implemented Interfaces:
  GstURIHandler

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ANY


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: 0x7f38aa386e10

Element has no clocking capabilities.

URI handling capabilities:
  Element can act as source.
  Supported URI protocols:
    udp

Pads:
  SRC: 'src'
    Pad Template: 'src'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "udpsrc0"
  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"
  blocksize           : Size in bytes to read per buffer (-1 = default)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 4096 
  num-buffers         : Number of buffers to output before sending EOS (-1 = unlimited)
                        flags: readable, writable
                        Integer. Range: -1 - 2147483647 Default: -1 
  typefind            : Run typefind before negotiating
                        flags: readable, writable
                        Boolean. Default: false
  do-timestamp        : Apply current stream time to buffers
                        flags: readable, writable
                        Boolean. Default: true
  port                : The port to receive the packets from, 0=allocate
                        flags: readable, writable
                        Integer. Range: 0 - 65535 Default: 5004 
  multicast-group     : The Address of multicast group to join. (DEPRECATED: Use address property instead)
                        flags: readable, writable, deprecated
                        String. Default: "0.0.0.0"
  multicast-iface     : The network interface on which to join the multicast group
                        flags: readable, writable
                        String. Default: null
  uri                 : URI in the form of udp://multicast_group:port
                        flags: readable, writable
                        String. Default: "udp://0.0.0.0:5004"
  caps                : The caps of the source pad
                        flags: readable, writable
                        Caps (NULL)
  socket              : Socket to use for UDP reception. (NULL == allocate)
                        flags: readable, writable
                        Object of type "GSocket"
  buffer-size         : Size of the kernel receive buffer in bytes, 0=default
                        flags: readable, writable
                        Integer. Range: 0 - 2147483647 Default: 0 
  timeout             : Post a message after timeout nanoseconds (0 = disabled)
                        flags: readable, writable
                        Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0 
  skip-first-bytes    : number of bytes to skip for each udp packet
                        flags: readable, writable
                        Integer. Range: 0 - 2147483647 Default: 0 
  close-socket        : Close socket if passed as property on state change
                        flags: readable, writable
                        Boolean. Default: true
  used-socket         : Socket currently in use for UDP reception. (NULL = no socket)
                        flags: readable
                        Object of type "GSocket"
  auto-multicast      : Automatically join/leave multicast groups
                        flags: readable, writable
                        Boolean. Default: true
  reuse               : Enable reuse of the port
                        flags: readable, writable
                        Boolean. Default: true
  address             : Address to receive packets for. This is equivalent to the multicast-group property for now
                        flags: readable, writable
                        String. Default: "0.0.0.0"
  loop                : Used for setting the multicast loop parameter. TRUE = enable, FALSE = disable
                        flags: readable, writable
                        Boolean. Default: true

What the hell?
Or, if it's "unclear what I'm asking": what do I need to do / reorder / adjust / reconfigure / recompile / etc to receive a stream coming in at port 5000? Most examples I've seen start with "gst-launch udpsrc port=...".

Upvotes: 0

Views: 5627

Answers (2)

ConcernedHobbit
ConcernedHobbit

Reputation: 874

I had this error today as well, but for a different reason. I'm posting this answer just in case anyone else happens to come across it as well.

It turns out I did not have all the development packages for GStreamer installed, specifically gstreamer-1.0-msvc-x86_64-1.16.0.msi (it should be noted this is on my Windows machine). After I installed that, GStreamer was able to locate udpsrc.

Upvotes: 1

RSATom
RSATom

Reputation: 867

In first command you use gst-launch but in second gst-launch-1.0 - it's the reason of your problem. You should always use gst-launch-1.0. gst-launch is related to GStreamer 0.1

Upvotes: 2

Related Questions