【米尔MYD-YT507开发板试用体验】USB摄像头使用从入门到放弃

描述

本文来源电子发烧友社区,作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2293833_1_1.html


米尔MYD-YT507开发板提供了众多的接口,可以很方便我们接入外设:

米尔科技

一、摄像头配件

摄像头配件部分,官方提供了好几种选择:

米尔科技

其中有对USB摄像头的支持:

米尔科技

既然能够支持USB摄像头,正好我手头有一个海康威视的USB摄像头,接上来,经过一番尝试,发现可用,而且很好用。

米尔科技

二、USB摄像头接入

把这个摄像头的USB直接接到开发板上即可:

米尔科技

登录到开发板上,通过下面的命令,可以查看USB摄像头接入时,是否被检测到了:

dmesg

在接上USB摄像头,然后再拔掉,dmesg将会返回如下的信息:

米尔科技

然后,我们可以安装一个usbutils工具中提供的lsusb指令,来检测系统是否正确识别了:

# 安装
sudo apt install usbutils

# 查看具体信息
lsusb -v -t
lsusb

米尔科技

通过lsusb -v -t,可以查看当前接入的设备类型。通过lsusb可以查看开发板的USB挂载点。

在上图中,uvcvideo即为USB摄像头设备,其挂载到了Bus03 Port1 ,对应的ID为1d6b:0002。最后的这个id,需要记录下来,后续需要使用。

通过上述操作,我们可以确认,摄像头正确接入了,后续就可以开始使用了。

三、摄像头参数了解

要使用这个USB摄像头,我们需要先了解一下它的相关参数信息,例如支持的格式,分辨率等,这可以通过Video for Linux这个工具查看。

Video for Linux简称V4L,有网友画了一个结构非常清晰又很复杂的v4l框架图:

米尔科技

感觉过于复杂,这里不深究了,就知道,它能够很方便的查看摄像头的各项信息就好了。

  1. 安装v4l:

    sudo apt install v4l-utils
    

    然后即可使用v4l2-ctl命令查看了,具体操作如下:

  2. 查看系统识别的摄像头:

    sudo v4l2-ctl --list-devices
    

    米尔科技

    从上图中可以看到,这个USB摄像头,识别为 HIK 720P Camera,并且设备挂载点为/dev/video0

  3. 查看摄像头支持的格式:

    sudo v4l2-ctl -d /dev/video0 --list-formats
    

    米尔科技
    从上图中可以看到,支持MJPG和YUYV两种视频格式。

    其中,Motion JPEG是一種影像壓縮格式,其中每一影格圖像都分別使用JPEG編碼,非常适合进行推流使用。

    YUYV是YUV编码方式的一种存储格式,定义比较复杂,所以大家可以自己搜索资料了解。

  4. 查看摄像头支持的分辨率:

    sudo v4l2-ctl --list-framesizes=MJPG -d /dev/video0
    sudo v4l2-ctl --list-framesizes=YUYV -d /dev/video0
    

    米尔科技

    米尔科技

    从上图中,可以看到,最大为720P,对应前面显示的 HIK 720P Camera

现在我们已经知道了,这个USB摄像头,分辨率能够支持720P,格式支持MJPEG和YUYV了,下面,我们就可以使用摄像头软件,来获取摄像头拍摄的画面了。

四、摄像头拍照

因为我所使用的系统是Ubuntu,桌面环境使用的是xfce4,所以我安装了camorama这个工具来使用摄像头。

  1. 安装camorama:

    sudo aptinstall camorama
    

    安装完成后,在xfce桌面的菜单中,就能够看到这个应用了:

    米尔科技

  2. 使用camorama:
    但是现在还不能直接从菜单点击使用,需要在命令行,通过sudo调用,如上图所示,执行后,就能打开camoraman了:
    米尔科技

  3. 设置当前非root用户的使用权限:
    使用时,切入到root用户,这很不方便,好来系统提供了udev设置的方式,能够很方便的让普通用户使用摄像头设备,具体操作如下:

    sudo vim /etc/udev/rules.d/my-uvc-usb.rules
    ### 添加下面这行
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d6b", ATTRS{idProduct}=="0002", GROUP="myir", MODE="0666"
    

    在上面的配置中,idVendor、idProduct对应我们之前使用lsusb命令获取的id信息:1d6b:0002,GROUP则对应当前登录的普通用户myir。

    设置完成以后,需要使用sudo reboot重启设备生效,然后就可以在xfce界面,点击菜单使用摄像头了。

  4. 普通用户权限使用:
    在默认设置的camorama界面上,点击Take Picture会报错,提示无法创建目录,需要先进行如下的设置,将存储目录设置到当前用户的Picture目录即可:
    米尔科技
    设置完成,就可以点击Take Picture拍照了,拍照后,到当前用户的Picture目录即可查看图片。

  5. 拍摄图片的查看:
    要查看图片我们可以试用 ristretto 工具,安装后,可以从系统菜单打开,也可直接点击图片,就能查看了:
    米尔科技

五、摄像头视频录制

  1. 视频录制:
    要录制视频,可以使用cheese或者obs,为了简单起见,这里我们直接使用ffmpeg来录制视频,不需要安装太多额外的大的应用。

    # 安装ffmpeg,之前的步骤,可能会自动安装了
    sudo apt install ffmpeg
    
    # 进入到~/Videos目录并录制摄像头视频
    cd ~/Videos
    ffmpeg -f video4linux2 -r 30 -s 640x480 -i /dev/video0 out.mp4
    

    执行上述命令后,就会将录制的视频,存放到 ~/Videos/out.mp4了,修改out.mp4可以保存为你实际需要的视频文件名。

    米尔科技

    要结束录制,按ctrl+c即可

    1. 播放视频:
      要播放视频,可以安装smplayer,其实使用mplayer也可以播放,但smplayer操作更友好。
    sudo apt install smplayer
    

    安装完成后,点击视频,即可播放:

    米尔科技

    因为我使用vnc连接远程桌面进行播放的,所以播放的效果不是太好。如果是本地连接显示器进行播放,效果非常不错。本文所附带的视频,就是实际录制的视频。

六、总结

到这里,我们已经能够正常使用USB摄像头,来进行拍照,进行录制了。
操作过程中,所使用的软件,是我实际使用的,大家也可以用自己熟悉的其他工具软件来进行操作。
下一步,将会给大家分享,如何使用USB摄像头进行推流,提供类似直播的在线视频;
同时,我手头上,有一个M2 Dock,已经实现了,在M2 Dock,通过米尔MYD-YT507开发板的USB摄像头视频推流,来获取实际拍摄数据,进行图像分析处理,例如魔方色块的智能识别。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分