Por aquí te dejo un copia y pega de mis apuntes, tengo pendiente hacer un tutorial.
Primero comprueba que la webcam está enchufada al usb y que la placa la reconoce:
lsusb
Luego instala paquetes:
sudo apt-get install subversion libjpeg8-dev imagemagick libav-tools libv4l-dev cmake
sudo apt-get update
sudo apt-get upgrade
wget http://www.bobtech.ro/get?download=36:mjpg-streamer-rpi
mv get\?download\=36\:mjpg-streamer-rpi mjpg-streamer-rpi.tar.gz
tar -zxvf mjpg-streamer-rpi.tar.gz
cd mjpg-streamer
Inicia el servidor de stream:
./mjpg-streamer.sh start
PD: Si da error al iniciar prueba a poner sudo
nano ./mjpg-streamer.sh y edita el valor entrecomillado que pone YUV="false" y pon en su lugar
YUV="true"
Inicia sesion con el usuario que instaló el octoprint y edita el archivo de configuración:
sudo su octoprint
cd ~
cd OctoPrint
nano ~/.octoprint/config.yaml
Al final del archivo añadimos:
system:
actions:
- action: streamon
command: /home/octoprint/mjpg-streamer/run.sh
confirm: false
name: Start Webcam
- action: streamoff
command: killall mjpg_streamer
confirm: false
name: Stop Webcam
- action: powerdown
command: sudo poweroff
confirm: true
name: Shutdown System
Instalamos el haproxy para la gestion del stream en la red y editamos su archivo de configuración:
sudo apt-get install haproxy
sudo nano /etc/haproxy/haproxy.cfg
Borramos todo el contenido y pegamos lo siguiente:
global
maxconn 4096
user haproxy
group haproxy
daemon
log 127.0.0.1 local0 debug
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
option http-server-close
option forwardfor
maxconn 2000
timeout connect 5s
timeout client 15min
timeout server 15min
frontend public
bind *:80
use_backend webcam if { path_beg /webcam/ }
default_backend octoprint
backend octoprint
option forwardfor
server octoprint1 127.0.0.1:5000
backend webcam
reqrep ^([^\ :]*)\ /webcam/(.*) \1\ /\2
server webcam1 127.0.0.1:8080
Iniciamos el servicio haproxy:
sudo service haproxy start
Aceedemos en nuestro navegador de internet a:
http://ip-de-tu-placa/webcam/?action=stream
Vemos si se ve la imagen de la webcam, si se ve abrimos el
octoprint y le damos a
Ajustes/Webcam y donde pone
URL del stream pegamos la dirección que hemos visto antes en la que se veía la imagen de la webcam: "
http://ip-de-tu-placa/webcam/?action=stream"
Una vez hecho esto ya debería aparecer la
webcam en la portada del
Octoprint en la pestaña
Control.
Y ahora si quieres puedes hacer un pequeño script para que la webcam se inicia junto al octoprint por si se reinicia o apaga:
cd
sudo nano webcam.sh
Y luego le ponemos esto al nuevo archivo que vamos a crear:
#!/bin/bash
### BEGIN INIT INFO
# Provides: webcam
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: webcam
# Description:
#
### END INIT INFO
~/mjpg-streamer/mjpg-streamer.sh start
Le damos permisos de administrador y creamos un daemon que se inicie con el sistema:
sudo chmod +x webcam.sh
sudo cp webcam.sh /etc/init.d/
cd /etc/init.d/
sudo update-rc.d webcam.sh defaults
Espero que te sirva, un saludo.