Hier ist es:
gst-launch-1.0 -e autovideosrc ! queue ! videoconvert ! mkv. autoaudiosrc ! queue ! audioconvert ! mkv. matroskamux name=mkv ! filesink location=test.mkv sync=false
So funktioniert es:
- Wir erhalten Video-Feed von der Webcam mit
autovideosrc
. - Als Nächstes platzieren wir den Feed in seinem eigenen Thread, indem er ihn ausgeben soll
queue
. - Der Video-Feed von
queue
geht zuvideoconvert
dem Ort, an dem er konvertiert wird (Ich bin nicht sicher, ob dieser Schritt erforderlich ist). - Schließlich wird der Video-Feed in das benannte Element aufgenommen
mkv
, das vom Typ istmatroskamux
. Dieses Element konvertiert den Video-Feed in Matroska. - Danach erhalten wir Audio-Feed mit
autoaudiosrc
. - Wir platzieren den Feed von
autoaudiosrc
in einem anderen Thread mitqueue
. - Von
queue
Audio geht zu,audioconvert
wo es konvertiert wird (auch nicht sicher, wenn nötig). - Konvertiertes Audio wird an dasselbe
matroskamux
Element gesendetmkv
. Hier wird der Audio-Feed in Matroska konvertiert. - Da sowohl Audio- als auch Video-Feed zu demselben Element gehören, werden sie zu einem Matroska-Feed zusammengeführt.
- Schließlich wird dieser Matroska-Feed mithilfe von in einer Datei gespeichert
filesink
. Sie müssen wahrscheinlich einstellen,sync=false
ob Ihr Computer keine Bestie ist.
Das ist es. Wenn sich jemand fragt, warum ich in der Frage geschrieben habe, dass dieser Befehl kein Audio aufnimmt, liegt dies daran, dass ich vergessen habe, das Mikrofon einzuschalten.