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>#Interval between betweenショット(重要または無限ループに入る)inter = 60 www_path = / tmp / www enable_ftp = no webcam_resolution = 320x200#/ dev /がこのデバイスに付加されている= 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
teknopaul

うーん新しい行を入力することはでき
ません

回答:


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


ストリーマーはよさそうだ。ただし、個別にapt-getする必要があります。xawtvには自動的には付属しません。
John Baber-Lucero 2012

機能するのはそれだけです。しかし、人間はそれが遅いです。画像を取得するには1.8秒かかります。
John Baber-Lucero 2012

1
もう少し話したい場合は、チャットしてください。
継続的な

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

webcamdは冗談ですが、フランス語のコメント付きの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」キーを押してスクリーンショットを開始し、もう一度押してフローを停止します。

参照:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.