domingo, 19 de septiembre de 2010

Fotografiar con pygst

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Capturador_Gstreamer.py (versión 1)
# por Flavio Danesse (fdanesse@hotmail.com)
# CeibalJAM! - Uruguay


import sys, os
import pygtk, gtk, gobject

import pygst
pygst.require("0.10")
import gst

import time

class Capturador_Gstreamer():
    def __init__(self, frecuencia=2):


        self.frecuencia = frecuencia
        self.hora = time.strftime("%H:%M:%S") # hora de inicio, luego, hora de cada fotografía

        # Declaración elemendos para pipeline de fotografía
        self.pipeline = None
        self.source = None
        self.codec = None
        self.formato = None
        self.filesink = None

        self.start_streaming() # levanta el stream

        self.estado = True # controla el estado general del programa

    def main(self):
        while self.estado:
            time.sleep(self.frecuencia)
            self.get_fotografia()

    def get_fotografia(self):
    # timer para ejecutar tareas programadas
        self.pipeline.set_state(gst.STATE_NULL) # anula el pipeline
        self.hora = time.strftime("%H:%M:%S") # obtiene la hora
        self.filesink.set_property("location", "%s.png" % (self.hora)) # Cambia nombre de archivo
        self.pipeline.set_state(gst.STATE_PLAYING) # Fotografía
        return True

    def construir_pipeline(self):
    # construye el stream de fotografia
        self.pipeline = gst.Pipeline("player")
       
        self.source = gst.element_factory_make("v4l2src", "camara") # origen
        self.codec = gst.element_factory_make("ffmpegcolorspace", "codec") # formato de video
        self.formato = gst.element_factory_make("pngenc", "png") # formato de imagen

        self.filesink = gst.element_factory_make("filesink", "filesink") # salida
        self.filesink.set_property("location", "%s.png" % (self.hora))

        self.pipeline.add(self.source, self.codec, self.formato, self.filesink) # armar el pipeline
        gst.element_link_many(self.source, self.codec, self.formato, self.filesink) # entubar los elementos

     def start_streaming(self):
    # Ejecuta el stream
        self.construir_pipeline() # construye el pipeline

            self.bus = self.pipeline.get_bus() # obtiene el bus de mensajes

            self.bus.add_signal_watch() # escucha las señales en el bus
            self.bus.connect("message", self.on_message) # conecta los mensajes al manejador de señales

    def on_message(self, bus, message):
    # mensajes en el bus
            if message.type == gst.MESSAGE_ERROR:
                    err, debug = message.parse_error()
                    print "ERROR ON_MESSAGE: ", err, debug

    def describe(self):
    # Descripción general del funcionamiento de la clase Capturador_Gstreamer
        descripcion = '''\t\t*** Clase Capturador_Gstreamer *** \n
        Esta clase recibe un parámetro entero que indica cada cuantos segundos debe realizar una fotografía.\n
        Luego, comenzara a fotografiar y guardar esas imágenes con el nombre de archivo igual a la hora de realizada la fotografía.\n
        Mientras la variable estado sea True, continuará realizando esta tarea.'''
        return descripcion

if __name__ == "__main__":
    # frecuencia es cada cuantos segundos debe fotografiar
    capturador = Capturador_Gstreamer(frecuencia=2)
    print capturador.describe()
    capturador.main()

sábado, 18 de septiembre de 2010

Testeo de Audio con pygst

#!/usr/bin/python

import pygst
pygst.require("0.10")
import gst
import pygtk
import gtk

class Main:
    def __init__(self):

        self.pipeline = gst.Pipeline("mypipeline")

        self.audiotestsrc = gst.element_factory_make("audiotestsrc", "audio")
        self.audiotestsrc.set_property ("freq", 500)
        self.pipeline.add(self.audiotestsrc)

        self.sink = gst.element_factory_make("alsasink", "sink")
        self.pipeline.add(self.sink)

        self.audiotestsrc.link(self.sink)

        self.pipeline.set_state(gst.STATE_PLAYING)

start=Main()
gtk.main()

