Có một công cụ lấy hình ảnh webcam CLI hoạt động với thiết bị video4linux2 không?


8

Tôi đã thử mọi thứ trong

apt-cache search webcam |sort -u

và mọi thứ đều có vấn đề Sửa bất kỳ lỗi cú pháp nào, chỉ ra cách sử dụng "GUI chỉ" từ CLI hoặc một phần mềm ffmpeg / mencoder / vlc tốt sẽ trả lời câu hỏi của tôi. Hoặc vì tôi biết cách làm cho ffmpeg mất một MJPEG ngắn, cho thấy cách loại bỏ jpeg đầu tiên sẽ hoạt động, tôi đoán vậy. Tuy nhiên, điều này nên đơn giản hơn thế.

$ camgrab
/dev/video0: no v4l device

(camgrab có thể không xử lý 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'.

sản xuất cái này

$ motion

vượt quá tôi

$ 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)

không thực sự là một hình ảnh.

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

sản xuất cái này

$ 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)

webcam dường như yêu cầu tôi đặt một tệp cấu hình để ftp hình ảnh ở đâu đó và dường như không làm gì theo mặc định

$ /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
  • Chỉ GUI
    • camorama
    • phô mai
    • kamoso
    • luvcview

webcamd là một trò đùa Tất cả những gì nó làm là / usr / bin / v4lctl -c / dev / video0 snap jpeg 160x120 ~ / .webcamd / webcam.jpg Từ việc đọc mã này là định dạng cấu hình #section chung <common> # Khoảng giữa ảnh chụp (quan trọng hoặc nó đi vào một vòng lặp vô hạn) inter = 60 www_path = / tmp / www enable_ftp = no webcam_resolution = 320x200 # / dev / được thêm vào thiết bị này = video0 #section ảnh <hình ảnh> put_date = no font = arial fontize = 12 fontcolor = black dist_box = no boxcolor = black Border = yes bordercolor = black #section ftp <ftp> host = localhost user = teknopaul port = 999 password = foo thư mục = / tmp
teknopaul

hmm không thể nhập dòng mới
teknopaul

Câu trả lời:


9

Từ đây

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.  

Từ nhận xét: streamer không được bao gồm trong gói xawtv, sudo apt-get install streamer


Streamer có vẻ tốt. Bạn phải apt-get nó mặc dù; nó không đi kèm với xawtv tự động.
John Baber-Lucero

Đó là điều duy nhất hoạt động. Nhưng con người là nó chậm. Phải mất 1,8 giây để lấy một hình ảnh.
John Baber-Lucero

1
Tham gia trò chuyện nếu bạn muốn nói thêm về nó. Giữ bình luận chạy xuống
RobotHumans

3

Tôi đã thực hiện nó với mplayer nhiều năm trước, nhưng không thể nhớ chính xác làm thế nào. mplayer tv:// -tv driver=v4l2:input=1:width=352:height=288:device=/dev/video0hiển thị một nguồn cấp dữ liệu trực tiếp, nhưng tôi tin rằng bạn có thể lưu nó dưới dạng jpg hoặc png. Kiểm tra trang hướng dẫn.


2

Sử dụng fswebcamkhông với -onhưng với --save. -ocho biết nơi để viết một logfile ...

thí dụ:

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

1

webcamd là một trò đùa, một kịch bản perl với các bình luận bằng tiếng Pháp!

Tất cả những gì nó làm là

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

trong một vòng lặp

Từ việc đọc mã, đây là định dạng cấu hình

#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

Tuy nhiên tín dụng khi tín dụng đến hạn, tôi sẽ không tìm thấy v4lctlwebcam :)


0

Phương pháp dòng lệnh đơn giản nhất để chụp ảnh màn hình từ webcam hoặc thiết bị tương tự được tìm thấy bằng cách sử dụng mplayer:

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

Bây giờ chỉ cần nhấn phím 's' và ảnh chụp màn hình ở định dạng png sẽ được lưu trong thư mục làm việc của bạn.

Nếu bạn muốn tự động chụp nhiều ảnh chụp màn hình, nhấn phím 'S' để bắt đầu ảnh chụp màn hình và nhấn lại để dừng luồng :).

Người giới thiệu:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.