是否有可与video4linux2设备一起使用的CLI网络摄像头图像采集器?


8

我已经尝试了一切

apt-cache search webcam |sort -u

一切都有问题。更正任何语法错误,显示如何使用CLI中的“仅GUI”或良好的ffmpeg / mencoder / vlc单行代码会回答我的问题。或者,因为我知道如何使ffmpeg取一个简短的MJPEG,说明如何剥离第一个jpeg会起作用,所以我想。尽管如此,这应该比这更直接。

$ camgrab
/dev/video0: no v4l device

(camgrab可能无法处理v4l2)

$ fswebcam --list-inputs
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
--- Available inputs:
0: Camera 1
No input was specified, using the first.
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Premature end of JPEG file
Captured frame in 0.00 seconds.
--- Processing captured image...
There are unsaved changes to the image.
$ fswebcam --input 0 boo.jpg
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.jjjjjjjjj
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Premature end of JPEG file
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to 'boo.jpg'.

产生这个

$ motion

超越了我

$ uvccapture -oboo.jpg 
$ file boo.jpg        
boo.jpg: data
$ qiv -t boo.jpg 
Unable to read file: Failed to load image 'boo.jpg': Error interpreting JPEG image file (Not a JPEG file: starts with 0x8f 0x5a)

不是真正的形象。

$ /usr/bin/vgrabbj -d /dev/video0 -f boo.jpg
Could not open configfile /usr/etc/vgrabbj.conf, ignoring
Reading image from /dev/video0

产生这个

$ webcamd
RTFM, missing template (/home/$USER/.webcamd/index_up.html)
$ man webcamd |cat
WEBCAMD(1)                                                                     WEBCAMD(1)
NAME
    webcamd - Take a image from your webcam
SYNOPSIS
    webcamd [ start | stop | refresh ]
DESCRIPTION
    This manual page documents briefly the webcamd daemon.
    This manual page was written for the Debian distribution because the original pro‐
    gram does not have a manual page.
    webcamd is a program that take images from your webcam and put it on a ftp  server
    on a local (web) directory
OPTIONS
    start  Start the daemon.
    stop   Stop the daemon.
    refresh Take a shot !
AUTHOR
    This  manual  page  was  written by Julien Danjou <acid@debian.org> for the Debian
    system (but may be used by others).  Permission is  granted  to  copy,  distribute
    and/or modify this document under the terms of the GNU Free Documentation License,
    Version 1.1 or any later version published by the Free Software  Foundation;  with
    no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.
                                  2002 april 21                            WEBCAMD(1)
$ webcamd start
RTFM, missing template (/home/$USER/.webcamd/index_up.html)
$ webcamd refresh
RTFM, missing template (/home/$USER/.webcamd/index_up.html)

网络摄像头似乎要求我设置一个配置文件以将图像ftp到某个地方,并且默认情况下似乎什么都不做

$ /usr/bin/webcam 
reading config file: /home/$USER/.webcamrc
video4linux webcam v1.5 - (c) 1998-2002 Gerd Knorr
grabber config:
  size 320x240 [none]
  input (null), norm (null), jpeg quality 75
  rotate=0, top=0, left=0, bottom=240, right=320
  • 仅GUI
    • 卡莫拉玛
    • 起司
    • 卡莫索
    • luvcview

webcamd只是个玩笑/ usr / bin / v4lctl -c / dev / video0 snap jpeg 160x120〜/ .webcamd / webcam.jpg阅读代码后,这就是配置格式#section common <common>#镜头(重要或进入无限循环)inter = 60 www_path = / tmp / www enable_ftp = no webcam_resolution = 320x200#/ dev /附加在此设备上= video0 #section图片<picture> put_date = no font = arial fontsize = 12 fontcolor =黑色disp_box =否boxcolor =黑色边框=是bordercolor =黑色#section ftp <ftp>主机= localhost用户= teknopaul端口= 999密码= foo目录= / tmp
teknopaul

嗯不能输入新的行
teknopaul

Answers:


9

这里

Streamer

Streamer (http://linux.bytesex.org/xawtv/) is a versatile program that allows a
capture from a webcam or video device using only the command line. It may be offered 
in your Linux distribution's Xawtv package. To install streamer try

# sudo apt-get install xawtv

To take a standard JPEG picture from the command line where the camera is accessed 
through /dev/video0:

#streamer -c /dev/video0 -b 16 -o outfile.jpeg

Where > -b is the number of colors (in bpp,whether 15, 16, 24 or 32)
& -o is the output filename in the current directory

If you are going to capture multiple images be sure to append the output file name 
with zeros, as streamer can name the capture files in sequence, i.e., -o 
outfile000.jpeg becomes outfile001.jpeg, outfile002.jpeg, and so on.  

注释:xawtv软件包中不包含流光, sudo apt-get install streamer


流光看起来不错。但是,您必须单独获得它;它不是xawtv自动提供的。
John Baber-Lucero

这是唯一有效的方法。但是,男人是缓慢的。拍摄图像需要1.8秒。
John Baber-Lucero '04年

1
如果您想谈论更多,请加入聊天。保持运行上的意见下来
RobotHumans

3

几年前,我已经在mplayer上做到了,但是不记得具体如何。mplayer tv:// -tv driver=v4l2:input=1:width=352:height=288:device=/dev/video0会显示实时供稿,但我相信您可以将其另存为jpg或png。检查手册页。


2

fswebcam不能与-o一起使用,而与一起使用--save-o告诉在哪里写日志文件...

例:

fswebcam --save /home/$USER/webcamGrab.jpg -d /dev/video1 -r 1280x960

1

网络摄像头是个玩笑,它是带有法语注释的perl脚本!

它所做的就是这个

/usr/bin/v4lctl -c /dev/video0 snap jpeg 160x120 ~/.webcamd/webcam.jpg

循环

通过阅读代码,这是配置格式

#section common
<common>
# Interval between shots (important or it enters an infinite loop)
inter=60
www_path=/tmp/www
enable_ftp=no
webcam_resolution=320x200
# /dev/ is prepended on to this
device=video0
#section picture
<picture>
put_date=no
font=arial
fontsize=12
fontcolor=black
disp_box=no 
boxcolor=black
border=yes
bordercolor=black
#section ftp
<ftp>
host=localhost
user=teknopaul
port=999
password=foo
directory=/tmp

但是,在应得的信用额度下,我不会找到v4lctl搜索网络摄像头的方法:)


0

使用以下命令可以找到从网络摄像头或类似设备获取屏幕截图的最简单的命令行方法mplayer

mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot

现在,只需按“ s”键,png格式的屏幕快照将保存在您的工作目录中。

如果要自动拍摄多个屏幕截图,请按“ S”键启动屏幕截图,然后再按一次以停止流程:)。

参考文献:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.