【全志T113-S3_100ask】14-1 linux采集usb摄像头实现拍照(FFmpeg、fswebcam)
创始人
2024-02-06 17:35:35

【全志T113-S3_100ask】14-1 linux采集usb摄像头实现拍照

  • 背景
  • (一)FFmpeg
    • 1、简介:
    • 2、交叉编译FFmpeg
    • 3、测试
  • (二)fswebcam
    • 1、背景
    • 2、交叉编译fswebcam
    • 3、测试

背景

在开发板上有一个csi转dvp接口的摄像头,但是,目前还不会驱动,先使用usb摄像头来采集图像数据。
本小节使用ffmpeg和fswebcam实现拍照。

(一)FFmpeg

1、简介:

  • FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
  • 前面的"FF"代表"Fast Forward"。
  • FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。
  • 在Linux平台上,ffmpeg对V4L2的视频设备提供了很好的支持,如:
./ffmpeg -t 10 -f video4linux2 -s 176*144 -r 8 -i /dev/video0 -vcodec h263 -f rtp rtp://192.168.1.105:5060 > /tmp/ffmpeg.sdp

以上命令表示:采集10秒钟视频,对video4linux2视频设备进行采集,采集QCIF(176*144)的视频,每秒8帧,视频设备为/dev/video0,视频编码为H263,输出格式为RTP,后面定义了IP地址及端口,将该码流所对应的SDP文件重定向到/tmp/ffmpeg.sdp中,将此SDP文件上传到流媒体服务器就可以实现直播了。

2、交叉编译FFmpeg

2-1 获取源码:可以通过官网http://ffmpeg.org/进行源码的下载,也可以直接通过git获取:

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg

在这里插入图片描述
2-2 交叉编译

./configure --cross-prefix=arm-linux-gnueabi- --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabi-gcc --arch=arm --prefix=../output --enable-shared --disable-static --enable-ffmpeg --disable-armv5te --disable-yasm
make
make install

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
2-3 移动文件:
将…/output/bin下的命令拷贝到根文件系统的/usr/bin
将…/output/lib下的库拷贝到根文件系统的/usr/lib
在这里插入图片描述

3、测试

ffmpeg -i /dev/video0  -vframes 1 -s 1920x1080 -q:v 2 -f image2   ./test1.jpg

但是发现拍照出来的很小,像素虽然达到了所设置的大小,但是其拍照质量不高,像是强制将640x480拉大至所设置的像素。

(二)fswebcam

1、背景

其实对于fswebcam,更多的使用是在树莓派上。
在这里插入图片描述
但是它也能对usb摄像头快速实现拍照功能。
其实在buildroot里面已经集成了fswebcam的包,对于使用100ask_T113的buildroot的同学可以按照以下操作实现usb拍照。

2、交叉编译fswebcam

  • 2-1 在buildroot目录下 make menuconfig
    在这里插入图片描述

  • 2-2 在英文状态下输入左斜杠进入搜索
    在这里插入图片描述

  • 2-3 然后输入 fswebcam ,回车
    在这里插入图片描述

  • 2-4 此时发现只有一项,且“Symbol: BR2_PACKAGE_FSWEBCAM [=n] ”
    .意思是fswebcam没有启用,可以直接按 1
    在这里插入图片描述

  • 2-5 然后按空格键选中
    在这里插入图片描述

  • 2-6 然后按ESC键,直到
    在这里插入图片描述
    然后回车
    在这里插入图片描述
    然后

make V=1

编译完之后烧到内存卡

3、测试

fswebcam -d /dev/video0  -S 10 --no-banner -r 1920x1080./test.jpg

在这里插入图片描述
即可实现拍照
但是如果像素比较高如500w,会栈溢出,然后重启设备,这时候可以考虑增加交换分区swap,可参考
https://blog.csdn.net/qq_30960647/article/details/123260670

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...