Robobot webcam server: Difference between revisions

From Rsewiki
 
(7 intermediate revisions by the same user not shown)
Line 13: Line 13:
  $ sudo nano /etc/motion/motion.conf
  $ sudo nano /etc/motion/motion.conf
   
   
  # File to write logs messages into.  If not defined stderr and syslog is used.
  # File to write log messages into.  If not defined, stderr and syslog are used.
  log_file /home/local/.motion/motion.log
  log_file /home/local/.motion/motion.log
  # Target directory for pictures, snapshots and movies
  # Target directory for pictures, snapshots and movies
Line 21: Line 21:
  # The port number for the live stream.
  # The port number for the live stream.
  stream_port 8081
  stream_port 8081
  # Restrict stream connections to the localhost (if on).
  # Restrict stream connections to the localhost (if 'stream_localhost on').
  stream_localhost off
  stream_localhost off
  # Image width in pixels.
  # Image width in pixels.
Line 28: Line 28:
  height 480
  height 480
  # Maximum number of frames to be captured per second.
  # Maximum number of frames to be captured per second.
  framerate 10
  framerate 5


=== run motion ===
=== run motion ===
Line 40: Line 40:
Stop by ctrl-C
Stop by ctrl-C


NB! Remember to stop the streamer before trying to use the camera for other purposes.
Note! Remember to stop the streamer before using the camera for other purposes.
There is an alternative if you want both:
 
Start a loopback feature to create a copy with the same information when the camera is opened.
Run:
sudo modprobe v4l2loopback
 
When /dev/video0 is opened a /dev/video1 will be created (with the data determined by the first user).
 
- not tested much.


=== View the stream ===
=== View the stream ===


To view the result, use a browser to the address of the robot and port 8081, e.g. if the robot has IP '192.168.1.151':
To view the result, use a browser to the address of the robot and port 8081, e.g. if the robot has IP '10.197.218.248':
 
10.197.218.248:8081
 
You should now see a stream of default 640x480 at 5 FPS as default; more options are available in /etc/motion/motion.conf.
 
==2024==
 
Test a new method from https://pimylifeup.com/raspberry-pi-webcam-server/
 
Install:
 
sudo apt install autoconf automake build-essential pkgconf libtool git libzip-dev libjpeg-dev gettext libmicrohttpd-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev default-libmysqlclient-dev libpq-dev libsqlite3-dev libwebp-dev libcamera-v4l2
 
 
sudo wget https://github.com/Motion-Project/motion/releases/download/release-4.6.0/$(lsb_release -cs)_motion_4.6.0-1_$(dpkg --print-architecture).deb
 
sudo dpkg -i $(lsb_release -cs)_motion_4.6.0-1_$(dpkg --print-architecture).deb
 
change the /etc/motion/motion.conf
 
* not much luck; it seems not compatible with libcamera.
 
installed
sudo apt install libqt5dxcb-plugin
 
to try
rpicam-vid --qt-preview


192.168.2.151:8081
But (also) not over ssh -X login


You should now see a stream of default 640x480 at 10 FPS as default; more options are available in /etc/motion/motion.conf.
A libcamera wrapper: https://github.com/kbarni/LCCV
With opencv, install
libcamera-dev

Latest revision as of 17:56, 7 November 2024

Back to Robobot_B

View camera

A motion camera ser is installed called "motion", it can detect motion and save video-clip, if motion is detected.

Motion detection is the primary purpose, but being able to see what the camera sees.

Configuration file

Edit the configuration file

$ sudo nano /etc/motion/motion.conf

# File to write log messages into.  If not defined, stderr and syslog are used.
log_file /home/local/.motion/motion.log
# Target directory for pictures, snapshots and movies
target_dir /home/local/Video/motion
# Video device (e.g. /dev/video0) to be used for capturing.
videodevice /dev/video0
# The port number for the live stream.
stream_port 8081
# Restrict stream connections to the localhost (if 'stream_localhost on').
stream_localhost off
# Image width in pixels.
width 640
# Image height in pixels.
height 480
# Maximum number of frames to be captured per second.
framerate 5

run motion

To run the streamer, SSH to the robot and start motion

$ motion
[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0:motion] [NTC] [ALL] motion_startup: Logging to file (/home/local/.motion/motion.log)

Stop by ctrl-C

Note! Remember to stop the streamer before using the camera for other purposes. There is an alternative if you want both:

Start a loopback feature to create a copy with the same information when the camera is opened. Run:

sudo modprobe v4l2loopback

When /dev/video0 is opened a /dev/video1 will be created (with the data determined by the first user).

- not tested much.

View the stream

To view the result, use a browser to the address of the robot and port 8081, e.g. if the robot has IP '10.197.218.248':

10.197.218.248:8081

You should now see a stream of default 640x480 at 5 FPS as default; more options are available in /etc/motion/motion.conf.

2024

Test a new method from https://pimylifeup.com/raspberry-pi-webcam-server/

Install:

sudo apt install autoconf automake build-essential pkgconf libtool git libzip-dev libjpeg-dev gettext libmicrohttpd-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libavdevice-dev default-libmysqlclient-dev libpq-dev libsqlite3-dev libwebp-dev libcamera-v4l2


sudo wget https://github.com/Motion-Project/motion/releases/download/release-4.6.0/$(lsb_release -cs)_motion_4.6.0-1_$(dpkg --print-architecture).deb

sudo dpkg -i $(lsb_release -cs)_motion_4.6.0-1_$(dpkg --print-architecture).deb

change the /etc/motion/motion.conf

  • not much luck; it seems not compatible with libcamera.

installed

sudo apt install libqt5dxcb-plugin

to try

rpicam-vid --qt-preview

But (also) not over ssh -X login

A libcamera wrapper: https://github.com/kbarni/LCCV With opencv, install

libcamera-dev