Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. GStreamer : Pipeline to connect VNC server and Display/Record the remote GUI
Forum Updated to NodeBB v4.3 + New Features

GStreamer : Pipeline to connect VNC server and Display/Record the remote GUI

Scheduled Pinned Locked Moved Solved General and Desktop
35 Posts 3 Posters 16.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • jsulmJ jsulm

    @LeLev That's why it is important to post all errors: many errors are just follow up errors caused by another error.

    ODБOïO Offline
    ODБOïO Offline
    ODБOï
    wrote on last edited by ODБOï
    #13

    @jsulm said in GStreamer : understanding the concept of 'pipeline':

    all errors

    saved for the next time.

    I'm confused about this lib.
    In this hello world exemple they say :

    If everything built fine, fire up the executable! You should see a window pop up, containing a video being played straight from the Internet, along with audio. Congratulations!

    I can't figure out how a window will pop up.
    I'm reading the playbin description right now, in my app nothing pops up.

    jsulmJ 1 Reply Last reply
    0
    • ODБOïO ODБOï

      @jsulm said in GStreamer : understanding the concept of 'pipeline':

      all errors

      saved for the next time.

      I'm confused about this lib.
      In this hello world exemple they say :

      If everything built fine, fire up the executable! You should see a window pop up, containing a video being played straight from the Internet, along with audio. Congratulations!

      I can't figure out how a window will pop up.
      I'm reading the playbin description right now, in my app nothing pops up.

      jsulmJ Online
      jsulmJ Online
      jsulm
      Lifetime Qt Champion
      wrote on last edited by jsulm
      #14

      @LeLev said in GStreamer : understanding the concept of 'pipeline':

      I can't figure out how a window will pop up.

      So, you start the app but no window pops up?
      Then probably something is wrong. I don't know what. You can debug and see what happens.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      ODБOïO 1 Reply Last reply
      0
      • jsulmJ jsulm

        @LeLev said in GStreamer : understanding the concept of 'pipeline':

        I can't figure out how a window will pop up.

        So, you start the app but no window pops up?
        Then probably something is wrong. I don't know what. You can debug and see what happens.

        ODБOïO Offline
        ODБOïO Offline
        ODБOï
        wrote on last edited by ODБOï
        #15

        @jsulm said in GStreamer : understanding the concept of 'pipeline':

        So, you start the app but no window pops up?

        Yes,

        @jsulm said in GStreamer : understanding the concept of 'pipeline':

        probably something is wrong

        yes, with putenv("GST_DEBUG=2"); i got :

        0:00:03.253981299  1536 0000000037E010C0 WARN             souphttpsrc gstsouphttpsrc.c:1379:gst_soup_http_src_parse_status:<source> error: Secure connection setup failed.
        0:00:03.254006642  1536 0000000037E010C0 WARN             souphttpsrc gstsouphttpsrc.c:1379:gst_soup_http_src_parse_status:<source> error: TLS/SSL support not available; install glib-networking (6), URL: https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm, Redirect to: (NULL)
        0:00:03.254067912  1536 0000000037E010C0 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<source> error: Internal data stream error.
        0:00:03.254105765  1536 0000000037E010C0 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<source> error: streaming stopped, reason error (-5)
        0:00:03.254180509  1536 0000000037E010C0 WARN                typefind gsttypefindelement.c:991:gst_type_find_element_chain_do_typefinding:<typefindelement0> error: Stream doesn't contain enough data.
        0:00:03.254192057  1536 0000000037E010C0 WARN                typefind gsttypefindelement.c:991:gst_type_find_element_chain_do_typefinding:<typefindelement0> error: Can't typefind stream
        

        i will install glib-networking

        jsulmJ 1 Reply Last reply
        0
        • ODБOïO ODБOï

          @jsulm said in GStreamer : understanding the concept of 'pipeline':

          So, you start the app but no window pops up?

          Yes,

          @jsulm said in GStreamer : understanding the concept of 'pipeline':

          probably something is wrong

          yes, with putenv("GST_DEBUG=2"); i got :

          0:00:03.253981299  1536 0000000037E010C0 WARN             souphttpsrc gstsouphttpsrc.c:1379:gst_soup_http_src_parse_status:<source> error: Secure connection setup failed.
          0:00:03.254006642  1536 0000000037E010C0 WARN             souphttpsrc gstsouphttpsrc.c:1379:gst_soup_http_src_parse_status:<source> error: TLS/SSL support not available; install glib-networking (6), URL: https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm, Redirect to: (NULL)
          0:00:03.254067912  1536 0000000037E010C0 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<source> error: Internal data stream error.
          0:00:03.254105765  1536 0000000037E010C0 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<source> error: streaming stopped, reason error (-5)
          0:00:03.254180509  1536 0000000037E010C0 WARN                typefind gsttypefindelement.c:991:gst_type_find_element_chain_do_typefinding:<typefindelement0> error: Stream doesn't contain enough data.
          0:00:03.254192057  1536 0000000037E010C0 WARN                typefind gsttypefindelement.c:991:gst_type_find_element_chain_do_typefinding:<typefindelement0> error: Can't typefind stream
          

          i will install glib-networking

          jsulmJ Online
          jsulmJ Online
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #16

          @LeLev You could try to play a video from a non-SSL (non-HTTPS) URL.

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          ODБOïO 1 Reply Last reply
          1
          • jsulmJ jsulm

            @LeLev You could try to play a video from a non-SSL (non-HTTPS) URL.

            ODБOïO Offline
            ODБOïO Offline
            ODБOï
            wrote on last edited by
            #17

            @jsulm That worked thank you!

            ODБOïO 1 Reply Last reply
            0
            • ODБOïO ODБOï

              @jsulm That worked thank you!

              ODБOïO Offline
              ODБOïO Offline
              ODБOï
              wrote on last edited by
              #18

              Can please someone help me to complete this pipeline so it can record the VNC remote desktop to video file and/or show it with
              playbin ?
              pipeline = gst_parse_launch("rfbsrc host=xx.xx.xx.xx port=5900 password=passw view-only=true",NULL);

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #19

                Use the tee plugin.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                ODБOïO 1 Reply Last reply
                1
                • SGaistS SGaist

                  Use the tee plugin.

                  ODБOïO Offline
                  ODБOïO Offline
                  ODБOï
                  wrote on last edited by ODБOï
                  #20

                  @SGaist thank you, I tryed to use tee, but that is more complicated to do, i actually don't want to Watch and Save/record.
                  I would like to only save the video without displaying it.

                  after some houres i got this broken pipeline..

                  I have lot of troubles on how to set up the format for the video and write it to a file
                  I use ultraVnc server

                  "rfbsrc host=xx.xx.xx.xx port=5900 password=pw view-only=true   TODO : set up video format    ! mpegtsmux ! filesink location=testvideo.mp4"
                  

                  i have this output

                  ** (QVNCClient.exe:10252): CRITICAL **: gst_video_info_set_format: assertion 'format != GST_VIDEO_FORMAT_UNKNOWN' failed
                  
                  ** (QVNCClient.exe:10252): CRITICAL **: gst_video_info_to_caps: assertion 'info->finfo->format != GST_VIDEO_FORMAT_UNKNOWN' failed
                  
                  (QVNCClient.exe:10252): GStreamer-CRITICAL **: gst_event_new_caps: assertion 'caps != NULL' failed
                  
                  (QVNCClient.exe:10252): GStreamer-CRITICAL **: gst_pad_push_event: assertion 'GST_IS_EVENT (event)' failed
                  
                  (QVNCClient.exe:10252): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
                  0:00:00.737522311 10252 0000000036FDDBC0 WARN                 basesrc gstbasesrc.c:3275:gst_base_src_prepare_allocation:<rfbsrc0> Subclass failed to decide allocation
                  0:00:00.737604753 10252 0000000036FDDBC0 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<rfbsrc0> error: Internal data stream error.
                  0:00:00.737644531 10252 0000000036FDDBC0 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<rfbsrc0> error: streaming stopped, reason not-negotiated (-4)
                  This program is linked against GStreamer 1.14.3 
                  

                  THX

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #21

                    You have here an example of pipeline with h264 recording.

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    ODБOïO 1 Reply Last reply
                    1
                    • SGaistS SGaist

                      You have here an example of pipeline with h264 recording.

                      ODБOïO Offline
                      ODБOïO Offline
                      ODБOï
                      wrote on last edited by ODБOï
                      #22

                      @SGaist hi,
                      I am still struggling with Gstreamer.

                      Could you please try to see where the probleme is ?
                      i try this pipeline :

                      gst-launch-1.0 -v rfbsrc host=xx.xx.x.xx port=5900 password=passw view-only=true !
                      tee name = t ! queue ! omxh264enc ! 
                      'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! qtmux ! 
                      filesink location=test.mp4 t. ! queue ! videoscale ! video/x-raw, 
                      width=480,height=270 ! xvimagesink -e sync=false
                      

                      OUTPUT :
                      *(gst-launch-1.0:8672): GStreamer-CRITICAL *: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
                      WARNING: erroneous pipeline: no element "omxh264enc"

                      I downloaded and installed x264 from here but i still get same error

                      Maybe there is a simple way to just connect to VNC srv and only record without displaying.
                      Or a simple tool that i can start with QProcess

                      1 Reply Last reply
                      0
                      • ODБOïO Offline
                        ODБOïO Offline
                        ODБOï
                        wrote on last edited by ODБOï
                        #23

                        i tryed like this also :

                        gst-launch-1.0 rfbsrc host=xx.x.x.xx port=xxxx password=xxxx view-only=true ! videoconvert ! x264enc ! flvmux ! filesink location=xyz.flv
                        

                        OUTPUT : WARNING : erroneous pipeline : no element "x264enc"

                        I found "x264enc" is part of gst-plugins-ugly but cant fugure out how to install tath missing plugin. I downloaded it from here

                        I also found a tool : vnc2flv
                        i need to build it with python but when i try i get :

                        error print version
                        Missing parentheses in call to 'print'. Did you mean print(version)

                        jsulmJ 1 Reply Last reply
                        0
                        • ODБOïO ODБOï

                          i tryed like this also :

                          gst-launch-1.0 rfbsrc host=xx.x.x.xx port=xxxx password=xxxx view-only=true ! videoconvert ! x264enc ! flvmux ! filesink location=xyz.flv
                          

                          OUTPUT : WARNING : erroneous pipeline : no element "x264enc"

                          I found "x264enc" is part of gst-plugins-ugly but cant fugure out how to install tath missing plugin. I downloaded it from here

                          I also found a tool : vnc2flv
                          i need to build it with python but when i try i get :

                          error print version
                          Missing parentheses in call to 'print'. Did you mean print(version)

                          jsulmJ Online
                          jsulmJ Online
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by
                          #24

                          @LeLev said in GStreamer : understanding the concept of 'pipeline':

                          gst-plugins-ugly but cant fugure out how to install tath missing plugin

                          apt install gstreamer1.0-plugins-ugly
                          

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          ODБOïO 1 Reply Last reply
                          1
                          • jsulmJ jsulm

                            @LeLev said in GStreamer : understanding the concept of 'pipeline':

                            gst-plugins-ugly but cant fugure out how to install tath missing plugin

                            apt install gstreamer1.0-plugins-ugly
                            
                            ODБOïO Offline
                            ODБOïO Offline
                            ODБOï
                            wrote on last edited by
                            #25

                            @jsulm hi ,
                            I did not mension I'm using windows.

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #26

                              @LeLev said in GStreamer : understanding the concept of 'pipeline':

                              error print version
                              Missing parentheses in call to 'print'. Did you mean print(version)

                              Because the code is written for Python 2 and you are using Python 3

                              What set of plugins did you get when installing on Windows ?

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              ODБOïO 1 Reply Last reply
                              1
                              • SGaistS SGaist

                                @LeLev said in GStreamer : understanding the concept of 'pipeline':

                                error print version
                                Missing parentheses in call to 'print'. Did you mean print(version)

                                Because the code is written for Python 2 and you are using Python 3

                                What set of plugins did you get when installing on Windows ?

                                ODБOïO Offline
                                ODБOïO Offline
                                ODБOï
                                wrote on last edited by
                                #27

                                hi @SGaist thank you,
                                please see my output for gst-inspect-1.0

                                C:\Users\lev>gst-inspect-1.0
                                gio:  giosink: GIO sink
                                gio:  giosrc: GIO source
                                gio:  giostreamsink: GIO stream sink
                                gio:  giostreamsrc: GIO stream source
                                taglib:  id3v2mux: TagLib-based ID3v2 Muxer
                                taglib:  apev2mux: TagLib-based APEv2 Muxer
                                soundtouch:  pitch: Pitch controller
                                soundtouch:  bpmdetect: BPM Detector
                                openh264:  openh264dec: OpenH264 video decoder
                                openh264:  openh264enc: OpenH264 video encoder
                                decklink:  decklinkaudiosink: Decklink Audio Sink
                                decklink:  decklinkvideosink: Decklink Video Sink
                                decklink:  decklinkaudiosrc: Decklink Audio Source
                                decklink:  decklinkvideosrc: Decklink Video Source
                                y4menc:  y4menc: YUV4MPEG video encoder
                                y4mdec:  y4mdec: YUV4MPEG demuxer/decoder
                                webrtc:  webrtcbin: WebRTC Bin
                                wavparse:  wavparse: WAV audio demuxer
                                wavpack:  wavpackenc: Wavpack audio encoder
                                wavpack:  wavpackdec: Wavpack audio decoder
                                wavenc:  wavenc: WAV audio muxer
                                wasapi:  wasapideviceprovider (GstDeviceProviderFactory)
                                wasapi:  wasapisrc: WasapiSrc
                                wasapi:  wasapisink: WasapiSrc
                                vpx:  vp9enc: On2 VP9 Encoder
                                vpx:  vp9dec: On2 VP9 Decoder
                                vpx:  vp8enc: On2 VP8 Encoder
                                vpx:  vp8dec: On2 VP8 Decoder
                                vorbis:  vorbistag: VorbisTag
                                vorbis:  vorbisparse: VorbisParse
                                vorbis:  vorbisdec: Vorbis audio decoder
                                vorbis:  vorbisenc: Vorbis audio encoder
                                volume:  volume: Volume
                                videotestsrc:  videotestsrc: Video test source
                                videoscale:  videoscale: Video scaler
                                videorate:  videorate: Video rate adjuster
                                videoparsersbad:  vc1parse: VC1 parser
                                videoparsersbad:  h265parse: H.265 parser
                                videoparsersbad:  jpeg2000parse: JPEG 2000 parser
                                videoparsersbad:  pngparse: PNG parser
                                videoparsersbad:  mpeg4videoparse: MPEG 4 video elementary stream parser
                                videoparsersbad:  mpegvideoparse: MPEG video elementary stream parser
                                videoparsersbad:  diracparse: Dirac parser
                                videoparsersbad:  h264parse: H.264 parser
                                videoparsersbad:  h263parse: H.263 parser
                                videomixer:  videomixer: Video mixer 2
                                videofiltersbad:  videodiff: Video Diff
                                videofiltersbad:  zebrastripe: Zebra stripe overlay
                                videofiltersbad:  scenechange: Scene change detector
                                videofilter:  videomedian: Median effect
                                videofilter:  videoflip: Video flipper
                                videofilter:  videobalance: Video balance
                                videofilter:  gamma: Video gamma correction
                                videocrop:  aspectratiocrop: aspectratiocrop
                                videocrop:  videocrop: Crop
                                videoconvert:  videoconvert: Colorspace converter
                                videobox:  videobox: Video box filter
                                udp:  udpsrc: UDP packet receiver
                                udp:  dynudpsink: UDP packet sender
                                udp:  multiudpsink: UDP packet sender
                                udp:  udpsink: UDP packet sender
                                typefindfunctions: audio/audible: aa, aax
                                typefindfunctions: audio/x-xi: xi
                                typefindfunctions: video/x-pva: pva
                                typefindfunctions: application/x-ssa: ssa, ass
                                typefindfunctions: application/octet-stream: no extensions
                                typefindfunctions: image/x-degas: no extensions
                                typefindfunctions: image/x-icon: no extensions
                                typefindfunctions: application/x-yuv4mpeg: no extensions
                                typefindfunctions: image/vnd.wap.wbmp: no extensions
                                typefindfunctions: image/vnd.adobe.photoshop: psd
                                typefindfunctions: application/msword: doc
                                typefindfunctions: application/pdf: pdf
                                typefindfunctions: audio/x-kss: kss
                                typefindfunctions: video/x-ivf: ivf
                                typefindfunctions: audio/x-sap: sap
                                typefindfunctions: audio/x-vgm: vgm
                                typefindfunctions: audio/x-gbs: gbs
                                typefindfunctions: audio/x-ay: ay
                                typefindfunctions: audio/x-gym: gym
                                typefindfunctions: audio/x-nsf: nsf
                                typefindfunctions: video/vivo: viv
                                typefindfunctions: application/x-mmsh: no extensions
                                typefindfunctions: multipart/x-mixed-replace: no extensions
                                typefindfunctions: video/x-dirac: no extensions
                                typefindfunctions: application/x-ms-dos-executable: dll, exe, ocx, sys, scr, msstyles, cpl
                                typefindfunctions: application/x-ar: a
                                typefindfunctions: application/x-tar: tar
                                typefindfunctions: application/x-rar: rar
                                typefindfunctions: image/svg+xml: svg
                                typefindfunctions: application/postscript: ps
                                typefindfunctions: audio/x-caf: caf
                                typefindfunctions: audio/x-wavpack-correction: wvc
                                typefindfunctions: audio/x-wavpack: wv, wvp
                                typefindfunctions: audio/x-spc: spc
                                typefindfunctions: audio/aac: aac, adts, adif, loas
                                typefindfunctions: application/x-executable: no extensions
                                typefindfunctions: text/x-cmml: no extensions
                                typefindfunctions: application/x-ogg-skeleton: no extensions
                                typefindfunctions: audio/x-celt: no extensions
                                typefindfunctions: audio/x-speex: no extensions
                                typefindfunctions: application/x-ogm-text: no extensions
                                typefindfunctions: application/x-ogm-audio: no extensions
                                typefindfunctions: application/x-ogm-video: no extensions
                                typefindfunctions: video/x-theora: no extensions
                                typefindfunctions: audio/x-vorbis: no extensions
                                typefindfunctions: audio/x-flac: flac
                                typefindfunctions: application/x-subtitle-vtt: vtt
                                typefindfunctions: subtitle/x-kate: no extensions
                                typefindfunctions: application/x-compress: Z
                                typefindfunctions: application/zip: zip
                                typefindfunctions: application/x-gzip: gz
                                typefindfunctions: application/x-bzip: bz2
                                typefindfunctions: image/x-sun-raster: ras
                                typefindfunctions: image/x-xpixmap: xpm
                                typefindfunctions: image/x-jng: jng
                                typefindfunctions: video/x-mng: mng
                                typefindfunctions: image/x-xcf: xcf
                                typefindfunctions: audio/x-sid: sid
                                typefindfunctions: audio/x-sbc: sbc
                                typefindfunctions: audio/iLBC-sh: ilbc
                                typefindfunctions: audio/x-amr-wb-sh: amr
                                typefindfunctions: audio/x-amr-nb-sh: amr
                                typefindfunctions: video/x-dv: dv, dif
                                typefindfunctions: video/x-mve: mve
                                typefindfunctions: application/mxf: mxf
                                typefindfunctions: video/x-matroska: mkv, mka, mk3d, webm
                                typefindfunctions: image/x-portable-pixmap: pnm, ppm, pgm, pbm
                                typefindfunctions: image/x-exr: exr
                                typefindfunctions: image/webp: webp
                                typefindfunctions: image/tiff: tif, tiff
                                typefindfunctions: image/bmp: bmp
                                typefindfunctions: image/png: png
                                typefindfunctions: image/gif: gif
                                typefindfunctions: image/jpeg: jpg, jpe, jpeg
                                typefindfunctions: application/x-ape: ape
                                typefindfunctions: audio/x-shorten: shn
                                typefindfunctions: audio/x-rf64: rf64
                                typefindfunctions: audio/x-w64: w64
                                typefindfunctions: audio/x-ircam: sf
                                typefindfunctions: audio/x-sds: sds
                                typefindfunctions: audio/x-voc: voc
                                typefindfunctions: audio/x-nist: nist
                                typefindfunctions: audio/x-paris: paf
                                typefindfunctions: audio/x-svx: iff, svx
                                typefindfunctions: audio/x-aiff: aiff, aif, aifc
                                typefindfunctions: audio/x-wav: wav
                                typefindfunctions: application/xml: xml
                                typefindfunctions: application/ttml+xml: ttml+xml
                                typefindfunctions: application/smil: smil
                                typefindfunctions: application/sdp: sdp
                                typefindfunctions: application/x-hls: m3u8
                                typefindfunctions: application/itc: itc
                                typefindfunctions: text/uri-list: ram
                                typefindfunctions: text/utf-32: txt
                                typefindfunctions: text/utf-16: txt
                                typefindfunctions: text/plain: txt
                                typefindfunctions: video/x-flv: flv
                                typefindfunctions: application/vnd.ms-sstr+xml: no extensions
                                typefindfunctions: application/dash+xml: mpd, MPD
                                typefindfunctions: application/x-shockwave-flash: swf, swfl
                                typefindfunctions: application/x-pn-realaudio: ra, ram, rm, rmvb
                                typefindfunctions: application/vnd.rn-realmedia: ra, ram, rm, rmvb
                                typefindfunctions: text/html: htm, html
                                typefindfunctions: video/mj2: mj2
                                typefindfunctions: image/x-jpc: jpc, j2k
                                typefindfunctions: image/jp2: jp2
                                typefindfunctions: image/x-quicktime: qif, qtif, qti
                                typefindfunctions: video/quicktime: mov, mp4
                                typefindfunctions: application/x-3gp: 3gp
                                typefindfunctions: audio/x-m4a: m4a
                                typefindfunctions: video/x-nuv: nuv
                                typefindfunctions: video/x-h265: h265, x265, 265
                                typefindfunctions: video/x-h264: h264, x264, 264
                                typefindfunctions: video/x-h263: h263, 263
                                typefindfunctions: video/mpeg4: m4v
                                typefindfunctions: video/mpeg-elementary: mpv, mpeg, mpg
                                typefindfunctions: application/ogg: ogg, oga, ogv, ogm, ogx, spx, anx, axa, axv
                                typefindfunctions: video/mpegts: ts, mts
                                typefindfunctions: video/mpeg-sys: mpe, mpeg, mpg
                                typefindfunctions: audio/x-gsm: gsm
                                typefindfunctions: audio/x-dts: dts
                                typefindfunctions: audio/x-ac3: ac3, eac3
                                typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga
                                typefindfunctions: audio/x-mod: 669, amf, ams, dbm, digi, dmf, dsm, gdm, far, imf, it, j2b, mdl, med, mod, mt2, mtm, okt, psm, ptm, sam, s3m, stm, st
                                , ult, umx, xm
                                typefindfunctions: audio/x-ttafile: tta
                                typefindfunctions: application/x-apetag: mp3, ape, mpc, wv
                                typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta
                                typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta
                                typefindfunctions: video/x-fli: flc, fli
                                typefindfunctions: audio/mobile-xmf: mxmf
                                typefindfunctions: audio/riff-midi: mid, midi
                                typefindfunctions: audio/midi: mid, midi
                                typefindfunctions: audio/x-imelody: imy, ime, imelody
                                typefindfunctions: video/x-vcd: dat
                                typefindfunctions: video/x-cdxa: dat
                                typefindfunctions: audio/qcelp: qcp
                                typefindfunctions: video/x-msvideo: avi
                                typefindfunctions: audio/x-au: au, snd
                                typefindfunctions: audio/x-musepack: mpc, mpp, mp+
                                typefindfunctions: video/x-ms-asf: asf, wm, wma, wmv
                                theora:  theoraparse: Theora video parser
                                theora:  theoraenc: Theora video encoder
                                theora:  theoradec: Theora video decoder
                                tcp:  multisocketsink: Multi socket sink
                                tcp:  tcpserversrc: TCP server source
                                tcp:  tcpserversink: TCP server sink
                                tcp:  tcpclientsrc: TCP client source
                                tcp:  tcpclientsink: TCP client sink
                                tcp:  socketsrc: socket source
                                subparse:  ssaparse: SSA Subtitle Parser
                                subparse:  subparse: Subtitle parser
                                subparse: subparse_typefind: srt, sub, mpsub, mdvd, smi, txt, dks, vtt
                                srtp:  srtpdec: SRTP decoder
                                srtp:  srtpenc: SRTP encoder
                                speex:  speexdec: Speex audio decoder
                                speex:  speexenc: Speex audio encoder
                                speed:  speed: Speed
                                spectrum:  spectrum: Spectrum analyzer
                                spandsp:  tonegeneratesrc: Telephony Tone  Generator source
                                spandsp:  dtmfdetect: DTMF detector element
                                spandsp:  spanplc: SpanDSP PLC
                                soup:  souphttpclientsink: HTTP client sink
                                soup:  souphttpsrc: HTTP client source
                                smpte:  smptealpha: SMPTE transitions
                                smpte:  smpte: SMPTE transitions
                                smoothstreaming:  mssdemux: Smooth Streaming demuxer
                                smooth:  smooth: Smooth effect
                                siren:  sirenenc: Siren Encoder element
                                siren:  sirendec: Siren Decoder element
                                shapewipe:  shapewipe: Shape Wipe transition filter
                                segmentclip:  videosegmentclip: Video buffer segment clipper
                                segmentclip:  audiosegmentclip: Audio buffer segment clipper
                                sdpelem:  sdpsrc: SDP Source
                                sdpelem:  sdpdemux: SDP session setup
                                sbc:  sbcenc: Bluetooth SBC audio encoder
                                sbc:  sbcdec: Bluetooth SBC audio decoder
                                rtspclientsink:  rtspclientsink: RTSP RECORD client
                                rtsp:  rtpdec: RTP Decoder
                                rtsp:  rtspsrc: RTSP packet receiver
                                rtpmanager:  rtpdtmfmux: RTP muxer
                                rtpmanager:  rtpmux: RTP muxer
                                rtpmanager:  rtpssrcdemux: RTP SSRC Demux
                                rtpmanager:  rtprtxsend: RTP Retransmission Sender
                                rtpmanager:  rtprtxreceive: RTP Retransmission receiver
                                rtpmanager:  rtprtxqueue: RTP Retransmission Queue
                                rtpmanager:  rtpsession: RTP Session
                                rtpmanager:  rtpptdemux: RTP Demux
                                rtpmanager:  rtpjitterbuffer: RTP packet jitter-buffer
                                rtpmanager:  rtpbin: RTP Bin
                                rtp:  rtpstorage: RTP storage
                                rtp:  rtpulpfecenc: RTP FEC Encoder
                                rtp:  rtpulpfecdec: RTP FEC Decoder
                                rtp:  rtpreddec: Redundant Audio Data (RED) Decoder
                                rtp:  rtpredenc: Redundant Audio Data (RED) Encoder
                                rtp:  rtpstreamdepay: RTP Stream Depayloading
                                rtp:  rtpstreampay: RTP Stream Payloading
                                rtp:  rtpvrawpay: RTP Raw Video payloader
                                rtp:  rtpvrawdepay: RTP Raw Video depayloader
                                rtp:  rtpvp9pay: RTP VP9 payloader
                                rtp:  rtpvp9depay: RTP VP9 depayloader
                                rtp:  rtpvp8pay: RTP VP8 payloader
                                rtp:  rtpvp8depay: RTP VP8 depayloader
                                rtp:  rtpvorbispay: RTP Vorbis payloader
                                rtp:  rtpvorbisdepay: RTP Vorbis depayloader
                                rtp:  rtptheorapay: RTP Theora payloader
                                rtp:  rtptheoradepay: RTP Theora depayloader
                                rtp:  rtpsv3vdepay: RTP SVQ3 depayloader
                                rtp:  rtpspeexdepay: RTP Speex depayloader
                                rtp:  rtpspeexpay: RTP Speex payloader
                                rtp:  rtpsirendepay: RTP Siren packet depayloader
                                rtp:  rtpsirenpay: RTP Payloader for Siren Audio
                                rtp:  rtpsbcpay: RTP packet payloader
                                rtp:  rtpsbcdepay: RTP SBC audio depayloader
                                rtp:  rtpqdm2depay: RTP QDM2 depayloader
                                rtp:  rtpqcelpdepay: RTP QCELP depayloader
                                rtp:  rtpmp4gpay: RTP MPEG4 ES payloader
                                rtp:  rtpmp4gdepay: RTP MPEG4 ES depayloader
                                rtp:  rtpmp4adepay: RTP MPEG4 audio depayloader
                                rtp:  rtpmp4apay: RTP MPEG4 audio payloader
                                rtp:  rtpmp4vdepay: RTP MPEG4 video depayloader
                                rtp:  rtpmp4vpay: RTP MPEG4 Video payloader
                                rtp:  rtpmp2tpay: RTP MPEG2 Transport Stream payloader
                                rtp:  rtpmp2tdepay: RTP MPEG Transport Stream depayloader
                                rtp:  rtpmp1sdepay: RTP MPEG1 System Stream depayloader
                                rtp:  asteriskh263: RTP Asterisk H263 depayloader
                                rtp:  rtpL24depay: RTP audio depayloader
                                rtp:  rtpL24pay: RTP audio payloader
                                rtp:  rtpL16depay: RTP audio depayloader
                                rtp:  rtpL16pay: RTP audio payloader
                                rtp:  rtpL8depay: RTP audio depayloader
                                rtp:  rtpL8pay: RTP audio payloader
                                rtp:  rtpklvpay: RTP KLV Payloader
                                rtp:  rtpklvdepay: RTP KLV Depayloader
                                rtp:  rtpjpegpay: RTP JPEG payloader
                                rtp:  rtpjpegdepay: RTP JPEG depayloader
                                rtp:  rtpj2kpay: RTP JPEG 2000 payloader
                                rtp:  rtpj2kdepay: RTP JPEG 2000 depayloader
                                rtp:  rtph265pay: RTP H265 payloader
                                rtp:  rtph265depay: RTP H265 depayloader
                                rtp:  rtph264pay: RTP H264 payloader
                                rtp:  rtph264depay: RTP H264 depayloader
                                rtp:  rtph263pay: RTP H263 packet payloader
                                rtp:  rtph263depay: RTP H263 depayloader
                                rtp:  rtph263pdepay: RTP H263 depayloader
                                rtp:  rtph263ppay: RTP H263 payloader
                                rtp:  rtph261depay: RTP H261 depayloader
                                rtp:  rtph261pay: RTP H261 packet payloader
                                rtp:  rtpopuspay: RTP Opus payloader
                                rtp:  rtpopusdepay: RTP Opus packet depayloader
                                rtp:  rtpmpvpay: RTP MPEG2 ES video payloader
                                rtp:  rtpmpvdepay: RTP MPEG video depayloader
                                rtp:  rtpmparobustdepay: RTP MPEG audio depayloader
                                rtp:  rtpmpapay: RTP MPEG audio payloader
                                rtp:  rtpmpadepay: RTP MPEG audio depayloader
                                rtp:  rtppcmapay: RTP PCMA payloader
                                rtp:  rtppcmupay: RTP PCMU payloader
                                rtp:  rtppcmudepay: RTP PCMU depayloader
                                rtp:  rtppcmadepay: RTP PCMA depayloader
                                rtp:  rtpamrpay: RTP AMR payloader
                                rtp:  rtpamrdepay: RTP AMR depayloader
                                rtp:  rtpgsmpay: RTP GSM payloader
                                rtp:  rtpgsmdepay: RTP GSM depayloader
                                rtp:  rtpg729pay: RTP G.729 payloader
                                rtp:  rtpg729depay: RTP G.729 depayloader
                                rtp:  rtpg726pay: RTP G.726 payloader
                                rtp:  rtpg726depay: RTP G.726 depayloader
                                rtp:  rtpg723pay: RTP G.723 payloader
                                rtp:  rtpg723depay: RTP G.723 depayloader
                                rtp:  rtpg722pay: RTP audio payloader
                                rtp:  rtpg722depay: RTP audio depayloader
                                rtp:  rtpilbcdepay: RTP iLBC depayloader
                                rtp:  rtpilbcpay: RTP iLBC Payloader
                                rtp:  rtpgstpay: RTP GStreamer payloader
                                rtp:  rtpgstdepay: GStreamer depayloader
                                rtp:  rtpdvpay: RTP DV Payloader
                                rtp:  rtpdvdepay: RTP DV Depayloader
                                rtp:  rtpceltpay: RTP CELT payloader
                                rtp:  rtpceltdepay: RTP CELT depayloader
                                rtp:  rtpbvpay: RTP BV Payloader
                                rtp:  rtpbvdepay: RTP BroadcomVoice depayloader
                                rtp:  rtpac3pay: RTP AC3 audio payloader
                                rtp:  rtpac3depay: RTP AC3 depayloader
                                rsvg:  rsvgdec: SVG image decoder
                                rsvg:  rsvgoverlay: RSVG overlay
                                rfbsrc:  rfbsrc: Rfb source
                                replaygain:  rgvolume: ReplayGain volume
                                replaygain:  rglimiter: ReplayGain limiter
                                replaygain:  rganalysis: ReplayGain analysis
                                removesilence:  removesilence: RemoveSilence
                                rawparse:  rawvideoparse: rawvideoparse
                                rawparse:  rawaudioparse: rawaudioparse
                                rawparse:  unalignedvideoparse: unalignedvideoparse
                                rawparse:  unalignedaudioparse: unalignedaudioparse
                                pnm:  pnmenc: PNM image encoder
                                pnm:  pnmdec: PNM image decoder
                                png:  pngenc: PNG image encoder
                                png:  pngdec: PNG image decoder
                                playback:  parsebin: Parse Bin
                                playback:  urisourcebin: URI reader
                                playback:  uridecodebin3: URI Decoder
                                playback:  uridecodebin: URI Decoder
                                playback:  decodebin3: Decoder Bin 3
                                playback:  decodebin: Decoder Bin
                                playback:  streamsynchronizer: Stream Synchronizer
                                playback:  subtitleoverlay: Subtitle Overlay
                                playback:  playsink: Player Sink
                                playback:  playbin3: Player Bin 3
                                playback:  playbin: Player Bin 2
                                pcapparse:  irtspparse: IRTSPParse
                                pcapparse:  pcapparse: PCapParse
                                pango:  textrender: Text renderer
                                pango:  clockoverlay: Clock overlay
                                pango:  timeoverlay: Time overlay
                                pango:  textoverlay: Text overlay
                                opusparse:  opusparse: Opus audio parser
                                opus:  opusdec: Opus audio decoder
                                opus:  opusenc: Opus audio encoder
                                openjpeg:  openjpegenc: OpenJPEG JPEG2000 encoder
                                openjpeg:  openjpegdec: OpenJPEG JPEG2000 decoder
                                openglmixers:  glmosaic: OpenGL mosaic
                                openglmixers:  glstereomix: OpenGL stereo video combiner
                                openglmixers:  glvideomixerelement: OpenGL video_mixer
                                openglmixers:  glvideomixer: OpenGL video_mixer bin
                                openglmixers:  glmixerbin: OpenGL video_mixer empty bin
                                opengl:  gldifferencematte: Gstreamer OpenGL DifferenceMatte
                                opengl:  glfilterglass: OpenGL glass filter
                                opengl:  gloverlay: Gstreamer OpenGL Overlay
                                opengl:  gldeinterlace: OpenGL deinterlacing filter
                                opengl:  gltestsrc: Video test source
                                opengl:  glstereosplit: GLStereoSplit
                                opengl:  glviewconvert: OpenGL Multiview/3D conversion filter
                                opengl:  glfilterapp: OpenGL application filter
                                opengl:  glshader: OpenGL fragment shader filter
                                opengl:  glcolorscale: OpenGL color scale
                                opengl:  gleffects_laplacian: Laplacian Convolution Demo Effect
                                opengl:  gleffects_blur: Blur with 9x9 separable convolution Effect
                                opengl:  gleffects_sobel: Sobel edge detection Effect
                                opengl:  gleffects_glow: Glow Lighting Effect
                                opengl:  gleffects_sin: All Grey but Red Effect
                                opengl:  gleffects_xray: Glowing negative effect
                                opengl:  gleffects_lumaxpro: Luma Cross Processing Effect
                                opengl:  gleffects_xpro: Cross Processing Effect
                                opengl:  gleffects_sepia: Sepia Toning Effect
                                opengl:  gleffects_heat: Heat Signature Effect
                                opengl:  gleffects_square: Square Effect
                                opengl:  gleffects_bulge: Bulge Effect
                                opengl:  gleffects_twirl: Twirl Effect
                                opengl:  gleffects_fisheye: FishEye Effect
                                opengl:  gleffects_tunnel: Light Tunnel Effect
                                opengl:  gleffects_stretch: Stretch Effect
                                opengl:  gleffects_squeeze: Squeeze Effect
                                opengl:  gleffects_mirror: Mirror Effect
                                opengl:  gleffects_identity: Do nothing Effect
                                opengl:  gleffects: Gstreamer OpenGL Effects
                                opengl:  glvideoflip: OpenGL video flip filter
                                opengl:  gltransformation: OpenGL transformation filter
                                opengl:  glfiltercube: OpenGL cube filter
                                opengl:  glsrcbin: GL Src Bin
                                opengl:  glsinkbin: GL Sink Bin
                                opengl:  glfilterbin: GL Filter Bin
                                opengl:  glcolorbalance: Video balance
                                opengl:  glcolorconvert: OpenGL color converter
                                opengl:  gldownload: OpenGL downloader
                                opengl:  glupload: OpenGL uploader
                                opengl:  glimagesinkelement: OpenGL video sink
                                opengl:  glimagesink: GL Sink Bin
                                ogg:  oggaviparse: Ogg AVI parser
                                ogg:  oggparse: Ogg parser
                                ogg:  ogmtextparse: OGM text stream parser
                                ogg:  ogmvideoparse: OGM video stream parser
                                ogg:  ogmaudioparse: OGM audio stream parser
                                ogg:  oggmux: Ogg muxer
                                ogg:  oggdemux: Ogg demuxer
                                nice:  nicesink: ICE sink
                                nice:  nicesrc: ICE source
                                mxf:  mxfmux: MXF muxer
                                mxf:  mxfdemux: MXF Demuxer
                                multipart:  multipartmux: Multipart muxer
                                multipart:  multipartdemux: Multipart demuxer
                                multifile:  splitmuxsrc: Split File Demuxing Bin
                                multifile:  splitmuxsink: Split Muxing Bin
                                multifile:  splitfilesrc: Split-File Source
                                multifile:  multifilesink: Multi-File Sink
                                multifile:  multifilesrc: Multi-File Source
                                mulaw:  mulawdec: Mu Law audio decoder
                                mulaw:  mulawenc: Mu Law audio encoder
                                mpg123:  mpg123audiodec: mpg123 mp3 decoder
                                midi:  midiparse: MidiParse
                                matroska:  webmmux: WebM muxer
                                matroska:  matroskamux: Matroska muxer
                                matroska:  matroskaparse: Matroska parser
                                matroska:  matroskademux: Matroska demuxer
                                level:  level: Level
                                legacyrawparse:  audioparse: Audio Parse
                                legacyrawparse:  videoparse: Video Parse
                                lame:  lamemp3enc: L.A.M.E. mp3 encoder
                                kate:  katetag: Kate stream tagger
                                kate:  kateparse: Kate stream parser
                                kate:  kateenc: Kate stream encoder
                                kate:  katedec: Kate stream text decoder
                                jpegformat:  jifmux: JPEG stream muxer
                                jpegformat:  jpegparse: JPEG stream parser
                                jpeg:  jpegdec: JPEG image decoder
                                jpeg:  jpegenc: JPEG image encoder
                                ivtc:  combdetect: Comb Detect
                                ivtc:  ivtc: Inverse Telecine
                                isomp4:  qtmoovrecover: QT Moov Recover
                                isomp4:  mj2mux: MJ2 Muxer
                                isomp4:  3gppmux: 3GPP Muxer
                                isomp4:  ismlmux: ISML Muxer
                                isomp4:  mp4mux: MP4 Muxer
                                isomp4:  qtmux: QuickTime Muxer
                                isomp4:  rtpxqtdepay: RTP packet depayloader
                                isomp4:  qtdemux: QuickTime demuxer
                                interleave:  deinterleave: Audio deinterleaver
                                interleave:  interleave: Audio interleaver
                                interlace:  interlace: Interlace filter
                                inter:  intervideosink: Internal video sink
                                inter:  intervideosrc: Internal video source
                                inter:  intersubsink: Internal subtitle sink
                                inter:  intersubsrc: Internal subtitle source
                                inter:  interaudiosink: Internal audio sink
                                inter:  interaudiosrc: Internal audio source
                                id3tag:  id3mux: ID3 v1 and v2 Muxer
                                id3demux:  id3demux: ID3 tag demuxer
                                icydemux:  icydemux: ICY tag demuxer
                                hls:  hlssink2: HTTP Live Streaming sink
                                hls:  hlssink: HTTP Live Streaming sink
                                hls:  hlsdemux: HLS Demuxer
                                goom2k1:  goom2k1: GOOM: what a GOOM! 2k1 edition
                                goom:  goom: GOOM: what a GOOM!
                                geometrictransform:  perspective: perspective
                                geometrictransform:  fisheye: fisheye
                                geometrictransform:  mirror: mirror
                                geometrictransform:  square: square
                                geometrictransform:  tunnel: tunnel
                                geometrictransform:  bulge: bulge
                                geometrictransform:  stretch: stretch
                                geometrictransform:  waterripple: waterripple
                                geometrictransform:  twirl: twirl
                                geometrictransform:  sphere: sphere
                                geometrictransform:  rotate: rotate
                                geometrictransform:  pinch: pinch
                                geometrictransform:  marble: marble
                                geometrictransform:  kaleidoscope: kaleidoscope
                                geometrictransform:  diffuse: diffuse
                                geometrictransform:  circle: circle
                                gdp:  gdppay: GDP Payloader
                                gdp:  gdpdepay: GDP Depayloader
                                gdkpixbuf:  gdkpixbufsink: GdkPixbuf sink
                                gdkpixbuf:  gdkpixbufoverlay: GdkPixbuf Overlay
                                gdkpixbuf:  gdkpixbufdec: GdkPixbuf image decoder
                                gaudieffects:  gaussianblur: GstGaussianBlur
                                gaudieffects:  solarize: Solarize
                                gaudieffects:  exclusion: Exclusion
                                gaudieffects:  dodge: Dodge
                                gaudieffects:  dilate: Dilate
                                gaudieffects:  chromium: Chromium
                                gaudieffects:  burn: Burn
                                freeverb:  freeverb: Reverberation/room effect
                                flxdec:  flxdec: FLX video decoder
                                flv:  flvmux: FLV muxer
                                flv:  flvdemux: FLV Demuxer
                                flac:  flactag: FLAC tagger
                                flac:  flacdec: FLAC audio decoder
                                flac:  flacenc: FLAC audio encoder
                                fieldanalysis:  fieldanalysis: Video field analysis
                                equalizer:  equalizer-10bands: 10 Band Equalizer
                                equalizer:  equalizer-3bands: 3 Band Equalizer
                                equalizer:  equalizer-nbands: N Band Equalizer
                                effectv:  rippletv: RippleTV effect
                                effectv:  streaktv: StreakTV effect
                                effectv:  radioactv: RadioacTV effect
                                effectv:  optv: OpTV effect
                                effectv:  quarktv: QuarkTV effect
                                effectv:  revtv: RevTV effect
                                effectv:  vertigotv: VertigoTV effect
                                effectv:  shagadelictv: ShagadelicTV
                                effectv:  warptv: WarpTV effect
                                effectv:  dicetv: DiceTV effect
                                effectv:  agingtv: AgingTV effect
                                effectv:  edgetv: EdgeTV effect
                                dvdspu:  dvdspu: Sub-picture Overlay
                                dvbsuboverlay:  dvbsuboverlay: DVB Subtitles Overlay
                                dv:  dvdec: DV video decoder
                                dv:  dvdemux: DV system stream demuxer
                                dtmf:  rtpdtmfdepay: RTP DTMF packet depayloader
                                dtmf:  rtpdtmfsrc: RTP DTMF packet generator
                                dtmf:  dtmfsrc: DTMF tone generator
                                directsound:  directsoundsinkdeviceprovider (GstDeviceProviderFactory)
                                directsound:  directsoundsink: Direct Sound Audio Sink
                                deinterlace:  deinterlace: Deinterlacer
                                debugutilsbad:  fakevideosink: Fake Video Sink
                                debugutilsbad:  errorignore: Convert some GstFlowReturn types into others
                                debugutilsbad:  watchdog: Watchdog
                                debugutilsbad:  debugspy: DebugSpy
                                debugutilsbad:  compare: Compare buffers
                                debugutilsbad:  chopmydata: FIXME
                                debugutilsbad:  fpsdisplaysink: Measure and show framerate on videosink
                                debugutilsbad:  checksumsink: Checksum sink
                                debug:  cpureport: CPU report
                                debug:  testsink: Test plugin
                                debug:  taginject: TagInject
                                debug:  progressreport: Progress report
                                debug:  pushfilesrc: Push File Source
                                debug:  navseek: Seek based on left-right arrows
                                debug:  rndbuffersize: Random buffer size
                                debug:  capssetter: CapsSetter
                                debug:  breakmydata: Break my data
                                dashdemux:  dashdemux: DASH Demuxer
                                d3d:  d3dvideosink: Direct3D video sink
                                cutter:  cutter: Audio cutter
                                coreelements:  streamiddemux: Streamid Demux
                                coreelements:  valve: Valve element
                                coreelements:  multiqueue: MultiQueue
                                coreelements:  typefind: TypeFind
                                coreelements:  tee: Tee pipe fitting
                                coreelements:  filesink: File Sink
                                coreelements:  queue2: Queue 2
                                coreelements:  queue: Queue
                                coreelements:  output-selector: Output selector
                                coreelements:  input-selector: Input selector
                                coreelements:  identity: Identity
                                coreelements:  funnel: Funnel pipe fitting
                                coreelements:  filesrc: File Source
                                coreelements:  fakesink: Fake Sink
                                coreelements:  fakesrc: Fake Source
                                coreelements:  downloadbuffer: DownloadBuffer
                                coreelements:  dataurisrc: data: URI source element
                                coreelements:  concat: Concat
                                coreelements:  capsfilter: CapsFilter
                                compositor:  compositor: Compositor
                                coloreffects:  chromahold: Chroma hold filter
                                coloreffects:  coloreffects: Color Look-up Table filter
                                cairo:  cairooverlay: Cairo overlay
                                bayer:  rgb2bayer: RGB to Bayer converter
                                bayer:  bayer2rgb: Bayer to RGB decoder for cameras
                                avi:  avisubtitle: Avi subtitle parser
                                avi:  avimux: Avi muxer
                                avi:  avidemux: Avi demuxer
                                auparse:  auparse: AU audio demuxer
                                audiovisualizers:  wavescope: Waveform oscilloscope
                                audiovisualizers:  synaescope: Synaescope
                                audiovisualizers:  spectrascope: Frequency spectrum scope
                                audiovisualizers:  spacescope: Stereo visualizer
                                audiotestsrc:  audiotestsrc: Audio test source
                                audioresample:  audioresample: Audio resampler
                                audiorate:  audiorate: Audio rate adjuster
                                audioparsers:  wavpackparse: Wavpack audio stream parser
                                audioparsers:  sbcparse: SBC audio parser
                                audioparsers:  mpegaudioparse: MPEG1 Audio Parser
                                audioparsers:  flacparse: FLAC audio parser
                                audioparsers:  dcaparse: DTS Coherent Acoustics audio stream parser
                                audioparsers:  ac3parse: AC3 audio stream parser
                                audioparsers:  amrparse: AMR audio stream parser
                                audioparsers:  aacparse: AAC audio stream parser
                                audiomixer:  audiointerleave: AudioInterleave
                                audiomixer:  liveadder: AudioMixer
                                audiomixer:  audiomixer: AudioMixer
                                audiofxbad:  audiochannelmix: Simple stereo audio mixer
                                audiofx:  scaletempo: Scaletempo
                                audiofx:  audioecho: Audio echo
                                audiofx:  audiofirfilter: Audio FIR filter
                                audiofx:  audiowsincband: Band pass & band reject filter
                                audiofx:  audiowsinclimit: Low pass & high pass filter
                                audiofx:  audioiirfilter: Audio IIR filter
                                audiofx:  audiochebband: Band pass & band reject filter
                                audiofx:  audiocheblimit: Low pass & high pass filter
                                audiofx:  audiodynamic: Dynamic range controller
                                audiofx:  audioamplify: Audio amplifier
                                audiofx:  audiokaraoke: AudioKaraoke
                                audiofx:  audioinvert: Audio inversion
                                audiofx:  audiopanorama: Stereo positioning
                                audioconvert:  audioconvert: Audio converter
                                audiobuffersplit:  audiobuffersplit: Audio Buffer Split
                                app:  appsink: AppSink
                                app:  appsrc: AppSrc
                                apetag:  apedemux: APE tag demuxer
                                alphacolor:  alphacolor: Alpha color filter
                                alpha:  alpha: Alpha filter
                                alaw:  alawdec: A Law audio decoder
                                alaw:  alawenc: A Law audio encoder
                                aiff:  aiffmux: AIFF audio muxer
                                aiff:  aiffparse: AIFF audio demuxer
                                adpcmenc:  adpcmenc: ADPCM encoder
                                adpcmdec:  adpcmdec: ADPCM decoder
                                adder:  adder: Adder
                                accurip:  accurip: AccurateRip(TM) CRC element
                                subenc:  srtenc: Srt encoder
                                subenc:  webvttenc: WebVTT encoder
                                proxy:  proxysrc: Proxy source
                                proxy:  proxysink: Proxy Sink
                                imagefreeze:  imagefreeze: Still frame stream generator
                                dtls:  dtlsenc: DTLS Encoder
                                dtls:  dtlsdec: DTLS Decoder
                                dtls:  dtlssrtpdec: DTLS-SRTP Decoder
                                dtls:  dtlssrtpenc: DTLS-SRTP Encoder
                                dtls:  dtlssrtpdemux: DTLS SRTP Demultiplexer
                                coretracers:  latency (GstTracerFactory)
                                coretracers:  log (GstTracerFactory)
                                coretracers:  stats (GstTracerFactory)
                                coretracers:  leaks (GstTracerFactory)
                                autodetect:  autovideosink: Auto video sink
                                autodetect:  autovideosrc: Auto video source
                                autodetect:  autoaudiosink: Auto audio sink
                                autodetect:  autoaudiosrc: Auto audio source
                                autoconvert:  autoconvert: Select convertor based on caps
                                autoconvert:  autovideoconvert: Select color space convertor based on caps
                                staticelements:  bin: Generic bin
                                staticelements:  pipeline: Pipeline object
                                
                                Total count: 149 plugins, 671 features
                                
                                1 Reply Last reply
                                0
                                • SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #28

                                  Then use the openh264enc encoder in place of the other.

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  ODБOïO 1 Reply Last reply
                                  1
                                  • SGaistS SGaist

                                    Then use the openh264enc encoder in place of the other.

                                    ODБOïO Offline
                                    ODБOïO Offline
                                    ODБOï
                                    wrote on last edited by
                                    #29

                                    @SGaist thanks for the suggestion,

                                    I tryed to adapt this exemple with openh264enc :

                                    gst-launch-1.0 -v rfbsrc host=10.81.4.97 port=5900 password=pa009v view-only=true ! queue ! openh264enc ! "video/x-h264, stream-format=(string)byte-stream" ! h264parse ! qtmux ! filesink location=test.mp4 
                                    

                                    output:

                                    WARNING: erroneous pipeline: could not link queue0 to openh264enc0
                                    

                                    if i remove the 'queue' element then i got

                                    WARNING: erroneous pipeline: could not link rfbsrc0 to openh264enc0
                                    

                                    How to link my rfbsrc to openh264enc please ?

                                    1 Reply Last reply
                                    0
                                    • ODБOïO Offline
                                      ODБOïO Offline
                                      ODБOï
                                      wrote on last edited by
                                      #30

                                      I tryed to add 'decodebin' between my rfbsrc and the openh264enc ,

                                      Now i have format issue again.. a .mp4 file is created but empty, can this be related to my VNC Server ? i use Ultra VNC as server

                                      gst-launch-1.0 -v rfbsrc host=xx.xx.x.xx port=5900 password=xxxx view-only=true ! decodebin ! "video/x-h264, stream-format=(string)byte-stream" ! openh264enc ! h264parse ! qtmux ! filesink location=test.mp4 
                                      
                                      Setting pipeline to PAUSED ...
                                      Pipeline is live and does not need PREROLL ...
                                      Setting pipeline to PLAYING ...
                                      New clock: GstSystemClock
                                      
                                      ** (gst-launch-1.0:8476): CRITICAL **: gst_video_info_set_format: assertion 'format != GST_VIDEO_FORMAT_UNKNOWN' failed
                                      
                                      ** (gst-launch-1.0:8476): CRITICAL **: gst_video_info_to_caps: assertion 'info->finfo->format != GST_VIDEO_FORMAT_UNKNOWN' failed
                                      
                                      (gst-launch-1.0:8476): GStreamer-CRITICAL **: gst_event_new_caps: assertion 'caps != NULL' failed
                                      
                                      (gst-launch-1.0:8476): GStreamer-CRITICAL **: gst_pad_push_event: assertion 'GST_IS_EVENT (event)' failed
                                      
                                      (gst-launch-1.0:8476): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
                                      ERROR: from element /GstPipeline:pipeline0/GstRfbSrc:rfbsrc0: Internal data stream error.
                                      Additional debug info:
                                      gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstRfbSrc:rfbsrc0:
                                      streaming stopped, reason not-negotiated (-4)
                                      Execution ended after 0:00:00.697763210
                                      Setting pipeline to PAUSED ...
                                      Setting pipeline to READY ...
                                      Setting pipeline to NULL ...
                                      Freeing pipeline ...
                                      
                                      1 Reply Last reply
                                      0
                                      • ODБOïO Offline
                                        ODБOïO Offline
                                        ODБOï
                                        wrote on last edited by ODБOï
                                        #31

                                        Hi,
                                        @SGaist I finally made this working pipeline :

                                        gst-launch-1.0 -v rfbsrc host=xx.xx.x.xx port=5900 password=passw view-only=true ! videoconvert !  openh264enc !  "video/x-h264, stream-format=(string)byte-stream" ! openh264dec !  autovideosink
                                        

                                        The remote gui is displayed in an internal GStreamer window .

                                        Now i only replace the autovideosink by filesink location=vid.mp4 to save the video to a file instead of displaying it.

                                        gst-launch-1.0 -v rfbsrc host=xx.xx.x.xx port=5900 password=passw view-only=true ! videoconvert !  openh264enc !  "video/x-h264, stream-format=(string)byte-stream" ! openh264dec !  filesink location=vid.mp4
                                        

                                        The video file is created (and not empty) but i can't play it with WindowsMediaPlayer or VLC
                                        I tryed filesink location=vid.h264 and enabled H264 Demuxer for VLC but still can't open the file.

                                        edit :
                                        In some exemples i can see that the last step before filesink is XXXXmux , but if i try

                                        gst-launch-1.0 -v rfbsrc host=10.81.4.68 port=5900 password=pa009v view-only=true ! videoconvert !  openh264enc  ! flvmux  !  filesink location=test.flv
                                        

                                        i get : WARNING: erroneous pipeline: could not link openh264enc0 to flvmux0

                                        Thank you for any suggestion

                                        1 Reply Last reply
                                        0
                                        • ODБOïO Offline
                                          ODБOïO Offline
                                          ODБOï
                                          wrote on last edited by
                                          #32

                                          I added missing h264parse and mp4mux before writing to the file

                                          Now the pipeline looks like this :

                                          gst-launch-1.0 -v rfbsrc host=xx.xx.x.xx port=5900 password=passw view-only=true 
                                          !  videoconvert ! openh264enc bitrate=4096 
                                          ! "video/x-h264, stream-format=(string)byte-stream" 
                                          ! h264parse 
                                          ! mp4mux 
                                          ! filesink location=video.mp4  sync=false
                                          

                                          but the video file is still not 'playable'
                                          i read on github
                                          "Some muxers such as mp4mux write additional information to disk when they receive EOS. Without that extra information, the file is useless."

                                          so i try to pass -e instead of -v , the file is created and grows in size (still not playable), but when i press ctrl+c to stop i get this error :

                                          handling interrupt.Interrupt: Stopping pipeline ...EOS on shutdown enabled -- Forcing EOS on the pipeline
                                          Waiting for EOS...ERROR: from element /GstPipeline:pipeline0/GstRfbSrc:rfbsrc0: Error on setup VNC connection to host xx.xx.x.xx on port 5900Additional debug info:
                                          gstrfbsrc.c(524): gst_rfb_src_fill (): /GstPipeline:pipeline0/GstRfbSrc:rfbsrc0
                                          An error happened while waiting for EOS
                                          Execution ended after 0:00:07.166707941
                                          Setting pipeline to PAUSED ...
                                          Setting pipeline to READY ...
                                          Setting pipeline to NULL ...
                                          Freeing pipeline ...
                                          

                                          Now there is a probleme with the VNC connection ?

                                          I think no, because i did the same thing unsig tee and the connection looks ok, the stream is displayed, pressing ctrl+c i have the same output saying "Error on setup VNC connection to host..."

                                          tee version (stream is displayed / file created but not readable ) :

                                          gst-launch-1.0 -e rfbsrc host=xx.xx.x.xx port=5900 password=passw view-only=true
                                          !  videoconvert 
                                          ! tee name = t
                                          ! queue 
                                          ! openh264enc bitrate=4096  
                                          ! "video/x-h264, stream-format=(string)byte-stream"
                                          ! h264parse 
                                          ! mp4mux
                                          ! filesink location=video.mp4  sync=false 
                                          t. 
                                          ! queue 
                                          ! autovideosink 
                                          
                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved