Seit einiger Zeit plane ich, wie @Ian im FabLab Livestreams anzubieten.
Das ganze für jedes Gerät / jede Location ganz individuell, mobil und möglichst kostengünstig.
Da nun endlich die Hardware angekommen is, kann ich nun auch mein Projekt vorstellen.
Da @Ian aber schneller war, verlinke ich hier noch einmal auf sein Projekt welches über MJPG Streamer auf einem RaspberryPi läuft.
Komponenten:
Hardware:
-
OrangePi Zero:
Der OrangePi ist ein Ein-Chip-Computer ähnlich dem RaspberryPi.
Es gibt ihn in vielen Hardware-Varianten.
Der OrangePi Zero ist hierbei die kleinste Ausführung; hardwaretechnisch sehr abgespeckt, dafür mit $6,99 allerdings auch sehr günstig.
Inkl. Versand liegt man bei knapp 10,00€.
Perfekt für einfache Anwendungen wie bspw. einen Airplay Server verfügt der Pi über GPIOs, zwei USB Ports (1x ext., 1x int.), Audio, Video Out, Cam-Port und über integriertes WLAN
-
Webcam
Ich hatte zu Hause noch eine HD 3000 zum testen, prinzipiell erkennt das Betriebssystem aber nahezu jede USB Cam.
Hier zwei Angebote bei Amazon welche eine schnelle Recherche ergeben hat:[MS-TECH LV-310](https://www.amazon.de/MS-TECH-LV-310-Kamera-WEB-640/dp/B0009X753S/ref=sr_1_38?s=computers&ie=UTF8&qid=1482860809&sr=1-38) (8,90€, 640x480) [KKmoon USB Cam](https://www.amazon.de/KKmoon-Megapixel-HD-Kamera-MIC-Clip-Computer/dp/B01D4NP4ZA/ref=sr_1_19?s=computers&ie=UTF8&qid=1482860750&sr=1-19) (8,90€, 640x480)
-
Kleinkram
- Netzteil
- Speicherkarte
- Einmalig
- Patchkabel (oder S-Video Kabel + Tastatur) zum Einrichten der WLAN Verbindung
Software:
- SSH Client (Putty o.Ä.)
-
Image:
Ich habe mich hier für eine Armbian Distro entschieden, da der Support sehr gut und die OrangePi Images mehr schlecht als recht sind. Ich verlinke aber auch die Original-Images (Hostet @ MEGA), da sich darunter auch ein Android 4.4 Image befindet.
Installation:
Als Capture-Software verwende ich Motion.
Das Programm ist für Videoüberwachung mit Motion Detection uvm. konzipiert und verfügt über viele Einstellmöglichkeiten sowohl für Video als auch Picture Mode.
Zunächst per SSH aufs Board
initiale Anmeldung mit:
root | 1234
Anschließend wird man gebeten das root-Passwort zu ändern und einen neuen Benutzer anzulegen.
Ich nutze weiterhin den root user; das ist jedem selbst überlassen.
Als „nicht-root“ aber das sudo
vor den Befehlen nicht vergessen .
Wie immer kann das System vorher geupdatet werden. Der OrangePi stellt sich da allerdings manchmal etwas zickig an und kappt die SHH Verbindung.
~ sudo apt-get update
~ sudo apt-get upgrade
Zunächst richten wir noch einen Ordner für die späteren Aufnahmen samt nötiger Berechtigungen ein:
~ mkdir /home/*USERNAME*/*FOLDERNAME*
~ chgrp motion /home/*USERNAME*/*FOLDERNAME*
~ chmod g+rwx /home/*USERNAME*/*FOLDERNAME*
Wir installieren die Video-Software:
~ apt-get install motion -y
Und konfigurieren sie über die config File:
~ nano /etc/motion/motion.conf
Wichtig sind folgende Zeilenänderungen:
# Start in daemon (background) mode and release terminal (default: off)
daemon on
# Restrict stream connections to localhost only (default: on)
stream_localhost off
# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
target_dir /home/*USERNAME*/*FOLDERNAME*
Ich bin die Config einmal durchgegangen und habe alles weitere nach meinen Wünschen angepasst (Auflösung, Framerate, Bildbeschriftungen…)
Die Kommentarfelder sind dabei sehr hilfreich.
Zum Schluss aktivieren wir noch den daemon:
~ nano /etc/default/motion
start_motion_daemon=yes
Danach kann der Dienst gestartet werden:
sudo service motion start
Der Stream sollte über die IP des Pis erreichbar sein.
Der Standardport kann ebenfalls in der config geändert werden; andernfalls lautet der Pfad:
http://orangepizero:8081/
oder
*IPdesOrangePis*:8081
(z.B.: 192.168.178.50:8081)
WLAN:
nun richten wir noch das WLAN des Pis ein.
Armbian verfügt hierfür praktischerweise über ein sog. TextUserInterface
~ nmtui
Das Menü ist selbsterklärend.
Verbindungsherstellung erfolgt über „activate a connection“ (Netzwerk auswählen -> Schlüssel eingeben)
(Über „edit a connection“ kann anschließend noch die IP statisch vergeben werden, etc.)
Nach einem REBOOT sollte der Pi per WLAN im Netzwerk erreichbar sein und den Stream zur Verfügung stellen
Hier noch ein paar Bilder von meinem ersten Test
Finetuning:
Ich möchte noch erwähnen, dass Motion standardmäßig Snapshots und Videos bei Motion Detection im eingerichteten Ordner erstellt!
Das kann für einige Projekte wie 3D Drucker Streams o.Ä. ganz praktisch sein. Es gilt aber das Ganze richtig zu konfigurieren, sonst ist die Speicherkarte des Pis u.U. ruck zuck voll
Ich habe daher die Bild- und Videoausgabe deaktiviert:
############################################################
# Image File Output
############################################################
output_pictures off
# Use ffmpeg to encode movies in realtime (default: off)
ffmpeg_output_movies off
Der Stream läuft natürlich trotzdem noch
Viel Spaß