inspect de v4l2src en gstreamer

gst-inspect -0.10 v4l2src

Factory Details:
  Long name:    Video (video4linux2/raw) Source
  Class:    Source/Video
  Description:    Reads raw frames from a video4linux2 (BT8x8) device
  Author(s):    Ronald Bultje <rbultje@ronald.bitfreak.net>, Edgard Lima <edgard.lima@indt.org.br>
  Rank:        none (0)

Plugin Details:
  Name:            video4linux2
  Description:        elements for Video 4 Linux
  Filename:        /usr/lib/gstreamer-0.10/libgstvideo4linux2.so
  Version:        0.10.5
  License:        LGPL
  Source module:    gst-plugins-good
  Binary package:    Fedora Core gstreamer-plugins-good package
  Origin URL:        http://download.fedora.redhat.com/fedora

GObject
 +----GstObject
       +----GstElement
             +----GstBaseSrc
                   +----GstPushSrc
                         +----GstV4l2Src

Implemented Interfaces:
  GstVideoOrientation
  GstPropertyProbe
  GstImplementsInterface
  GstTuner
  GstColorBalance

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      video/x-raw-rgb
                    bpp: 8
                  depth: 8
               red_mask: 224
             green_mask: 28
              blue_mask: 3
             endianness: 1234
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-rgb
                    bpp: 16
                  depth: 15
               red_mask: 31744
             green_mask: 992
              blue_mask: 31
             endianness: 1234
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-rgb
                    bpp: 16
                  depth: 16
               red_mask: 63488
             green_mask: 2016
              blue_mask: 31
             endianness: 1234
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-rgb
                    bpp: 16
                  depth: 15
               red_mask: 31744
             green_mask: 992
              blue_mask: 31
             endianness: 4321
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-rgb
                    bpp: 16
                  depth: 16
               red_mask: 63488
             green_mask: 2016
              blue_mask: 31
             endianness: 4321
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-rgb
                    bpp: 24
                  depth: 24
               red_mask: 255
             green_mask: 65280
              blue_mask: 16711680
             endianness: 4321
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-rgb
                    bpp: 24
                  depth: 24
               red_mask: 16711680
             green_mask: 65280
              blue_mask: 255
             endianness: 4321
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-rgb
                    bpp: 32
                  depth: 32
               red_mask: 255
             green_mask: 65280
              blue_mask: 16711680
             endianness: 4321
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-rgb
                    bpp: 32
                  depth: 32
               red_mask: -16777216
             green_mask: 16711680
              blue_mask: 65280
             endianness: 4321
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-yuv
                 format: YVU9
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-yuv
                 format: YV12
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-yuv
                 format: YUY2
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-yuv
                 format: UYVY
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-yuv
                 format: Y42B
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-yuv
                 format: Y41B
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-yuv
                 format: Y41P
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-yuv
                 format: YUV9
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-raw-yuv
                 format: I420
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      image/jpeg
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      image/jpeg
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]
      video/x-dv
           systemstream: true
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 100/1 ]


Element Flags:
  no flags set

Element Implementation:
  No loopfunc(), must be chain-based or not configured yet
  Has change_state() function: gst_base_src_change_state
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.

Pads:
  SRC: 'src'
    Implementation:
      Has getrangefunc(): gst_base_src_pad_get_range
      Has custom eventfunc(): gst_base_src_event_handler
      Has custom queryfunc(): gst_base_src_query
    Pad Template: 'src'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: null Current: "v4l2src0"
  blocksize           : Size in bytes to read per buffer (0 = default)
                        flags: readable, writable
                        Unsigned Long. Range: 0 - 4294967295 Default: 4096 Current: 4096
  num-buffers         : Number of buffers to output before sending EOS
                        flags: readable, writable
                        Integer. Range: -1 - 2147483647 Default: -1 Current: -1
  typefind            : Run typefind before negotiating
                        flags: readable, writable
                        Boolean. Default: false Current: false
  device              : Device location
                        flags: readable, writable
                        String. Default: "/dev/video0" Current: "/dev/video0"
  device-name         : Name of the device
                        flags: readable
                        String. Default: null Current: "cafe_ccic"
  flags               : Device type flags
                        flags: readable
                        Flags "GstV4l2DeviceTypeFlags" Current: 0, "(none)"
                           (0x00000001): capture          - Device supports video capture
                           (0x00000002): output           - Device supports video playback
                           (0x00000004): overlay          - Device supports video overlay
                           (0x00000010): vbi-capture      - Device supports the VBI capture
                           (0x00000020): vbi-output       - Device supports the VBI output
                           (0x00010000): tuner            - Device has a tuner or modulator
                           (0x00020000): audio            - Device has audio inputs or outputs

