Um besser zu verstehen wie Elemente im Gstreamer funktionieren, muss man noch ein paar Worte über SRC und SINK sagen.

Die meisten Elemente  haben Eingang und Ausgang. Es kommt dabei ständig zur Verwirrungen: was Ausgang (SRC) und was Eingang (SINK) ist. Am einfachsten ist es im bezug zu anderen Element zu verstehen, hier ist ein Beispiel:

[Element 1]--src-->>--sink--[Element 2]--src-->>--sink--[Element 3]

Und so weiter. Nur ein passende SINK kann zu einem SRC eingeschlossen. Lasst uns  pulsesrc nehmen. Dieses Element hat nur SRC (natürlich im begrenzten Sinne für Gstreamer). Jetzt schauen wir in die Beschreibung von pulsesrc:

gst-inspect pulsesrc

Factory Details:
  Long name:    PulseAudio Audio Source
  Class:    Source/Audio
  Description:    Captures audio from a PulseAudio server
  Author(s):    Lennart Poettering
  Rank:        primary (256)

...

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      audio/x-raw-int
             endianness: { 1234, 4321 }
                 signed: true
                  width: 16
                  depth: 16
                   rate: [ 1, 2147483647 ]
               channels: [ 1, 32 ]

Die wichtige Teil für uns fängt mit den Worten SRC template an. Hier steht, welche Möglichkeiten/Formate dieses Element ausgeben kann. Ein davon ist audio/x-raw-int.

Der SINK von vorbisenc akteptiert nur  audio/x-raw-float. Wenn pulsesrc nichts anderes können würde, könnten wir die beide auch nicht verbinden. Dafür brauchen wir ein Element welches audio/x-raw-int auf audio/x-raw-float umwandeln kann. Der heißt audioconvert. In unserem Befehl wird so aussehen:

gst-launch-0.10 pulsesrc ! audioconvert ! vorbisenc ! ...

Nun, zum basteln gebe euch ein paar Elemente. Dabei gibt es auch nicht passende ;D

postproc_tmpnoise, pulsesrc, pulsesink, filesink, oggmux, matroskamux, vorbisenc, speexenc

Bin gespannt von euch wieder zu hören.

Noch keine Kommentare

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
BBCode-Formatierung erlaubt
Markdown-Formatierung erlaubt