gstreamer v4l2src和v4l2sink用代码实现

序言

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)之后&

你可能感兴趣的:(V4L2,gstreamer)