inspect de pngenc en gstreamer

gst-inspect-0.10 pngenc

Factory Details:
  Long name:    PNG image encoder
  Class:    Codec/Encoder/Image
  Description:    Encode a video frame to a .png image
  Author(s):    Jeremy SIMON <jsimon13@yahoo.fr>
  Rank:        none (0)

Plugin Details:
  Name:            png
  Description:        PNG plugin library
  Filename:        /usr/lib/gstreamer-0.10/libgstpng.so
  Version:        0.10.5
  License:        LGPL
  Source module:    gst-plugins-good
  Binary package:    Fedora Core gstreamer-plugins-good package
  Origin URL:        http://download.fedora.redhat.com/fedora

GObject
 +----GstObject
       +----GstElement
             +----GstPngEnc

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-raw-rgb
                    bpp: 32
                  depth: 32
             endianness: 4321
               red_mask: -16777216
             green_mask: 16711680
              blue_mask: 65280
             alpha_mask: 255
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]
      video/x-raw-rgb
                    bpp: 24
                  depth: 24
             endianness: 4321
               red_mask: 16711680
             green_mask: 65280
              blue_mask: 255
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]

  SRC template: 'src'
    Availability: Always
    Capabilities:
      image/png
                  width: [ 16, 4096 ]
                 height: [ 16, 4096 ]
              framerate: [ 0/1, 2147483647/1 ]


Element Flags:
  no flags set

Element Implementation:
  No loopfunc(), must be chain-based or not configured yet
  Has change_state() function: gst_element_change_state_func
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.

Pads:
  SRC: 'src'
    Implementation:
    Pad Template: 'src'
  SINK: 'sink'
    Implementation:
      Has chainfunc(): 0xb78b0440
    Pad Template: 'sink'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: null Current: "pngenc0"
  snapshot            : Send EOS after encoding a frame, useful for snapshots
                        flags: readable, writable
                        Boolean. Default: true Current: true
  compression-level   : PNG compression level
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 9 Default: 6 Current: 6

inspect de filesrc gstreamer

gst-inspect-0.10 filesrc

Factory Details:
  Long name:    File Source
  Class:    Source/File
  Description:    Read from arbitrary point in a file
  Author(s):    Erik Walthinsen <omega@cse.ogi.edu>
  Rank:        primary (256)

Plugin Details:
  Name:            coreelements
  Description:        standard GStreamer elements
  Filename:        /usr/lib/gstreamer-0.10/libgstcoreelements.so
  Version:        0.10.12
  License:        LGPL
  Source module:    gstreamer
  Binary package:    Fedora Core gstreamer package
  Origin URL:        http://download.fedora.redhat.com/fedora

GObject
 +----GstObject
       +----GstElement
             +----GstBaseSrc
                   +----GstFileSrc

Implemented Interfaces:
  GstURIHandler

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


Element Flags:
  no flags set

Element Implementation:
  No loopfunc(), must be chain-based or not configured yet
  Has change_state() function: gst_base_src_change_state
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.

