问题标签 [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.
linux - bttv 摄像头移动机器人的问题 - 初始化噪声图像
我正在使用 Ubuntu 12.04 LTS。我们在从移动机器人上的手持摄像头接收无噪声图像时遇到问题。
摄像头图像是使用 BTTV PCI 设备收集的,特别是 bt878 驱动程序。BTTV 设备是基于 Bt848 芯片的 PCI-104 卡,在 Linux 下由 bttv 和相关的内核驱动模块支持。这些设备是只采集卡 - 这意味着视频是直接从视频源获取的,无需使用调谐器。图像采集卡连接到车载电脑Sensorary 311(所以bttv card=73)
安装的 bttv 驱动是 0.9.19 版本。网络摄像头位于 dev/video0 中。
加载的模块如下:
我们认为 bt878 驱动程序已正确加载,并且图像采集卡工作正常。当相机关闭时,图像采集卡(在 camorama、vlc 或 gstreamer-properties 程序中查看)是蓝色的,当相机打开时,从相机接收到的图像非常嘈杂。无法检测到任何特征,但可以看到光线的变化。
我们之前已经让相机正常工作(暗示驱动程序没问题),但它似乎几乎是随机的,并且取决于我们使用的观看程序和顺序。一旦相机工作,它就会一直工作,直到我们关闭机器人。我们认为这意味着相机未正确初始化,因此正在发送嘈杂的数据。除了确保相机开机之外,有谁知道初始化与 BTTV PCI 设备相关联的相机的好方法?
具体来说,相机是安装在 Mobile Robotics 的 SeekurJr 机器人上的机械手的一部分。在查看流之前,需要初始化操纵器(打开相机),我们这样做。
相机是 RVision SEE 相机。
问题:我们如何初始化相机?关于如何解决噪音的任何其他想法?
android - Android相机中的图片/预览大小规则
有人告诉我图片/预览的大小(宽度和高度)应该除以 16,没有余数。在日常场景中,我们也经常看到这种分辨率,例如1920x1088、2688x1520。谁能告诉我是谁制定了这个规则/限制?硬件?紧随其后的所有硬件还是其中的一些?非常感谢!
video-streaming - 视频流捕获和帧率控制
我目前正在使用 VP8 和 V4L2 开发视频流软件,但我正在努力解决帧率的关键概念。
我有一个基本的工作实现,它在循环中获取帧,对其进行编码并通过 RTP 发送(尽可能快)。但是,我不明白如何控制视频的帧速率或调节采样。
基本上可以总结如下:
特别是,我不知道如何正确设置:
- V4L2 捕获循环(是否需要一个计时器来定期获取帧?)
- V4L2 中的 FRAME INTERVAL 设置(是强制性的吗?)
- libvpx 时基(我应该使用 1/fps 吗?1001/30000 ?)
- pts 值(是否需要为 frame num * (1/fps) * 90000 ?)
- RTP 时间戳(我可以在这里使用 pts 吗?)
- 可以考虑的任何其他配置设置...
linux - 取消定义库的引用,那么我怎样才能找到正确的路径?
我正在尝试在 Ubuntu 中编译 v4l2 示例,但出现以下错误:
我可以看到-lx11 和-lXext 的路径不是-L/usr/include。我怎样才能找到这些库的正确路径?
谢谢。
android - 在 Android 设备上运行 V4L2 的 C 代码
我想在我的 android 平板电脑上执行一些 v4l2 的 c 代码。一个是 Nexus 7,另一个是三星 GT-P5100。无论如何,我遇到了一些困难。
我通过 NKD 运行这些 C 代码。我的功能是:
要运行此代码,我需要设置默认设备。上面我使用的函数在linux中被广泛使用。
对于 NUXES:我在 Nexus dev 文件中找到了默认设备,即#define DEFAULT_DEVICE "/dev/tegra_camera"
*!并且 opendevice 部分正常,返回 1。但其他部分(获取容量..)不起作用。他们只返回 0。
对于三星,我找不到默认设备的名称。我有三星的源代码,但我真的不知道该看哪个部分。
谁能帮帮我??谢谢!
我只是在下面添加我使用的函数的定义,以备不时之需。
android - 在 android 平板电脑上找不到 dev/video0
我想在 C 级别获取相机的数据,所以我试图在我的 android 平板电脑上运行一些 V4L2 代码。在这种情况下,我需要打开设备并获取其容量,而在 V4L2 中,设备通常可以像 dev/video0、dev/video1...
无论如何,我无法在我的平板电脑上找到它。我试过三星、摩托罗拉、Nexus,它们都不起作用。我还尝试了一些手机,我确实在手机中发现了这一点。
谁能告诉我为什么?还是这些文件在平板电脑中有不同的名称?
android - 在 android 上使用 v4l2 捕获视频时获取所有 0 数据
我正在尝试使用 jni 下的 v4l2 在 android 上捕获视频。我找到了一些指南并按照以下步骤操作:
这是我的代码的主要结构。所有函数都正确运行并返回 0。但是,当我用二进制查看器打开输出文件时,我发现所有数据都是 0。
我的代码有问题吗?我很困惑,因为所有函数都返回 0。
谢谢!!
android - 在 Android 上播放来自 RaspberryPI 的视频流
我在 Android 设备上播放视频流时遇到问题。我正在使用 Raspberry PI 相机板。
在 RaspberryPI 上,我运行 RTSP 服务器:
我尝试通过代码在Android上播放它:
Android 让我无法播放视频的错误。
MS Windows 中的 VLC 播放器工作正常。
如何配置 raspicam / cvlc 在 Android 上播放视频?
谢谢,LK
python - 以编程方式将图像发送到 v4l2-device
我有一个生成 jpg 的程序。我想在生成这些图像时将它们发送到我的虚拟网络摄像头。我可以使用 gstreamer 创建一个虚拟网络摄像头v4l2loopback
,并且一直在研究 gstreamer,但无法让它正常工作。
我已经尝试过使用 multifilesrc 的 gst-launch,但这似乎只在我已经生成图像时才有效。我还尝试将 gst-launch 设置为仅将一张图像发送到网络摄像头,然后在生成新图像时覆盖该图像。不幸的是,这会导致 gstreamer 崩溃。
有谁知道我怎么能做到这一点?我不必使用 gstreamer,但我希望在 Linux 中实现它,最好是在 Python 中。