Add gst-v4l2-capture.sh
[experiments/gstreamer.git] / shell / gst-v4l2-capture.sh
diff --git a/shell/gst-v4l2-capture.sh b/shell/gst-v4l2-capture.sh
new file mode 100755 (executable)
index 0000000..ba49867
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+[ "x$1" = "x" ] && { echo "usage $(basename "$0") <destination_file>" 1>&2; exit 1; }
+
+FILENAME="$1"
+
+VIDEO_CODEC="video/x-raw,format=I420 ! jpegenc quality=90"
+
+gst-launch-1.0 -e \
+  matroskamux name=mux ! filesink location="$FILENAME" \
+  v4l2src ! queue ! videoconvert ! videorate ! $VIDEO_CODEC ! queue ! mux. \
+  pulsesrc ! queue ! audioconvert ! vorbisenc ! queue ! mux.