Pads:
  SRC: 'src'
    Implementation:
      Has getrangefunc(): gst_base_src_pad_get_range
      Has custom eventfunc(): gst_base_src_event_handler
      Has custom queryfunc(): gst_base_src_query
    Pad Template: 'src'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: null Current: "filesrc0"
  blocksize           : Size in bytes to read per buffer (0 = default)
                        flags: readable, writable
                        Unsigned Long. Range: 0 - 4294967295 Default: 4096 Current: 4096
  num-buffers         : Number of buffers to output before sending EOS
                        flags: readable, writable
                        Integer. Range: -1 - 2147483647 Default: -1 Current: -1
  typefind            : Run typefind before negotiating
                        flags: readable, writable
                        Boolean. Default: false Current: false
  location            : Location of the file to read
                        flags: readable, writable
                        String. Default: null Current: null
  fd                  : File-descriptor for the file being mmap()d
                        flags: readable
                        Integer. Range: 0 - 2147483647 Default: 0 Current: 0
  mmapsize            : Size in bytes of mmap()d regions
                        flags: readable, writable
                        Unsigned Long. Range: 0 - 4294967295 Default: 4194304 Current: 4194304
  sequential          : Whether to use madvise to hint to the kernel that access to mmap pages will be sequential
                        flags: readable, writable
                        Boolean. Default: false Current: false
  touch               : Touch mmapped data regions to force them to be read from disk
                        flags: readable, writable
                        Boolean. Default: true Current: true
  use-mmap            : Whether to use mmap() instead of read()
                        flags: readable, writable
                        Boolean. Default: false Current: false

Sistema gstreamer Instalado en xo 1 (Uruguay)

gst-inspect-0.10

