当前位置:首页 > 技术 > LINUX > 正文内容

Linux 系统中将 USB 摄像头的图像显示到fb0帧缓冲设备

Watrt8个月前 (09-06)LINUX6090

要在 Linux 系统中将 USB 摄像头的图像显示到fb0帧缓冲设备(分辨率 240×240),可以使用ffmpeg或mplayer等工具来处理视频流并输出到帧缓冲设备。以下是具体步骤:

ffmpeg可以直接捕获 USB 摄像头视频流,进行格式转换和分辨率调整,然后输出到fb0。

确认摄像头设备

首先先确定 USB 摄像头的设备路径,通常是/dev/video0(可通过ls /dev/video*查看):

bash

ls /dev/video*

使用 ffmpeg 输出到 fb0

运行以下命令,将摄像头视频流转码为 240×240 分辨率并显示到fb0:

bash

ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 \
  -vf "scale=240:240" -pix_fmt rgb565 \
  -f fbdev /dev/fb0


参数说明:

-f v4l2:指定输入格式为 Video4Linux2(摄像头常用格式)。

-video_size 640x480:摄像头的原始分辨率(可根据实际情况调整)。

-i /dev/video0:输入设备为 USB 摄像头。

-vf "scale=240:240":将视频缩放到 240×240 分辨率。

-pix_fmt rgb565:指定输出像素格式(需与fb0支持的格式匹配,可通过fbset查看)。

-f fbdev /dev/fb0:输出到帧缓冲设备fb0。


使用 transpose 滤镜可以将画面旋转90度的整数倍


顺时针旋转90度:

ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vf "transpose=1" -pix_fmt rgb565 -f fbdev /dev/fb0

逆时针旋转90度:

ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vf "transpose=2" -pix_fmt rgb565 -f fbdev /dev/fb0

旋转180度 (相当于上下颠倒+左右镜像):

ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vf "transpose=1,transpose=1" -pix_fmt rgb565 -f fbdev /dev/fb0

水平或垂直翻转

使用 hflip (水平翻转) 或 vflip (垂直翻转) 滤镜来镜像画面。

左右镜像(水平翻转)

ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vf "hflip" -pix_fmt rgb565 -f fbdev /dev/fb0

上下颠倒(垂直翻转):

ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vf "vflip" -pix_fmt rgb565 -f fbdev /dev/fb0

组合滤镜(最常见场景)

ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vf "scale=240:240,transpose=1,transpose=1,hflip" -pix_fmt rgb565 -f fbdev /dev/fb0


打赏 支付宝打赏 微信打赏

相关文章

关于CentOS 下 httpd 修改默认的目录后 403 错误的 解决

关于CentOS 下 httpd 修改默认的目录后 403 错误的 解决

step 1 : 首先改你要设置的目录权限       chmod -R 755 /home/html          -------------->>  /home/html   是你存放你的页面的目录   这里我顺便记录下关于selinux 的命令吧    getenforce=>查看 selinux的状态&nbs...

licheepi_zero开发板 buildroot配置 一键编译

licheepi_zero开发板 buildroot配置 一键编译

开贴记录配置最新buildroot-2018.08.使用buildroot自带工具链一键编译生成uboot,kernel,dtb和rootfs.最新稳定版buildroot下载:buildroot-2018.08.02稳定版我配置好的config文件:配置好的.config本人的开发环境是vmware workstation 15 pro+ubuntu 16.04_x64参照沉鱼的帖子荔枝派Zero V3s开发板入坑记录 (TF/SD卡启动)(主线Linux,主线u-boot)做如下配置:1.t...

buildroot编译中的问题

buildroot编译中的问题

在编译中遇到flex 报错。一直过不了。后来发现安装flex bison两个包后解决sudo apt-get install flex bison...

LINUX 使用sendmail邮件备份

LINUX 使用sendmail邮件备份

首先安装:sudo apt-get install sendmail然后在终端可以使用mail来发邮件echo "ESP32固件"|mail -s "esp32" -A "./fw.bin" -r "bak@xxx.com" xb100@qq.com注意很有可能收到的邮件在垃圾箱里面。把发件地址加到白 名单中...

利用BusyBox ~私人定制 My LINUX~

利用BusyBox ~私人定制 My LINUX~

前言  我在今天在这里跟大家详细地探讨一下Linux系统的定制过程和实现例如、用户能够远程登录;和Nginx能够稳定地运行在我们私人定制的LINUX系统上、一步一步从头开始定制属于我们自己的系统。正文   首先我们先来简单的介绍一下我们这里定制属于自己的Linux系统的基本元素.   一个定制的linux内核+一个定制的busybox就可以定制一个小型的Linux操作系统了,安装Dropbear和Nginx,Linux的组成 部分包括内核空间和用户空间、而...

 Debian 9.9 (stretch) 文件系统制作

Debian 9.9 (stretch) 文件系统制作

0. 准备工作:sudo apt install qemu-user-static -y sudo apt install debootstrap -y mkdir rootfs1. debootstrapdebootstrap --foreign --verbose --arch=armhf  stretch rootfs http...

[转]《保姆级教程》全志F1C100S/F1C200S spi-flash 启动全流程适配烧录及踩坑指南

[转]《保姆级教程》全志F1C100S/F1C200S spi-flash 启动全流程适配烧录及踩坑指南

转自哇酷网=丨晋丨通过参考荔枝派nano官方和论坛大佬的帖子,总结了烧录 spi-flash 启动的方法。通过搜寻资料,把其中有错误或者做了多余的操作的步骤做了修正,以免大家再次踩坑,耗费青春。以下包括 uboot、kernel、buildroot 和 烧录的详细步骤和需要注意的问题,尽量精简方法,以期容易上手和理解。各种配置项也做了详细注释,要知其然,也知其所以然。最理想的状态应该是是:有的坑,踩的人多了,也便没有了坑。论坛不太好排版,有需要的也可以去我的博客看:P:全志F1C100S/F1C...

修改U-BOOT,输出信息在LCD上显示,并使用USB连接键盘使用控制台

修改U-BOOT,输出信息在LCD上显示,并使用USB连接键盘使用控制台

修改方法:一:修改U-BOOT   include/configs/suniv.h#define CONFIG_BOOTCOMMAND"fatload mmc 0:1 0x80800000 zImage; "  \              &nb...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。