前言
在程序中实现我们想要的GStreamer功能时,我们可以先通过命令行来验证可行性。
安装GSteamer 环境(以Linux环境为例)
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
安装完后输入pkg-config --cflags --libs gstreamer-1.0
检查是否安装成功
例子一、 播放usb摄像头(支持V4L2)的内容到屏幕上
gst-launch-1.0 v4l2src device=/dev/video0 ! autovideosink
v4l2src 是 GStreamer 的v4l2插件,device是v4l2插件的属性,可以指定摄像头设备,如果不输入device则默认为/dev/video0, autovideosink为显示插件,会自动寻找合适的显示器,关于当前的GStreamer包有哪些插件,以及插件支持哪些属性,我们可以查看GStreamer的官网或者该插件的来源处,更为方便的是我们通过gst-inspect-1.0 自己研究说明书。
输入gst-inspect-1.0
为显示当前GStreamer支持的插件
输入 gst-inspect-1.0 插件名
则会显示该插件的属性
熟悉说明书的使用,对于后面使用GStreamer进行开发还是很有用的。
例子二、 usb摄像头的画面保存为MP4
gst-launch-1.0 v4l2src ! videoconvert ! x264enc ! h264parse ! qtmux ! filesink location=1.mp4 -e