icydemux:  icydemux: ICY tag demuxer
smpte:  smpte: SMPTE transitions
gnomevfs:  gnomevfssink: GnomeVFS Sink
gnomevfs:  gnomevfssrc: GnomeVFS Source
annodex:  cmmldec: CMML stream decoder
annodex:  cmmlenc: CMML streams encoder
halelements:  halaudiosrc: HAL audio source
halelements:  halaudiosink: HAL audio sink
videoscale:  videoscale: Video scaler
videorate:  videorate: Video rate adjuster
alphacolor:  alphacolor: Alpha color filter
videobox:  videobox: Video box filter
adder:  adder: Adder
efence:  efence: Electric Fence
level:  level: Level
videobalance:  videobalance: Video balance
apetag:  apedemux: APE tag demuxer
vorbis:  vorbistag: VorbisTag
vorbis:  vorbisparse: VorbisParse
vorbis:  vorbisdec: Vorbis audio decoder
vorbis:  vorbisenc: Vorbis audio encoder
autodetect:  autoaudiosink: Auto audio sink
autodetect:  autovideosink: Auto video sink
theora:  theoraparse: TheoraParse
theora:  theoraenc: Theora video encoder
theora:  theoradec: Theora video decoder
jpeg:  smokedec: Smoke video decoder
jpeg:  smokeenc: Smoke video encoder
jpeg:  jpegdec: JPEG image decoder
jpeg:  jpegenc: JPEG image encoder
gconfelements:  gconfaudiosrc: GConf audio source
gconfelements:  gconfaudiosink: GConf audio sink
gconfelements:  gconfvideosrc: GConf video source
gconfelements:  gconfvideosink: GConf video sink
auparse:  auparse: AU audio demuxer
shout2send:  shout2send: Icecast network sink
flxdec:  flxdec: FLX audio decoder
gdkpixbuf:  gdkpixbufscale: GdkPixbuf image scaler
gdkpixbuf:  gdkpixbufdec: GdkPixbuf image decoder
pango:  textrender: Text renderer
pango:  clockoverlay: Clock overlay
pango:  timeoverlay: Time overlay
pango:  textoverlay: Text overlay
mulaw:  mulawdec: Mu Law audio decoder
mulaw:  mulawenc: Mu Law audio encoder
videomixer:  videomixer: Video mixer
wavenc:  wavenc: WAV audio muxer
audiofx:  audiopanorama: AudioPanorama
navigationtest:  navigationtest: Video navigation test
coreelements:  multiqueue: MultiQueue
coreelements:  typefind: TypeFind
coreelements:  tee: Tee pipe fitting
coreelements:  filesink: File Sink
coreelements:  queue: Queue
coreelements:  identity: Identity
coreelements:  filesrc: File Source
coreelements:  fdsink: Filedescriptor Sink
coreelements:  fdsrc: Disk Source
coreelements:  fakesink: Fake Sink
coreelements:  fakesrc: Fake Source
coreelements:  capsfilter: CapsFilter
id3demux:  id3demux: ID3 tag demuxer
ffmpegcolorspace:  ffmpegcolorspace: FFMPEG Colorspace converter
goom:  goom: GOOM: what a GOOM!
audiorate:  audiorate: Audio rate adjuster
alpha:  alpha: Alpha filter
audioconvert:  audioconvert: Audio converter
audioresample:  audioresample: Audio scaler
coreindexers:  fileindex: A index that stores entries in file
coreindexers:  memindex: A index that stores entries in memory
volume:  volume: Volume
xvimagesink:  xvimagesink: Video sink
multipart:  multipartmux: Multipart muxer
multipart:  multipartdemux: Multipart demuxer
cutter:  cutter: Audio cutter
flac:  flacdec: FLAC audio decoder
flac:  flacenc: FLAC audio encoder
video4linux:  v4lsrc: Video (video4linux/raw) Source
wavparse:  wavparse: WAV audio demuxer
rtsp:  rtpdec: RTP Decoder
rtsp:  rtspsrc: RTSP packet receiver
ximagesrc:  ximagesrc: Ximage video source
matroska:  matroskamux: Matroska muxer
matroska:  matroskademux: Matroska demuxer
debug:  testsink: Test plugin
debug:  progressreport: Progress report
debug:  navseek: Seek based on left-right arrows
debug:  breakmydata: Break my data
taglib:  apev2mux: TagLib-based APEv2 Muxer
taglib:  id3v2mux: TagLib-based ID3v2 Muxer
audiotestsrc:  audiotestsrc: Audio test source
videotestsrc:  videotestsrc: Video test source
cairo:  cairotimeoverlay: Time overlay
cairo:  cairotextoverlay: Text overlay
ossaudio:  osssink: Audio Sink (OSS)
ossaudio:  osssrc: Audio Source (OSS)
ossaudio:  ossmixer: OSS Mixer
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: audio/x-wavpack-correction: wvc
typefindfunctions: audio/x-wavpack: wv, wvp
typefindfunctions: audio/x-spc: spc
typefindfunctions: adts_mpeg_stream: aac
typefindfunctions: application/x-executable: no extensions
typefindfunctions: text/x-cmml: no extensions
typefindfunctions: application/x-ogg-skeleton: 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-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/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: video/x-matroska: mkv, mka
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-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/smil: smil
typefindfunctions: text/uri-list: ram
typefindfunctions: text/plain: txt
typefindfunctions: video/x-flv: flv
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: image/x-quicktime: qif, qtif, qti
typefindfunctions: video/quicktime: mov
typefindfunctions: application/x-3gp: 3gp
typefindfunctions: audio/x-m4a: m4a
typefindfunctions: video/x-nuv: nuv
typefindfunctions: video/mpeg4: m4v
typefindfunctions: video/mpeg-stream: mpv, mpeg, mpg
typefindfunctions: video/mpeg: mpv, mpeg, mpg
typefindfunctions: application/ogg: anx, ogg, ogm
typefindfunctions: video/mpegts: ts
typefindfunctions: video/mpeg2: mpe, mpeg, mpg
typefindfunctions: video/mpeg1: mpe, mpeg, mpg
typefindfunctions: audio/x-ac3: ac3
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga
typefindfunctions: audio/x-mod: 669, amf, dsm, gdm, far, imf, it, med, mod, mtm, okt, sam, s3m, stm, stx, ult, xm
typefindfunctions: audio/x-ttafile: tta
typefindfunctions: application/x-apetag: 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: video/x-vcd: dat
typefindfunctions: video/x-cdxa: dat
typefindfunctions: video/x-msvideo: avi
typefindfunctions: audio/x-au: au, snd
typefindfunctions: audio/x-musepack: mpc
typefindfunctions: video/x-ms-asf: asf, wm, wma, wmv
udp:  udpsrc: UDP packet receiver
udp:  dynudpsink: UDP packet sender
udp:  multiudpsink: UDP packet sender
udp:  udpsink: UDP packet sender
tcp:  multifdsink: Multi filedescriptor sink
tcp:  tcpserversrc: TCP server source
tcp:  tcpserversink: TCP server sink
tcp:  tcpclientsrc: TCP client source
tcp:  tcpclientsink: TCP client sink
ximagesink:  ximagesink: Video sink
rtp:  rtpvorbispay: RTP packet depayloader
rtp:  rtpvorbisdepay: RTP packet depayloader
rtp:  rtptheorapay: RTP packet depayloader
rtp:  rtptheoradepay: RTP packet depayloader
rtp:  rtpsv3vdepay: RTP packet depayloader
rtp:  rtpspeexdepay: RTP packet depayloader
rtp:  rtpspeexpay: RTP packet payloader
rtp:  rtpmp4gpay: RTP packet payloader
rtp:  rtpmp4gdepay: RTP packet depayloader
rtp:  rtpmp4vdepay: RTP packet depayloader
rtp:  rtpmp4vpay: RTP packet payloader
rtp:  rtpmp2tdepay: RTP packet depayloader
rtp:  asteriskh263: RTP packet parser
rtp:  rtph264depay: RTP packet depayloader
rtp:  rtph263pay: RTP packet payloader
rtp:  rtph263pdepay: RTP packet depayloader
rtp:  rtph263ppay: RTP packet payloader
rtp:  rtpmpapay: RTP packet payloader
rtp:  rtpmpadepay: RTP packet depayloader
rtp:  rtppcmapay: RTP packet payloader
rtp:  rtppcmupay: RTP packet payloader
rtp:  rtppcmudepay: RTP packet depayloader
rtp:  rtppcmadepay: RTP packet depayloader
rtp:  rtpamrpay: RTP packet payloader
rtp:  rtpamrdepay: RTP packet depayloader
rtp:  rtpgsmpay: RTP GSM audio payloader
rtp:  rtpgsmdepay: RTP packet depayloader
rtp:  rtpilbcdepay: RTP iLBC packet depayloader
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio
rtp:  rtpdepay: RTP payloader
png:  pngenc: PNG image encoder
png:  pngdec: PNG image decoder
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
decodebin:  decodebin: Decoder Bin
subparse:  ssaparse: SSA Subtitle Parser
subparse:  subparse: Subtitle parser
subparse: subparse_typefind: srt, sub, mpsub, mdvd, smi, txt
video4linux2:  v4l2src: Video (video4linux2/raw) Source
cdio:  cdiocddasrc: CD audio source (CDDA)
1394:  dv1394src: Firewire (1394) DV video source
gdp:  gdppay: GDP Payloader
gdp:  gdpdepay: GDP Depayloader
playbin:  playbin: Player Bin
speex:  speexdec: Speex audio decoder
speex:  speexenc: Speex audio encoder
videoflip:  videoflip: Video flipper
dv:  dvdec: DV video decoder
dv:  dvdemux: DV system stream demuxer
avi:  avimux: Avi muxer
avi:  avidemux: Avi demuxer
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
alsa:  alsasink: Audio sink (ALSA)
alsa:  alsasrc: Audio source (ALSA)
alsa:  alsamixer: Alsa mixer
alaw:  alawdec: A Law audio decoder
alaw:  alawenc: A Law audio encoder
decodebin2:  decodebin2: Decoder Bin
staticelements:  bin: Generic bin
staticelements:  pipeline: Pipeline object

Total count: 77 plugins, 268 features

Video por la red con gstreamer

Enviar:
gst-launch v4l2src ! video/x-raw-yuv,width=320,height=240,framerate=\(fraction\)2/1 ! ffmpegcolorspace ! smokeenc keyframe=8 qmax=40 ! udpsink host=192.168.1.1 port=5000

Recibir:
gst-launch udpsrc port=5000 ! smokedec ! autovideosink