序言
gstreamer 中有很多插件,对于V4L2框架中的视频输入设备和视频输出设备分别由v4l2src和v4l2sink插件来对应。
其实v4l2src和v4l2sink也都是调用标准的v4l2 api来实现的,只不过将其整入到了gstreamer框架中,加入了gstreamer的一些特性而已。
1.v4l2src
v4l2src插件默认打开的设备是/dev/video0,如果想换可以通过gst-launch-1.0 v4l2src device=/dev/video*的方式来切换,v4l2src默认所申请的buffer个数是5个。
2.v4l2sink
v4l2sink插件默认打开的设备是/dev/video1,如果想换可以通过gst-launch-1.0 v4l2sink device=/dev/video*的方式来切换,v4l2sink默认申请的buffer个数是2个,不过这两个buffer的入输入队列有点特别,是在调用ioctl(VIDIOC_STREAMON)之前,先调用ioctl(VIDIOC_QBUF)将第一个buffer入输入队列,再调用ioctl(VIDIOC_STREAMON)之后&