Livestream mit alter Hardware Arnold Wohlfeil, 14

Livestream mit alter Hardware
Arnold Wohlfeil,
14. Mai 2016
Inhalt
1. Einführung
2. Hardware und Software müssen abgestimmt werden
3. Die Komptabilität muss geprüft werden
4. Motion erstellt Livestreams
5. Die Daten müssen ins Netz
6. Zusammenfassung
14. Mai 2016
Arnold Wohlfeil
2
1. Einführung
Am Anfang stand diese Frage:
„Wie kann ich einen Lifestream ins Internet
stellen?“
Ziel: Lohnt es sich zur Sternwarte zu fahren oder
ist der Himmel bewölkt?
14. Mai 2016
Arnold Wohlfeil
3
2. Hardware und Software müssen abgestimmt werden
2.1. Der Rechner soll kostengünstig sein
2.2. Alte Geräte soll verwendet werden können
2.3. Keine Spezialsoftware verwenden
14. Mai 2016
Arnold Wohlfeil
4
2.1. Der Rechner soll kostengünstig sein
•
Mittlerweile gibt es einen Vielzahl von SoCs
•
Der bekannteste Vertreter ist das Raspberry Pi
•
Hier: Typ B
14. Mai 2016
Arnold Wohlfeil
5
2.1. Der Rechner soll kostengünstig sein
•
Kosten: ca. 50 Euro
•
Ethernet und USB-Schnittstellen
•
GPIOs für Bastelprojekte (Maker-Szene)
Internetserver, Multimediaserver, Smart
Livestreams, MSR, …
•
•
Home,
Zahlreiche Betriebssysteme (meistens auf Linux
basierend)
Große Anwendergemeinde
-> Hilfe bei Problemen
Arnold Wohlfeil
14. Mai 2016
6
2.2. Alte Geräte soll verwendet werden können
•
Das Projekt soll nichts kosten!
•
Was ist dann an ausgemusterten Geräten da?
•
Welches Windows habt Ihr?
14. Mai 2016
Arnold Wohlfeil
7
2.2. Alte Geräte soll verwendet werden können
•
Wer kennt den Kollegen noch?
•
KWORLD USB2800D
•
Treiber bis Windows Vista
14. Mai 2016
Arnold Wohlfeil
8
2.3. Keine Spezialsoftware verwenden
•
•
Betriebssysteme: Windows (für Raspberry Pi B2),
Linux (Arch, Ubuntu, Debian, …)
Hier: Raspian Jessie
-> basierend auf Debian 8 (Jessie)
14. Mai 2016
Arnold Wohlfeil
9
2.3. Keine Spezialsoftware verwenden
Debian?
•
Start: 1993
•
Das bekannteste Derivat ist Ubuntu.
•
Die Basis ist 100 % frei. Somit ist auch die
kommerzielle Nutzung ist möglich
14. Mai 2016
Arnold Wohlfeil
10
3. Die Komptabilität muss geprüft werden
3.1. Linux zeigt, was angeschlossen ist!
3.2. Linux verwaltet Geräte als Dateien
3.3. Video 4 Linux 2 unterstützt Kameras
14. Mai 2016
Arnold Wohlfeil
11
3.1. Linux zeigt, was angeschlossen ist!
•
Linux genießt einen vergleichsweise
schlechten Ruf bezüglich der Hardwarekompabilität
•
Vorwiegend sehr neue Hardware oder
Spezialhardware werden nicht unterstützt
•
Meistens ist etwas Handarbeit in der Konsole nötig
•
Aber: Linux sagt, was Sache ist!
•
Mit Handarbeit bekommt man vieles zum Laufen.
14. Mai 2016
Arnold Wohlfeil
12
3.1. Linux zeigt, was angeschlossen ist!
14. Mai 2016
Arnold Wohlfeil
13
3.2. Linux verwaltet Geräte als Dateien
SD-Karte
14. Mai 2016
Arnold Wohlfeil
14
3.3. Video 4 Linux 2 unterstützt Kameras
•
API für Kamers, TV Karten, …
•
Im Kernel integriert
•
Im Idealfall: Anschließen und loslegen
14. Mai 2016
Arnold Wohlfeil
15
3.3. Video 4 Linux 2 unterstützt Kameras
14. Mai 2016
Arnold Wohlfeil
16
3.3. Video 4 Linux 2 unterstützt Kameras
Kurzer Check mit VLC:
vlc v4l2:///dev/video0:input=1:width=640:height=480mplayer -tv
driver=v4l2:norm=pal:input=1:adevice=/dev/video0:width=640:height=480 tv://
14. Mai 2016
Arnold Wohlfeil
17
4. Motion erstellt Livestreams
4.1. Was ist Motion?
4.2. Was hilft uns Motion?
4.3. Wie installiere ich Motion?
4.4. Wie konfiguriere ich Motion?
14. Mai 2016
Arnold Wohlfeil
18
4.1. Was ist Motion?
•
Motion ist ein Bewegungsdetektor.
•
Motion nutzt die V4L2 API.
•
Bekannt ist die Software für Raumüberwachung.
•
Hierbei werden z.B. Aufnahmen gespeichert, wenn
sich „viel“ im Bild ändert.
14. Mai 2016
Arnold Wohlfeil
19
4.2. Was hilft uns Motion?
•
•
•
Mit Motion können Bilder einer Kamera in
regelmäßigen Abständen gespeichert werden.
Mit Motion können Videoaufnahmen gespeichert
werden.
Mit Motion können Bilder bei Veränderungen
gespeichert werden.
14. Mai 2016
Arnold Wohlfeil
20
4.3. Wie installiere ich Motion?
Über die Paketverwaltung wird mit root-Rechten
installiert!
apt-get update
apt-get dist-upgrade –y
rpi-update
apt-get install motion
14. Mai 2016
Arnold Wohlfeil
Bringe die Pi auf den
aktuellen Stand
Installiere Motion
21
4.4. Wie konfiguriere ich Motion?
•
•
•
Wie alle Programme sollte Motion nicht als root ausgeführt
werden.
Motion benötigt zwei Gruppen „video“ und „motion“
Also muss der Benutzer (hier „pi“) diesen Gruppen
zugeordnet werden.
Weiterhin muss die Gruppe „motion“ Zugriff auf die
Konfiguration
usermod
-a -G motion erhalten.
pi
füge „pi“ der Gruppe „motion“ hinzu
•
usermod -a -G video pi
mkdir /var/run/motion
chgrp motion /var/run/motion
chmod g+w /var/run/motion
14. Mai 2016
füge „pi“ der Gruppe „video“ hinzu
erstelle das Verzeichnis /var/run/motion
ändere die Gruppe von /var/run/motion
gebe der Gruppe „motion“ Schreibzugriff
auf /var/run/motion
Arnold Wohlfeil
22
4.4. Wie konfiguriere ich Motion?
•
Von nun an kann alles der Benutzer „pi“ machen.
•
Kopiere die globale Konfigurationsdatei
mkdir .motion
mkdir
motion_output
cd .motion
cp
/etc/motion/moti
on.conf .
14. Mai 2016
erstelle das Verzeichnis für die
Konfigurationsdatei
erstelle ein Verzeichnis für die
Bilder
wechsle ins Verzeichnis für die
Konfigurationsdatei
kopiere die globale
Arnold
Wohlfeil
23
Konfigurationsdatei
4.4. Wie konfiguriere ich Motion?
Änderungen an der motion.conf:
target_dir /home/pi/motion_output
Ändere das Zielverzeichnis für die Bilder
stream_localhost off
Livestream von anderen Rechnern sichtbar
input 1
wähle Kanal 1 des USB2800D
width 640
640 Pixel breite
height 480
480 Pixel Höhe
snapshot_interval 5
speichere alle 5 Sekunden ein Bild
snapshot_filename bla
nenne das Bild „bla“
14. Mai 2016
Arnold Wohlfeil
24
4.4. Wie konfiguriere ich Motion?
•
Nun: Start!
motion –n (manuell)
systemctl start motion (automatisch)
•
Test Livestream über http://raspberrypi:8081
•
Bilder unter ~/motion_output
•
FERTIG!
14. Mai 2016
Arnold Wohlfeil
25
5. Die Daten müssen ins Netz
5.1. Und nun?
5.2. Daten lokal bereitstellen: LAMP-Server
5.3. Daten übertragen: FTP
5.4. Daten Sicher übertragen: SSH
5.5. Sich ins lokale Netz einwählen: VPN
14. Mai 2016
Arnold Wohlfeil
26
5.1. Und nun?
•
Jetzt liegen Bilder auf dem Raspberry Pi
•
Wie bekomme ich die Bilder nach Hause?
•
Prinzipiell gibt es drei Möglichkeiten:
–
Ich übertrage die Bilder ins Netz
–
Ich hole die Bild ab
–
Ich schaue mir die Bilder dort an, wo sie sind
14. Mai 2016
Arnold Wohlfeil
27
5.2. Daten lokal bereitstellen: LAMP-Server
•
Linux
•
Apache
•
MySQL
•
PHP (Perl)
-> die komplette Homepage auf dem Raspberry Pi
14. Mai 2016
Arnold Wohlfeil
28
5.3. Daten übertragen: FTP
•
Sehr viele Homepages werden über FTP auf einen
Server übertragen.
•
FTP = File Transfer Protocol
•
Automatisierung über Makros möglich
•
Achtung: ALLE Daten (inklusive Passwörtern) werden
unverschlüsselt übertragen!
14. Mai 2016
Arnold Wohlfeil
29
5.4. Daten Sicher übertragen: SSH
•
SSH (Secure Shell) überträgt Daten verschlüsselt
•
SFTP – Secure File Transfer Protocol
•
•
SSHFS – Einbinden eines Serververzeichnisses in das
eigene Dateisystem
Verbindungen können per Passwort oder per
vorinstalliertem Schlüssel eingerichtet werden.
14. Mai 2016
Arnold Wohlfeil
30
5.5. Sich ins lokale Netz einwählen: VPN
•
•
•
Ein Virtual Private Network (VPN)erlaubt die Einwahl
in ein fremdes Netz.
Somit muss z.B. der Raspberry Pi nicht im Internet
erreichbar sein.
Viele Router haben eine VPN-Funktion
14. Mai 2016
Arnold Wohlfeil
31
6. Zusammenfassung
•
•
•
•
Viele alte Hardware kann unter Linux verwendet
werden.
Am Beispiel eines alten Videograbbers wurde ein
Livestream in ein (lokales) Netz eingespeist.
Der Livestream kann auch ins Internet gesendet
werden.
Es bestehen noch sehr viele weitere
Einsatzmöglichkeiten!
14. Mai 2016
Arnold Wohlfeil
32