Voip程序中,视频采集的步骤 视频采集用的是Video4Linux接口 Video4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下 (1).打开设备 Open(/dev/video0, O_RDWR | O_NONBLOCK, 0) (2).取得设备的capability,看看设备具有什么功能 struct v4l2_capability cap; struct v4l2_cropcap cropcap; xioctl(capture_fd, VIDIOC_QUERYCAP, &cap) xioctl(capture_fd, VIDIOC_CROPCAP, &cropcap) (3).设置设备属性 crop.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; crop.c = cropcap.defrect; xioctl(capture_fd, VIDIOC_S_CROP, &crop) (4)设置获取图像的宽高以及格式(YUV) struct v4l2_format fmt; memset(&fmt, 0, sizeof(fmt)); fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; fmt.fmt.pix.width = CAPTURE_WIDTH; fmt.fmt.pix.height = CAPTURE_HEIGHT; fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;//V4L2_PIX_FMT_YUYV fmt.fmt.pix.field = V4L2_FIELD_INTERLACED; xioctl(capture_fd, VIDIOC_S_FMT, &fmt) (5)向驱动申请帧缓冲 struct v4l2_requestbuffers req; memset(&req, 0, sizeof(req)); req.count = 4; req.
Voip程序中,视频采集的步骤
最新推荐文章于 2020-12-20 07:38:27 发布