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.
  • 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
                                        • SGaistS Offline
                                          SGaistS Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #33

                                          A silly question, did you try to read the file with gstreamer directly ?

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

                                          1 Reply Last reply
                                          1

                                          • Login

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