V4L2编程相关总结

 主程序框架:       

 1. options_init();

 2.options_deal(argc, argv);

 3. video_init();

 4.screen_init();

  5.screen_mainloop();

  6.screen_quit();

  7.video_quit();

 

3.视频初始化
 3.1 video_open();                           fd = open(device, O_RDWR);    //打开设备

 3.2 video_set_format();                 VIDIOC_S_FMT       //设定格式,查看格式为VIDIOC_GFMT

 3.3 buffer_init();                              //缓冲区初始化,见下文

 3.4 video_streamon();                       VIDIOC_STREAMON     //打开采集

 

3.3缓冲区初始化

3.3.1 缓冲区请求,VIDIOC_REQBUFS,    应用程序缓冲获得了calloc()

3.3.2 缓冲区映射, VIDIOC_QUERYBUF(把VIDIO_REQBUFS 中分配的数据缓存转换成物理地址)

3.3.3 缓冲区入队VIDIO_QBUF

 

5屏幕显示主循环

5.1 出队,VIDIOC_DQBUF   //从缓冲区获取一个缓冲帧,前提是所有的队列已经入好。

5.2 处理采集回来的图像

5.3 VIDIOC_QBUF         // 将取出的缓冲帧放回缓冲区

 

7视频采集退出

 7.1  关闭采集  VIDIO_STREAMOFF

7.2  关闭视频文件指针close(fd)

7.3 释放缓存,解除映射关系unmmap();

                        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值