我一直在尝试从使用 eMPIA 2861 芯片的帧抓取器获取视频流。如果我执行 lsusb,我会得到以下信息:
Bus 003 Device 015: ID eb1a:2861 eMPIA Technology, Inc.
当我将模拟摄像机连接到黄色连接器时,VLC 中什么也没有显示。但是,摄像机可以正常工作,因为我已将其插入模拟显示器,并且图像就在那里。
我读了很多资料,寻找类似问题的解决方案,但一直没有成功。我通过以下链接查找信息,但都无济于事:
- linuxtv.org:这里看起来这种类型的芯片应该是即插即用的。
- 已检测到视频录制设备但无法使用:这里的问题看起来非常相似,并且说使用的是相同的芯片。他们谈到了重建内核,但我不知道该怎么做,也不知道这会不会对我的系统造成太大的干扰
- Empia DC60+ 黑屏,EasyCAP:这里的问题看起来完全一样。但是,让它工作一次的解决方案对我来说任何时候都不起作用。
为了确保故障不是由 USB 设备引起的,我用另一台设备(使用相同的芯片)进行了同样的测试。此外,如果我使用 OpenCV 抓取图像,USB 设备上的 LED 会变绿,我就会收到反馈。但是,它看起来像这样(使用相同的代码,我可以毫无问题地获取我的网络摄像头):
它可能看起来不像是一张全黑(全 0)的图像,但视频中有一些垂直细条会稍微移动。无论相机是否连接到 USB 设备,我都会得到相同的图像。
有什么想法我可以做什么吗?对我来说,尽快完成这项工作真的很重要。
谢谢!!!
附加信息:
我使用的是华硕 N56J,搭载的是 Ubuntu 14.04 和 3.16.0-76-generic 内核。
答案1
我也有同样的问题。
我找到了可以进一步测试设备的东西,我可以从终端命令行获取图片。下一步:让图片填满整个矩形,而不是垂直拉伸。
我安装了 melt (一个控制台电影抓取工具)
sudo apt-get install melt
我告诉 video4linux 驱动程序使用设备 video0、接口 1 默认情况下它将尝试使用接口 0 (svideo) 所以我在这里告诉它:
v4l2-ctl -d /dev/video0 -i 1
然后测试结果
melt video4linux2:/dev/video0
您应该获得视频流。
这是一种解决方法,我只能通过 vlc 中的板载声卡线路输入来获取声音。tvtune 无法获取声音,只能获取视频流。真正的问题是 modprobe em28xx 使用了错误的卡号。
好的,接下来。我找到了一条关于该问题的旧评论,他的方法不同,尝试将 modprobe 设置为 64 而不是默认值。结果是交换了接口 0 和 1。我必须对此进行更多测试。它对我的卡不起作用。使用卡号 1 而不是 0 可以工作一半,声音部分存在缓冲问题(剪辑)。