问题标签 [v4l2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1231 浏览

python - 无法使用 python 在 v4l2loopback 设备上生成稳定的视频流

我正在为我的视频映射集开发流生成器,但我无法稳定图像。我用python-v4l2打开一个 v4l2loopback 设备并通过它基于 png 生成一个视频流,因此可以在我的 vj 集中生成实时视频并静态视频映射它们并应用效果。

测试用例:1)加载v4l2loopback模块

2)运行蟒蛇:

3) 运行 Cheese 或其他 v4l2 流查看器。

结果是一个适当颜色和大小的图像,但它从左到右跳动每一帧,并且总是向左多一点,所以你得到一个滑动和跳跃的视频结果。我究竟做错了什么?

此致,

哈里博

ps:如果您想查看结果检查:链接到目前为止,LiVES、puredate、gem 视频映射设置与 v4l2 流一起工作得很好。

0 投票
1 回答
435 浏览

c++ - Video4Linux 在开始捕获时崩溃

我尝试使用 video4linux 和 mmap 方法从网络摄像头捕获图像。我的设备是 Gentoo Linux(内核版本 2.6.33.20)上的 Aptina MT9M114 相机。代码基于此示例程序: http: //linuxtv.org/downloads/v4l-dvb-apis/capture-example.html

当我想开始捕捉时,我运行以下代码来准备我的缓冲区:

在这里调用 ioctl() 时,我遇到了深层崩溃。这是我的系统日志,我没有更多信息:

有没有人提示,这里有什么问题?实际上,这段代码应该可以工作,因为它可以在我的本地 PC 上运行,并且主要是从这个示例中复制而来的。所以我不知道如何找到问题。

0 投票
1 回答
861 浏览

python - v4l2/streamer 运行不稳定

我正在使用树莓派为我的父母制作一个在线网络摄像头。我希望它捕获照片,将其上传到网络服务器,然后将副本上传到不同的服务器进行存档。我使用脚本流媒体从网络摄像头中截取静止图像。它有效,问题是流媒体似乎有时会崩溃,循环错误消息“v4l2:oops:select timeout”。这可能在几次拍摄后发生,或者在运行 10 分钟后发生,这似乎是随机的。我添加了一个命令,在每个快照之后终止流媒体进程,它确实使程序更加稳定,但最终它仍然卡在错误循环中。我不知道问题是什么,甚至不知道如何调试它。我该怎么办?

我正在使用包含驱动程序的 raspbian。网络摄像头是罗技 c200。我首先尝试使用 opencv 来捕获静止图像,但无法使其正常工作。如果有人可以提供帮助,也许它会解决问题,我不知道..

这是代码,它是python:

0 投票
1 回答
6502 浏览

python - v4l2 fcntl.ioctl VIDIOC_S_PARM 用于设置相机捕捉的fps和分辨率

我正在尝试设置网络摄像头的 fps 和分辨率,并通过 v4l2 Python 从中捕获。

v4l2 Python 文档仅限于;

看着 videodev2.h ;

VIDIOC_S_PARM 与 v4l2_streamparm 相关,即;

如果我想设置参数;

这是我所能得到的。

如何使用 Python v4l2 调整相机的 fps 速率和分辨率并从中捕获图像?

0 投票
4 回答
42148 浏览

python - cv2.videocapture.read() 不返回 numpy 数组

我有这段代码试图从树莓派上的网络摄像头捕获帧,并将其保存为图像。我使用opencv 2,但运行代码时出现奇怪的错误..

这是程序返回的内容:

这里有什么问题?

0 投票
2 回答
5391 浏览

linux - 如何检测我的网络摄像头支持哪种像素格式?

我正在编写一个从我的网络摄像头捕获视频的 C 应用程序。我无法确定我的网络摄像头能够处理哪种像素格式。

lsusb:

总线 002 设备 003:ID 1e4e:0100 Cubeternet 网络摄像头

dmesg

我能够确定图像大小“640x480”,但不能确定像素格式:我试过了

YUV420 RGB565 RGB32

没有成功。任何帮助请。我正在使用 Debian 最新版本

0 投票
1 回答
6871 浏览

c - 使用 ffmpeg 或 OpenCV 处理 .Raw 图像

在阅读原始图像格式的维基百科页面后,这是任何图像的数字负片。

要查看或打印,必须对来自相机图像传感器的输出进行处理,即转换为场景的摄影渲染,然后以标准光栅图形格式(例如 JPEG)存储。这种处理,无论是在相机内完成还是稍后在原始文件转换器中完成,都涉及许多操作,通常包括

我使用v4l2 示例从我的 Logitech c920 中抓取了一些 .raw 文件,但是当我显示图像时,它看起来像这样: 原始帧文件一个原始图像,在其他帧中我可以看到我的影子

有谁知道如何处理这些文件以查看完整的框架?

这是原始 .raw 文件的链接

0 投票
2 回答
3830 浏览

c - 如何使用 video4linux api 获取网络摄像头设备支持的帧大小和帧间隔列表?

我正在尝试使用 V4L2 api 枚举网络摄像头设备支持的帧大小和帧速率。我尝试使用以下代码进行操作但没有成功。ioctl 函数总是返回-1。

0 投票
2 回答
3084 浏览

android - android:从 JNI 打开 /dev/video4(网络摄像头)时权限被拒绝

我已经在我的安卓设备上配置了 v4l2。我插入网络摄像头并看到 /dev/video4 节点已创建。但是当我尝试从我的 JNI 层打开它时,它显示“权限被拒绝”

我试过以下

1) 更改 /dev/video4 的权限,使其为所有人的读写 (0666)

2)在android manifest xml中添加了android.permission.camera(原来/dev/video4是系统创建的,camera group有rw权限)

它们都不起作用。关于如何解决它的任何想法?

0 投票
1 回答
2416 浏览

opencv - OpenCV 是否能够更改为复合输入?

我想知道 OpenCV 是否能够将相机(dev/video1)设置为复合或 S-video 输入。

我使用的相机仅在复合输入中运行,但 v4l2 默认在 S-Video 输入中打开 dev/video1。V4l2 能够通过 QT V4l2 utils 应用程序从 S-video 更改为复合输入。

opencv 使用 v4l 从相机捕获图像,我想使用 OpenCV 更改为代码中的复合输入。那可能吗?如果不是,解决这个问题的方法是什么?

提前致谢。