Raspberry Pi: Kamera Stream Broadcast realisieren

24 Dez
24. Dezember 2013

Seit geraumer Zeit verfügt der Raspberry Pi über ein Kamera Modul. Dieses kann neben Fotos auch Videos in bis zu 1080p FullHD bei 30 FPS aufzeichnen. Natürlich wäre es auch schön, wenn man die Aufnahme der Kamera als Video-Livestream an einem beliebigen Rechner sehen könnte. Dazu bedienen wir uns raspivid in Kombination mit ffmpeg und crtmpserver. Hierzu bauen wir mittels nginx und JWplayer noch ein kleines Webfrontend, über das der Stream aufgerufen werden kann. Vorab sei gesagt, dass ich lange daran gearbeitet habe, eine stabile Lösung zu finden, die ein wirkliches Video und keine paar Fotos in der Sekunde als Stream anzeigen kann. Diese Lösung ist nicht ganz einfach, benötigt zur Einrichtung einige Zeit, und bietet das Videomaterial nur in 960×540 Pixel an. Wie man einen Stream/Broadcast mithilfe des Raspberry Pi Kamera Moduls umsetzt, erkläre ich im Folgenden.

Voraussetzung: Raspbian oder vergleichbare Distribution installiert, welche aktuell ist wie auch angeschlossenes und in raspi-config aktiviertes Kamera-Modul

Step 1 (optional)

Zunächst sollten wir, sofern gewünscht, das Licht, welches an dem Raspberry Pi Kamera Modul leuchtet wenn dieses aufnimmt, deaktivieren. Dazu müssen wir in der Datei /boot/config.txt einen Parameter setzen und anschließend den Raspberry Pi neustarten.

sudo nano /boot/config.txt

Anschließend folgenden Befehl ausführen

sudo reboot

Step 2

Wir installieren nun ein paar Pakete, die für die kommenden Schritte benötigt werden.

sudo apt-get install libjpeg62-dev cmake subversion git screen ffmpeg

Step 3

Jetzt installieren wir ffmpeg. Bzw. deinstallieren es zunächst, da die Version, die über den Paketmanager apt-get verfügbar ist, für unsere Zwecke nicht geeignet ist.

sudo apt-get remove ffmpeg

Step 3

Nun laden wir mittels git den Sourcecode der richtigen Version von ffmpeg herunter.

cd /usr/src
sudo git clone git://source.ffmpeg.org/ffmpeg.git

Step 4

Wir müssen den Sourcecode nun kompilieren. Da dies ca. 5-6 Stunden dauert (kein Tippfehler, dauert wirklich so lange) öffnen wir eine Instanz von Screen, damit wir, sofern wir den Raspberry Pi mittels SSH ansteuern, den Terminal nicht diese ganze Zeit offen haben müssen, sondern zwischendrin z.B. etwas Sport machen können und den Computer derweil schlafen schicken können 😉

screen
[Enter]

cd ffmpeg
sudo ./configure
sudo make && sudo make install

Step 5

Nach der Sport- oder längeren Kaffepause rufen wir, sofern wir den Terminal geschlossen hatten, über folgenden Befehl den angelegten Screen wieder auf. Dort sollte folgende Ausgabe zu sehen sein, welche signalisiert, dass das Kompilieren erfolgreich abgeschlossen wurde.

screen -r

Ausgabe bei erfolgreichem Kompilieren

Step 6

Wir müssen nun crtmpserver installieren. Diese Software ist ein Streaming Server, der es ermöglicht, die Aufnahme des Raspberry Pi Kamera Moduls direkt zu verarbeiten und in einen Stream zu packen.

sudo apt-get install crtmpserver

Step 7

Nun müssen wir noch ein paar Konfigurationen des crtmpserver in der Datei /etc/crtmpserver/applications/flvplayback.lua anpassen. In dem Editor nano können wir mittels STRG + X, Y und Enter speichern.

sudo nano /etc/crtmpserver/applications/flvplayback.lua

ersetzen durch

Step 8

Jetzt müssen wir, damit die geänderten Einstellungen wirksam werden, crtmpserver neustarten.

sudo service crtmpserver restart

Step 9

Wir legen nun ein kleines Script (zwei Dateien) im Homeverzeichnis des Benutzers an. Mit diesem können wir später die Videoaufnahme und den Stream der Videoaufnahme starten.

cd ~
nano video-stream.sh

Inhalt der Datei

nano video-stream-screen.sh

Inhalt der Datei

Step 10

Damit wir die Dateien später ausführen können weisen wir diesen nun die benötigten Rechte zu.

chmod +x video-stream.sh
chmod +x video-stream-screen.sh

Step 11

Jetzt ist es an der Zeit, sich um die Ausgabe des Video Streams zu kümmern. Wir möchten in diesem Tutorial den Stream des Videos im Browser aufrufen. Dazu installieren wir nun zunächst den Webserver nginx. Wie man dies bewerkstelligt erklärte ich bereits in der Anleitung Webserver Nginx installieren (bis einschließlich Step 3 zu bearbeiten).

Step 12

Zum Abspielen des Video Streams benötigen wir einen webbasierenden Videoplayer. Ich verwende hierfür der Einfachheit und Komfortabilität halber den Player JWplayer. Hierzu müssen wir uns auf der Webseite des Herstellers kostenlos registrieren. Haben wir das Account aktiviert und sind eingeloggt, können wir einen Video Player anlegen. Dabei wählen wir als Quelle Your Website und tragen in dem Feld Media File die Adresse rtmp://IP/flvplayback/flv:myStream.flv (IP muss durch die IP-Adresse des Raspberry Pis bzw. wenn der Stream auch von Außerhalb des eigenen Netzwerkes aufgerufen werden soll durch die DynDNS Domain ersetzt werden) ein. In dem darauffolgenden Schritten können wir noch etwas am Design und den Einstellungen des Players spielen.

Am Ende sollten wir zwei Code Schnippsel erhalten, wie in dem folgenden Screenshot zu sehen.

JWplayer anlegen

Step 13

Wir haben nun alle Teile zusammen, die wir für die Ausgabe des Video Streams benötigen. Daher legen wir nun im Webroot Verzeichnis (das Verzeichnis des Webservers, dass im Browser aufgerufen werden kann) ein Verzeichnis mit einer Datei an, die den Player zum Abspielen des Video Streams beinhaltet (Code Schnippsel von oben müssen eingesetzt werden.

cd /usr/share/nginx/www/
sudo mkdir video-stream
sudo nano video-stream/index.html

Inhalt der Datei (beide Codestelle unter <!– JWplayer –> durch die generierten Codes ersetzen)

Step 14

Wir müssen die neu angelegten Dateien nun noch dem Benutzer www-data zuweisen, sodass sie sicher aufrufbar sind.

sudo chown -R www-data:www-data /usr/share/nginx/www/video-stream

Step 15

Jetzt können wir den Video Stream mittels folgenden Kommandos starten. Darauffolgend können wir den Player unter http://IP/video-stream/ (IP durch IP-Adresse bzw. DynDNS Domain des Raspberry Pis ersetzen) aufrufen und den Stream der Kamera betrachten.

cd ~
./video-stream-screen.sh

Step 16 (optional)

Möchten wir, dass der Video Stream automatisch beim Hochfahren des Raspberry Pis angeworfen wird, so können wir folgende Zeile am Ende der Crontab in eine neue Zeile eintragen.

crontab -e

Aufnahme stoppen

Mit Hilfe des folgenden Kommandos können wir den Stream auch wieder stoppen.

screen -S VideoStream -X quit

Yeha, fertig! Nach einiger Arbeit sollte nun ein Stream des Videos von dem Raspberry Pi Kamera Modul laufen. Viel Spaß beim Beobachten 😉

Falls der Stream im Browser des Android Smartphones nicht laufen solle empfiehlt es sich die App RTMP LIVE Stream Player zu verwenden. In dieser muss man als Adresse rtmp://IP:57999/live (IP durch IP-Adresse oder DynDNS Domain des Raspberry Pis ersetzen) angeben – danke an petit_miner für den Tipp in den Kommentaren.

Zugriff außerhalb des eigenen Netzwerks
Portfreigabe im Router

Soll der soeben installierte Dienst auch außerhalb des eigenen Netzwerkes verfügbar sein, so müssen folgende Ports im Router freigegeben werden. Wie man freigibt, beschrieb ich in dem Artikel Portforwarding bei Fritz!Box und Speedport.

1935
80
57999 (für Android App)
Dir hat der Artikel gefallen?
Teile ihn mit deinen Freunden!
248 Antworten
  1. Detlef Braas says:

    Danke für die Anleitung. Leider funktioniert die ganze Sache bei mir nicht wirklich. Das Kamerabild erscheint auf dem Bildschirm des Raspberry Pi, der Webserver meldet sich auch ordentlich, allein die Übertragung mit JWplayer funktioniert nicht. Hat sich da bei den neuesten Updates schon wieder etwas verändert?

    PS Ansonsten ein toller Blog

    Antworten
    • Jan Karres says:

      Ich kann leider nur aus der Erfahrung von Anfang Dezember sprechen als ich das Tutorial schrieb. Hast du denn Step 12 die IP/DynDNS so verändert, dass du damit im Browser den Webserver erreichen kannst? Wäre jetzt noch meine Idee was schief laufen könnte.

      Antworten
    • markus says:

      hallo jan,

      habe das neue raspbian jessie installiert und bin grad dabei, die schritte abzuarbeiten. habe dabei festgestellt, dass sich beim schritt 13 nginx server der pfad verändert hat. die web root liegt nicht mehr unter /usr/share/nginx/www/ sondern unter /var/www/html.

      das ist eigentlich kein problem, nur kann ich jetzt nicht mehr über ftp auf das verzeichnis zugreifen und die html dateien tauschen wie vorher auf das andere. permission denied.

      was ist notwendig, um dies wieder zu ermöglichen?

      ciao markus

      Antworten
  2. KWDE says:

    Zu Schritt 7:
    Hier fehlt jeweils hinter dem Code nach 0,1 und 30 ein Komma.

    Sprich so müsste es aussehen:
    validateHandshake=false,
    keyframeSeek=false,
    seekGranularity=0.1,
    clientSideBuffer=30,

    Antworten
  3. Detlef Braas says:

    Danke für die Antwort. Das Projekt läuft nun bei mir, nachdem ich noch einmal von vorne begonnen habe. Beim ersten Versuch fiel mir auf, dass in Step 3 ffmpeg in der Originalversion des Betriebssystems nicht vorhanden ist. Also habe ich nun beim zweiten Versuch zunächst einmal ffmpeg mit „apt-get install ffmpeg“ installiert, um es anschließend sofort wieder zu deinstallieren. Wie oben erwähnt, läuft jetzt alles zur Zufriedenheit. Ob die Installation von ffmpeg nun der Grund für mein Scheitern beim ersten Versuch war, kann ich natürlich nicht verifizieren.
    Guten Rutsch ins neue Jahr und noch viele weitere gute Ideen für den Blog

    Antworten
    • Jan Karres says:

      Ich würde sagen, dass das der Grund ist, da durch die Installation die ganzen Abhängigkeiten, die auch die selbst kompilierte Version von ffmpeg benötigt werden, auf den Raspberry Pi installiert werden.

      Antworten
  4. Jürgen Linse says:

    Hallo Jan, ich mag Deine Anleitungen, weil die bei mir immer funktionieren, wenn man
    alles so macht wie beschrieben 😉 Aber nachdem ich „Broadcast“ installiert habe, funktioniert Raspberry Pi: Als Überwachungskamera einsetzen nicht mehr. Der RPI war ansonsten frisch aufgesetzt Kann es sein, das die beiden Programme sich beissen ? Ich spiele gerade eine Datensicherung ein, damit Das Überwachungstool wieder läuft, Broadcast wäre auch zusätzlich auch ganz toll. Gruß Jürgen

    Antworten
    • Jan Karres says:

      Wie du schon vermutest hast beißt sich das. Die Kamera kann nur eine Aufgabe zur selben Zeit ausführen. Sprich du musst dich für eine der beiden Varianten entscheiden.

      Antworten
  5. tobb says:

    Hallo Jan, ich konnte es nach Deiner Anleitung bei dem ersten Versuch gut umsetzen, super Anleitung! Nun habe ich folgendes Problem. Der Stream steht auf dem Kopf. Kamera drehen bringt nichts da auch dann seitenverkehrt. Bei anderne Programmen kann es per Software geändert werden, hier auch?

    Antworten
  6. Jürgen Linse says:

    Hallo Jan, noch mal kurz zurück zu meiner Frage bzw. Deiner Antwort oben. MIr ist ja klar da beides zusammen nicht geht. Ich starte natürlich auch nicht „Überwachung“ wenn ich vorher „Broadcast“ laufen habe. Aktuell starte ich das jeweilige Script von Hand was ich benutzen möchte.

    Aber nachdem „Überwachung“ installiert war (und funktionierte). Habe ich Broadcast installiert und „Überwachung“ wollte dann nicht mehr laufen, die Cam blinkt nur kurz auf und das war es dann.

    Ich versuchs morgen nochmal…..zu installieren vllt habe ich auch was durcheinander gebracht. Erstmal noch ein paar SD Karten kaufen gehen für Sicherungen 😉

    Dachte das vielleicht einige libs (oder was weiss ich) überschrieben werden und sich die Programme deshalb nicht mögen.

    Gruß Jürgen

    Antworten
  7. tobb says:

    Hallo Jan, hast mal probiert ob mit eine Android Tablet (Samsung) der Viedo-Stream sichtbar wird?
    Ich bekomme es zur Zeit nicht hin. Habe bei Benutzung von Firefox folgende Fehlermeldung:
    Error loading player: No playable sources found.
    Der Zugriff über einen PC mit firefox funktioniert aber.

    Gruß tobb

    Antworten
  8. Lars says:

    Hallo,
    habe die Installation nach der Anleitung durchgeführt.
    Bekomme aber beim Aufruf der WebSite den Fehlerhinweis „No playable sources found“
    Hat jemand eine Idee, woran das liegen kann?

    Antworten
    • Jan Karres says:

      Klingt so als ob die Aufnahme nicht läuft. Was bekommst du denn als Ausgabe, wenn du folgendes im Terminal ausführst?

      screen -r VideoStream

      Antworten
  9. Bootsmann says:

    Super Tutorial. Läuft auf PC gut, jedoch auf meinem Android Handy kommt auch die „No playable sources found“ Fehlermeldung. Und nach ca. 25-30 Stunden Dauerbetrieb schmiert mir der Stream ab bzw. die Kamera schaltet aus.

    Gibt es für die zwei Probleme eine Lösung?

    Antworten
    • Jan Karres says:

      Für ersteres Problem kenne ich noch keine Lösung, da Android anscheinen, entgegen der Angaben von JWplayer, nicht die benötigen Treiber bereitstellt.

      Letzteres Problem kann man lösen indem man die Kamera alle 24 Stunden neustartet. Dazu probier mal folgendes. Es sollte die Aufnahme um 02:00 Uhr stoppen und wieder um 02:01 Uhr stoppen.

      crontab -e

      Am Ende der Datei eintragen:

      0 2 * * * kill $(ps aux | grep VideoStream | awk '{print $2}')
      1 2 * * * cd ~ && ./video-stream-screen.sh1 2 * * * cd ~ && ./video-stream-screen.sh

      Antworten
  10. arfip says:

    Hallo,
    ich habe auch alles nach Anleitung gemacht und es klappt gut…
    Einzig der Stream wird auf dem Laptop mit einer Verzögerung von ca. 6 Sekunden abgespielt…
    Ist der raspi mit dem Abspielen überfordert?

    Antworten
    • Jan Karres says:

      So 5-6 Sekunden Verzögerung sind bei dieser beschriebenen und auf dem Raspberry Pi möglichen Art normal.

      Antworten
      • ChemoDD says:

        probier mal beim einrichten des jwplayer´s auf der webseite beis chritt 2 links unten die Primary State von HTML5 auf Flash zu stellen

        vorher 6,5s verzögerung jetzt 3,0 s verzögerung is zwar auch nicht grad gut aber auf jeden fall besser als vorher 😉

        Antworten
  11. Herbert says:

    Hallo,
    erstmal herzlichen Dank für Dein tolles Tutorial. Am Raspi funktioniert es schon wie es, nehme ich an, funktionieren soll. Nur mit dem Streamen auf den Laptop komme ich nicht weiter.

    http://192.168.178.44/video-stream/ (im aktuellen Firefox)

    zeigt nur ein Demo: „Alone in New York“ – Standbild bzw. Error loading Media: File not found

    Ich habe mich Punkt für Punkt an die Anleitung gehalten und alle Scripts nochmal kontrolliert, aber leider nichts gefunden.

    Falls ich das mit Deiner/Eurer Hilfe hinkriegen sollte, hätte ich noch eine Frage betreffend DynDNS: welchen Port soll ich verwenden/weiterleiten (in Step 9 ist Port 6666 eingetragen)

    Vielen Dank einstweilen
    LG

    Herbert

    Antworten
    • Jan Karres says:

      Klingt so als würde der Video Stream nicht laufen. Was für eine Ausgabe erhältst du denn, wenn du die folgenden Befehle ausführst?

      screen -dmS VideoStream ./video-stream.sh
      screen -ls

      Antworten
      • BlackNova says:

        Gleiches Problem hier. Das ist die Ausgabe bei mir.

        pi@raspberrypi ~ $ screen -dmS VideoStream ./video-stream.sh
        pi@raspberrypi ~ $ screen -ls
        No Sockets found in /var/run/screen/S-pi.

        Bekomme auch nur das New York Standbild.

        Antworten
    • Axel Wickenkamp says:

      Hallo Herbert,
      hast Du schon eine Lösung dafür gefunden, denn ich stehe vor dem gleichen Problem und komme nicht hinter die Lösung.
      Gruß Axel

      Antworten
  12. schwepf says:

    Perfekte Anleitung; sogar für mich als Laie sofort machbar. Danke! Genau so Menschen wie Dich braucht das Land!!

    Antworten
  13. DAvid says:

    Klasse tutorial, das einzige Problem, dass ich habe ist, dass ich schon einen Webserver installiert habe, er stellt alles in /var/www online zur Verfügung. 2 Webserver sind doch einer zu viel. Ich habe nirgends einen Parameter gefunden um den Pfad der Freigabe zu ändern. Die index.html ist in /var/www/video-stream vorhanden aber ich bekomme einfach kein Bild.
    Gibt es irgendwo einen Parameter, der das zulässt?

    Außerdem habe ich mich gefragt, ob mann bei Step 9 die IP Adresse mit seiner eigenen ersetzen muss:

    #!/bin/bash

    raspivid -t 0 -w 960 -h 540 -fps 25 -b 500000 -o – | ffmpeg -i – -vcodec copy -an -f flv -metadata streamName=myStream tcp://0.0.0.0:6666

    Antworten
    • arfip says:

      also ich habe das 0.0.0.0 nicht verändert; und es funktioniert…

      Antworten
    • Jan Karres says:

      Klingt für mich keinesfalls nach einem Problem mit dem Webserver – wenn der Player ohne Bild angezeigt wird. Ein alternativer Webserver geht natürlich und auch am Port muss man nichts anpassen, da der in dem Falls nichts mit dem Webserver zu tun hat. Wie Arfip bereits schrieb muss 0.0.0.0 auch nicht ersetzt werden.

      Ich könnte mir vorstellen, dass du das Video im Player über eine DynDNS Domain aufrufen willst und den Port 6666 nicht freigegeben hast.

      Antworten
  14. Dieter says:

    Hallo Jan,

    danke für diese hervorragende Step by Step Anleitung.
    Alles hat bei der Installation funktioniert wie von dir beschreiben.
    Mein einziges Problem ist, dass obwohl der video stream korrekt gestartet wird, der WEB Player nur ein schwarzes Bild liefert.
    Woran könnte das liegen?

    Antworten
    • Jan Karres says:

      Ist die URL zum Stream, die im Webplayer eingetragen ist, von außen denn erreichbar?

      Antworten
      • Dieter says:

        Hallo Jan,
        danke für deinen Tipp. Per Zufall habe ich herausgefunden, dass der Video Stream nur über meinen Windows Rechner und Firefox dargestellt wird (Im privaten Umfeld arbeite ich normalerweise unter Linux).
        Keiner der gebräuchlichen Linux Browser funktioniert. Vielleicht benötige ich hierfür ein spezielles Plugin?
        Auch unter Android 4.2 hatte ich keinen Erfolg.
        Jedenfalls weiß ich jetzt, dass es nicht an meiner Installation oder
        Konfiguration liegt.

        Antworten
        • Jan Karres says:

          Den JWplayer verwenden wir eigentlich damit genau dies nicht passiert. Mit diesem Player sollte der Stream eigentlich mit Ausnahme von Android (siehe andere Kommentare) funktionieren.

          Antworten
  15. Micha says:

    Hallo Jan,
    ich komme mit der Installation nicht weiter, kannst du mir helfen? Bist Step 3 soweit ganz gut aber bei Step 4 an dem Punkt „sudo ./configure“ kommt dann eine Fehlermeldung kannst du dir das erklären an was das liegen könnte?

    Gruß Micha

    Antworten
  16. Micha says:

    Hallo Jan, auch ich muß jetzt um Hilfe bitten. Dein Tutorial ist wirklich spitze aber ich bekomme es trotzdem nicht hin. Nach dem Start der ./video-stream-screen.sh bekomme ich folgende Fehlermeldung
    ./video-stream-screen.sh:line2:$’\302\240′:command not found
    ./video-stream-screen.sh line4:$’\302\240′:command not found
    Nach dem Beenden mit screen -r folgende:
    pipe::invalid data foun when proessing input
    Das Video läuft auf dem Raspi, aber über die no-ip adresse sehe ich nur einen weißen Schirm. Ports sind freigegeben und der Pfad zur index.html stimmt auch.
    Kannst Du mir helfen? (sitz jetzt scca 14 Tage vor dem Prob)
    Danke Micha

    Antworten
    • Jan Karres says:

      Das sind ja gleich mehrere Probleme…

      „./video-stream-screen.sh:line2:$’\302\240′:command not found“ – Ich denke du hast da was falsch kopiert. Versuch die Datei noch mal anzulegen.
      „pipe::invalid data foun when proessing input“ – Hast du die Kamera denn auch aktiviert und bist du dir sicher, dass diese richtig am Raspberry Pi angesteckt ist?

      Wenn das gelöst ist und dann noch Probleme da sind können wir weiter schauen 😉

      Antworten
      • Micha says:

        Hallo Jan,
        danke für Deine Antwort.
        Die Cam ist richtig installiert, Raspistill und Rasvid funktionieren.
        Meinst Du ich soll die video-stream-screen noch mal neu anlegen?
        fragende Grüße Micha

        Antworten
        • Jan Karres says:

          Wäre einen Versuch wert.

          Antworten
          • Micha says:

            Hi Jan,
            tatsache war ein copy paste Fehler. Also die Fehlermeldung ist weg.
            Ich bekomme im Browser aber leider immer noch nur ein weißes Bild.
            Habe mal zum testen den Demo Titel im index Script umbenannt, Der neue Name der Seite wird auch angezeigt.Nur das Video läuft nicht. Hast Du noch einen Tip?
            Vielen Dank
            Micha

          • Jan Karres says:

            Bist du dir sicher, dass der Videostream läuft?

          • Micha says:

            Hi Jan,
            zumindest sehe ich das Video auf dem Monitor, wenn ich die video-stream-screen.sh starte.
            Micha

          • Jan Karres says:

            Und du bist dir auch sicher, dass der im Player definierte Link zum Videostream (IP muss ersetzt werden) richtig ist?

    • Micha says:

      Hi Jan,
      ich habe zum Test in der /usr/share/nginx/www/video-stream/index.html in der Zeile 7 den Text „Demo Title“ in DebbieCam umbenannt,
      Im Browser wird mir bei Eingabe der Ip die Seite dann auch als DebbieCam angezeigt. Also denke ich mal das ich da soweit alles richtig gemacht habe.
      Könnte ich Dir die entsprechenden Dateien mal als eMail zusenden zum rüberschauen (wenn ja, dann welche)?
      Danke schon mal für Deine Ausdauer.
      Micha

      Antworten
  17. daniel says:

    Hallo, also erst mal wunderbare Anleitungen, besser geht es gar nicht!
    Ich wollte das Broadcasting und die Überwachung gleichzeitig laufen lassen. Da ich eben ab und zu auch mal per Stream mal drauf schauen muss. Jetzt meine frage, was sind denn genau die befehle zum starten und stoppen beider Prozesse (Überwachung und Broadcasting).
    Den Befehl zum stoppen der Überwachung hab ich ja schon aus der anderen Anleitung 🙂

    Antworten
  18. Andre says:

    Hallo Jan,
    super Arbeit!!!! Läuft auf meinen Raspi super…..aber wie stoppe ich das Script?? (bin mit HDMI am Bildschirm und will nun wieder auf den Raspi zurück…)

    Andre

    Antworten
    • Jan Karres says:

      Hab ich im Artikel ergänzt. Danke für den Hinweis!

      Antworten
      • Andre says:

        ….ja, das geht wenn du mit Putty verbunden bist…..Ich habe nur einen TV am HDMI Ausgang hängen. Starten kann ich das ganze, Bild ist aufm Schirm. Jetz gibt es keine Möglichkeit, das ganze zu stoppen da ich keine Möglichkeit einer Eingabe habe. Jetzt könnte mann sagen, warum denn so kompliziert…..Nun, ich habe einen Wlanstick dran und ich bekomme es nicht hin, den Raspi noch mit Lankabel zu betreiben. Irgendwie will diese Kombination nicht……..

        Antworten
        • Jan Karres says:

          In der grafischen Oberfläche kannst du doch das Programm „Terminal“ aufrufen und in diesem den Befehl eingeben.

          Antworten
          • Andre says:

            Danke für deine Antwort und nein, ich nutze die grafische Oberfläche nicht. Ich habe den TV dran und arbeite in der Konsole aber ich probiere das mal….wie war dass noch mit der Oberfläche…startx??

          • Jan Karres says:

            Keine grafische Oberfläche ist ja schon positiv. Wo liegt dann das Problem den Befehl einzugeben?

  19. knut lagies says:

    Hallo Jan
    Gibts einen Grund , warum das alles nicht auch mit jeder anderen Webcam tun sollte?
    Gruß knut

    Antworten
    • Jan Karres says:

      Natürlich 🙂 Nicht jede Webcam arbeitet gleich und kann folglich gleich angesprochen werden. Da das Kamera Modul jedoch ein offizielles Zubehör ist und folglich für alle Benutzer gleich ist habe ich mich dafür entschieden, hierfür die Anleitungen zu schreiben. Ganz davon abgesehen, dass es technisch (insbesondere beim Motion Tracking) eine schöne Herausforderung war 😉

      Antworten
  20. Andre says:

    Hallo Jan,
    wenn ich am HDMI Ausgang vom Raspi meinen Tv hängen habe, nutze ich den ja als Monitor. Wenn ich nun den Kamerabetrieb starte, wird auf meinen 16:9 TV das Kamerabild produziert. Es gibt kein Prompt mehr – also, der TV schreibt das Bild voll aus……wo willst du dann noch etwas eingeben wenn du nicht siehst, was du eingibst. Nun wäre die Möglichkeit, parallel über Lan Putty zu starten und dort die Konsole bedienen. Das Problem ist aber (zur Zeit noch bei mir) dass ich einen WLanstick am Raspi habe. Sobald ich das Lankabel anschließe, geht der WLanstick nicht mehr. (hängt am aktiven HUB mit externen Netzteil) Irgendwie scheint es ein Problem zu geben wenn man beides betreiben will.
    @Knut
    Im Netz gibt es viele Anleitungen für Webcams am Raspi. Ich bin froh, eine so gute Anleitung für die Originalcam gefunden zu haben. Hut ab für die Arbeit an Jan! Ich bevorzuge die Originale Kamera deswegen, weil als Überwachungskamera bestens geeignet. Es gibt bei Pollin für kleines Geld ein schönes Gehäuse. Da passt der Raspi samt Kamera schön rein. Mit Lan/Wlan hast dann was schönes. Bei USB Webcam bist ja auch mit den USB Kabel irgendwann an der Grenze. (Kabellänge)

    Antworten
    • sonahundfremdut lagies says:

      Hallo Andre
      danke für deinen Hinweis. Ich experimentiere viel mit meiner Microsoft Lifecam und die funktioniert auch klaglos. Ich bin aber noch weit weg von der Performance, die ich brauche (10 Frames/sec, 640×480). Keine Ahnung ob ich das schaffe. Deshalb schaue ich sicher auch noch (wenn Zeit) auf die PI-Kamera.

      Antworten
    • Jan Karres says:

      Dann wird das wohl schlicht und einfach nicht gehen – außer über SSH.

      Antworten
      • Andre says:

        Hallo Jan,
        so, nun ist es mir gelungen, das ganze zu stoppen….also aus den Programm zu „kommen“ Das geht natürlich nicht so ohne weiteres. Wir haben RaspiVid kompiliert und im Main etwas geändert, um mit einer Taste der Wahl, dass Programm zu stoppen. Funktioniert auch gut. Wir arbeiten gerade an der Zoomfunktion per Pfeiltasten…..wer Interesse daran hat, oder wenn du dein Tutorial erweitern willst, stellen wir es zur Verfügung.

        Gruß, Andre

        Antworten
  21. Martin says:

    Hallo Jan! Danke für deine tollen tutorial.
    ich hab allerdings anscheinend etwas übersehen. Auf port 8080 habe ich einen anderen Dienst zur Hausautomation laufen (www.ccu.io). Das läuft jetzt nicht mehr…Ich denke dass sich jetzt irgendwas blockiert. Weißt du was ich deinstallieren muss (und wie) um wieder zugreifen zu können? danke!

    Antworten
    • Jan Karres says:

      Auf einem Port können ganz einfach nicht zwei Software laufen, wobei ich bin der Anleitung keinen Port 8080 finden kann, der stören könnte…

      Antworten
  22. Tobias says:

    Hi Jan,
    vielen Dank für das Turtorial! Vielleicht wäre es erwähnenswert, dass man Port 1935 freigeben muss, wenn man den Stream von außerhalb des eigenen Netzes schauen möchte. Hat uns einiges an Probieren und Nachdenken gekostet, bis wir das realisiserten! 😀
    Grüße Tobias

    Antworten
    • Jan Karres says:

      Ports sind sowieso noch so ein Problem bei allen meinen Artikeln. Muss ich, wenn zeit ist, mal überall überarbeiten 😉

      Antworten
      • Tobias says:

        Trotzdem vielen Dank!
        JW Player unterstützt ja laut longtailvideo-Seite auf mobilen Geräten nur HTML5, hast du Erfahrungen mit der Verwendung davon auf dem RasPi? Alles was ich bisher gelesen habe, deutet daraufhin, dass man sich bei Verwendung von mp4/html5 mit circa 4fps abgeben muss. Hast du es auch ausprobiert, auf der Suche nach der besten Kombination? Wäre natürlich schon genial, wenn man einen vernünftigen Stream damit hinbekäme, denn html5 dürfte mittlerweile auf mehr Geräten laufen, als flash.

        Grüße Tobias

        Antworten
        • Jan Karres says:

          Als ich das Tutorial schrieb testete ich es zugegebenerweise nur auf Windows und Mac OS X – und habe mich auf die Beschreibung des JWPlayers verlassen. Als ich bemerkte, dass es nicht ganz so toll funktioniert suchte ich nach Lösungen, jedoch fand ich keinen kompatibleren Player…

          Antworten
  23. Thomas says:

    Hallo und erstmal vielen Dank für diese außerordentlich detaillierte und gut verständliche Anleitung!

    Leider bin ich offenbar trotzdem zu wenig firm in Sachen Raspberry Pi bzw. Linux allgemein, um dieses Projekt korrekt zum Laufen zu bringen.

    Mein aktueller Stand ist folgender: wenn ich den Stream über PuTTY manuell aus dem Home-Directory mit

    ./video-stream-screen.sh

    starte, funktioniert alles. In der crontab des nach Deiner entsprechenden Anleitung umbenannten Users pi ist eingetragen

    @reboot cd ~ && ./video-stream-screen.sh
    0 0 * * * kill $(ps aux | grep VideoStream | awk ‚{print $2}‘)
    1 0 * * * cd ~ && ./video-stream-screen.sh

    D.h. der Stream sollte beim (Re)Boot starten und außerdem um 00:00 Uhr beendet und um 00:01 Uhr neu gestartet werden.

    Den Neustart um Mitternacht habe ich noch nicht getestet, aber der Start beim Booten funktioniert definitiv nicht korrekt.

    Der cronjob wird zwar ausgeführt und (nachdem ich mailutils dazuinstalliert habe) der User erhält von cron auch eine Mail folgenden Inhalts

    Video stream started
    To view the stream console output use the following command:
    screen -r VideoStream

    Also eigentlich nur die normale Meldung beim Starten und definitiv keine Fehlermeldung oder ähnliches. Wenn man dann wie beschrieben

    screen -r VideoStream

    eingibt, meldet screen aber nur

    There is no screen to be resumed matching VideoStream.

    Die große Preisfrage ist also: WAS um alles in der Welt habe ich da falsch gemacht?

    Schöne Grüße und schon mal vielen Dank,
    Thomas

    Antworten
    • Thomas says:

      Neue Erkenntnisse:

      ich habe in video-stream-screen.sh mal stderr auf eine Datei umgeleitet und darin gesehen, daß das Script das Programm ffmpeg nicht finden konnte. Nachdem ich dieses um den absoluten Pfad /usr/local/bin/ ergänzt habe, scheint es jetzt zu funktionieren.

      Unschön ist jetzt lediglich noch, daß das Bild bei einer Auflösung von 960×540 auf meinem relativ großen Monitor auf Fullscreen aufgeblasen und dadurch ziemlich pixelig wird. Kann man das irgendwie so ändern, daß es fest in der ursprünglichen Auflösung dargestellt wird, unabhängig von der Bildschirmgröße?

      Antworten
  24. Chris-G says:

    Hallo,

    ich habe folgendes Problem.
    Nach deiner Anleitung alles installiert und funktioniert wie immer super.

    Irgendwo habe ich aber einen Denkfehler.

    Ich möchte wie beschrieben mit

    crontab -e

    @reboot cd ~ && ./video-stream-screen.sh

    beim start des Raspberry den Stream automatisch starten.

    Leider funktioniert das bei mir nicht ganz so automatisch.
    Raspberry startet und läuft durch.
    Ganz kurz wird eine Kamerabild angezeigt aber es ist sofort wieder weg.

    Um nun den Stream zu starten muss ich manuell nochmal

    ./video-stream-screen.sh

    eingeben, dann startet auch der Stream.

    Also doch kein automatischer Start?

    Gruß Chris

    Antworten
    • Jan Karres says:

      Mhhh… versuch doch mal die folgende erstere Zeile durch zweitere zu ersetzen, denn das klingt so als würde er den Steam wieder abbrechen – vielleicht, da der Raspberry Pi noch nicht bereit ist.

      @reboot cd ~ && ./video-stream-screen.sh

      ersetzten durch

      @reboot sleep 30 && cd ~ && ./video-stream-screen.sh

      Antworten
      • Chris-G says:

        Hi,

        habe mal die Änderung so vergenommen wie von dir beschrieben.
        Leider machrt er hier genau das Gleiche wie vorher. Diesmal eben nur 30 sec. später. Er blendet kurz das Video ein und sofort wieder aus.

        Nach manueller eingabe über putty oder direkt am Rasp ist das Videosignal dauerhaft aktiv.

        Gruß Chris

        Antworten
  25. viola says:

    Hallo
    danke für die tolle Anleitung. Ich habe allerdings ein Problem. Wenn ich den Befehl ./video-stream-screen.sh eingebe kommt kurz ein live Bild und schließt sich wieder. Wenn ich ./video-stream.sh mache das gleiche. Mit dem Fehler tcp://0.0.0.0:6666 sei invalid.
    Der raspi ist mit meinem Windows PC über einen Switch verbunden. Der raspi hat die IP192.168.1.2 und der PC hat die 192.168.1.1. Wenn ich nun im Firefox eingebe: http://192.168.1.2/video-stream kommt Welcome to ngix und bei http://192.168.1.2/video-stream/index.html kommt das von mir eingegebene „Laden … “ es wird aber kein Video angezeigt. Was habe ich falsch gemacht? ich habe den Key von jwplayer im header eingegeben. (also da wo als beispiel ABCDEFG… usw steht.
    Na ja und alles Andere habe ich eigentlich auch gemacht.
    Vielleicht ist es ja ganz einfach..

    Antworten
    • viola says:

      Ich hab nun noch mal die jwplayer.flash.swf mit dem Firefoy geöffnet. Da sagt er mir, dass er nicht für den Offlinebetrieb gemacht sei.Offline Playback not supported.

      Antworten
      • Jan Karres says:

        Ich würde mal annehmen, dass diese Aussage nicht vom Firefox sondern vom JWPlayer kommt und dieser damit sagen möchte, dass der Stream momentan offline ist und es keine Aufnahme zum Zurückspulen gibt.

        Antworten
    • Jan Karres says:

      Letzteres Problem („Laden…“) wird daran, dass der Stream nicht läuft. Dazu kann ich dir jedoch nur mit konkretem Fehlertext anstatt „Mit dem Fehler tcp://0.0.0.0:6666 sei invalid“ helfen.

      Antworten
  26. Markus Pokorni says:

    Können Sie mir bitte mitteilen, wie ich bei Step 3 (iVm mit dem Blog Eintrag) mit folgender Meldung umgehen soll? Vielen Dank Gruß Markus Pokorni

    pi@raspberrypi ~ $ apt-get install ffmpeg
    E: Sperrdatei /var/lib/dpkg/lock konnte nicht geöffnet werden. – open (13: Keine Berechtigung)
    E: Sperren des Administrationsverzeichnisses (/var/lib/dpkg/) nicht möglich, sind Sie root?

    Antworten
  27. Markus says:

    Kurze Frage, warum kann das Verzeichnis nicht gefunden werden?

    pi@raspberrypi ~ $ chmod +x video-stream.sh
    pi@raspberrypi ~ $ chmod +x video-stream-screen.sh
    pi@raspberrypi ~ $ cd /usr/share/nginx/www/
    -bash: cd: /usr/share/nginx/www/: Datei oder Verzeichnis nicht gefunden

    Antworten
  28. Weedhead says:

    super Anleitung leider hab ich das gleiche Problem wie
    „Chris-G“ mit crontab -e hab da

    @reboot sleep 30 && cd ~ && ./video-stream-screen.sh eingegeben.

    Er blendet nach 30sek kurz das Video ein und sofort wieder aus finde da keine Lösung.

    Antworten
  29. Tobias says:

    Hier mal noch ein kleiner Tipp für alle, bei denen der automatische Start des Streams beim Reboot nicht funktioniert. Bei mir hat der angegebene Eintrag im crontab auch nicht funktioniert, daher habe ich in der video-stram.sh folgende Zeile unter
    #!/bin/bash
    ergänzt:
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    Dann „sudo crontab -e“ gestartet und im crontab folgendes eingegeben:
    @reboot /home/pi/video-stream.sh
    Nun startet der Stream bei mir nach jedem Boot.

    Grüße Tobias

    Antworten
  30. Andre says:

    Hallo Tobias,
    mal ne Frage zu DynDns. Mir ist es noch nicht gelungen, den Stream von ausserhalb zu erreichen. Was muss nun bei der Portweiterleitung in der Fritzbox eingestellt werden? Port 6666 oder 1935 oder beide??? Im internen Netz funktioniert alles super. Ersetze ich nun meine IP durch die Domäne funktioniert es nicht. Da es im internen Netz geht, denke ich, es muss an der Portweiterleitung liegen…..

    Antworten
    • Herbert says:

      Hallo,

      hänge mich der Frage von Andre an. Habe das gleiche Problem (die gleiche Herausforderung 😉 )

      LG

      Herbert

      Antworten
      • Thomas says:

        Ehrlich gesagt würde ich das an Eurer Stelle einfach ausprobieren. Erst den einen Port weiterleiten, dann den anderen und dann beide. Jedesmal gucken, was passiert… spätestens im dritten Fall sollte das ja dann funktionieren.

        Antworten
      • Andre says:

        ……also, ich habe da so mal experimentiert….;-)…..Mein Problem lag sicher daran, dass ich mehrere Raspberrys im Einsatz habe. Also, es muß für den Webcameinsatz per Domän, der Port 80 und der Port 1935 freigegeben werden. (bei mir war der Port 80 für einen anderen Raspi freigegeben, auf den Apache läuft. Ich habe diesen mal entfernt und diese beiden Ports für den „Webcam-Raspi“ freigegeben und siehe da, es läuft)

        Antworten
        • Tobias says:

          Hi,

          genau. Port 80 (für http) und Port 1935 (für jwplayer) müssen beide exklusiv für den entsprechenden RasPi auf dessen Ports (ebenfalls 80 und 1935) weitergeleitet werden.

          Grüße Tobias

          Antworten
          • Herbert says:

            Hallo,

            ich habe (Fritz Box) für den Raspi folgende Portweiterleitungen eingerichtet:

            1935 > 1935
            1936 > 80 (beide TCP)

            Die DynDNS Verbindung funktioniert!!! 😉

            Allerdings nur wenn ich innerhalb des WLANs auf den Raspi zugreife, wenn ich über die Mobile Breitbandverbindung zugreifen möchte, erhalte ich die Fehlermeldung:

            „Error loading Stream
            Could not connect to Server“

            Aaaaber: unter Android 4.4.2 (CyanogenMod) erhalte ich mit dem Puffin Browser die selbe Fehlermeldung (Hoffnung für Android?).

            zugreifen tu ich über :1936/video-stream

            LG

            Herbert

  31. geeuz says:

    Hallo & vielen Dank für das Tut, läuft echt gut!

    Dank dem Tipp von Tobias den PATH im Script einzutragen, funktioniert auch der Autostart nach dem Reboot.

    Weiß jemand vielleicht irgendeine Möglichkeit das ganze auf iOS lauffähig zu machen? Soweit ich es in Erfahrung bringen konnte funktioniert es nicht weil der Stream im flv-Format ist (Flash Video), was von iPad/iPhone ja nicht unterstüzt wird.

    Meine Versuche den Stream einfach auf mp4 zu ändern haben leider nicht geklappt.

    Antworten
    • Tobias says:

      Hi,

      ich denke nicht, dass das geht. Html5 wäre eine Lösung, aber scheinbar erhält man dann nur noch ca. 4fps. Wir haben das Problem für uns so gelöst, dass wir den Stream regelmäßig aufzeichnen und zum Download auf die Website stellen. Mit VLC Player kann man ihn dann beispielsweise auch auf dem Android-Smartphone schauen, welches kein Flash unterstützt. Ob das bei iOS auch so geht, kann ich leider nicht sagen. Wir sind so vorgegangen:

      -rtmpdump installieren sudo apt-get install rtmpdump

      -avconv installieren: sudo apt-get install libav-tools

      -folgendes shell script schreiben:

      #!/bin/bash

      echo Streamconvert loeschen
      rm /usr/share/nginx/www/video-stream/streamconvert.mp4

      echo Streamdump starten
      rtmpdump -r "rtmp://IP/flvplayback/myStream" --live -o /home/pi/dump.flv &
      PID=$!
      # & trennt den Prozess ab und PID=$! schreibt die Prozess ID in eine Variable, so
      #dass die Aufnahme nach einer gewissen Zeit wieder gestoppt wird:
      sleep 20s

      echo kill streamdump
      kill $PID

      echo avconv starten
      avconv -i /home/pi/dump.flv -c copy /usr/share/nginx/www/video-stream/streamconvert.mp4

      echo dump.flv loeschen
      rm /home/pi/dump.flv

      -script ausführbar machen: sudo chmod +x

      -crontab-eintrag für das script schreiben

      -optinal: Datei per html in die Seite einbinden

      Grüße Tobias

      Antworten
  32. Josef says:

    Hallo Jan,

    erstmal Hut ab vor deiner Leistung hier auf deiner Seite. Dein Blog ist super und die Anleitungen finde ich sehr gut geschrieben!!

    Nun aber zu meinem Problem:

    Ich habe deine Anleitung genau beachtet. Habe jetzt dann zum dritten mal alle Codes nachgeprüft aber beim Videostreamen bleibt mein Browser leider weiß.

    Im Fenster steht zwar Demo Title und an der Kamera geht auch die LED an wenn ich mit dem Befehl ./video-stream-screen.sh die cam einschalte.

    Bin über den WLAN-Stick mit dem Netz verbunden und möchte über die IP im Heimnetz auf mein Notebook streamen.

    Könntest du mir bitte weiterhelfen??

    Viele Grüße
    Josef

    Antworten
    • Jan Karres says:

      Greift denn der Player vielleicht über eine externe IP-Adresse/DynDNS Domain auf den Stream zu? Falls ja, sind die benötigten Ports freigeben?

      Antworten
      • Josef says:

        ne, greife nicht von extern zu. bin nur im Heimnetz unterwegs mit dem rpi.
        hab jetzt nochmal ALLES frisch gemacht. leider das selbe Problem. im Browser steht der Titel, aber nach 10 Sekunden des Ladens bleibt alles weiß.

        Hast eine Ahnung woran das liegen könnte?

        Antworten
        • Jan Karres says:

          Was für eine Ausgabe erhält du denn, wenn du folgende Kommandos ausführst? Vielleicht läuft der Stream nämlich gar nicht erst…

          cd ~ && ./video-stream.sh

          Antworten
          • Josef says:

            mmal: mmal_vc_component_create: failed to create component ‚vc.ril.camera‘ (1:ENOMEM)

            mmal: mmal_component_create_core: could not create component ‚vc.ril.camera‘ (1)

            mmal: Failed to create camera component

            mmal: main: Failed to create camera component

            mmal: Camera is not detected. Please check carefully the camera module is installed correctly

            pipe: Invalid data found when processing input

          • Josef says:

            sorry, die meldungen sind nur deshalb gekommen, da die cam nicht richtig angeschlossen war. hatte mich schon gewundert wieso die rote led an der cam nicht an ist.

            jetzt wird die led bei deinem befehl rot und es kommen folgende meldungen:

            ffmpeg version N-62178-ge6f69b3 Copyright (c) 2000-2014 the FFmpeg developers
            built on Apr 5 2014 23:22:46 with gcc 4.6 (Debian 4.6.3-14+rpi1)
            configuration:
            libavutil 52. 74.100 / 52. 74.100
            libavcodec 55. 57.100 / 55. 57.100
            libavformat 55. 36.101 / 55. 36.101
            libavdevice 55. 11.100 / 55. 11.100
            libavfilter 4. 3.100 / 4. 3.100
            libswscale 2. 6.100 / 2. 6.100
            libswresample 0. 18.100 / 0. 18.100
            Input #0, h264, from ‚pipe:‘:
            Duration: N/A, bitrate: N/A
            Stream #0:0: Video: h264 (High), yuv420p, 960×540, 25 fps, 25 tbr, 1200k tbn , 50 tbc
            Output #0, flv, to ‚tcp://0.0.0.0:6666‘:
            Metadata:
            streamName : myStream
            encoder : Lavf55.36.101
            Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuv420p, 960×540, q=2-31, 25 fps, 1k tbn, 1200k tbc
            Stream mapping:
            Stream #0:0 -> #0:0 (copy)
            frame= 142 fps=0.0 q=-1.0 size= 242kB time=00:00:05.64 bitrate= 351.7kbits/ frame= 155 fps=148 q=-1.0 size= 266kB time=00:00:06.16 bitrate= 353.7kbits/ frame= 169 fps=103 q=-1.0 size= 290kB time=00:00:06.72 bitrate= 353.5kbits/

          • Jan Karres says:

            Sieht doch nun besser aus. Funktioniert es denn jetzt?

          • Josef says:

            hallo jan,

            meinst du du weißt wo der fehler liegt? wie gesagt, im browser bleibt alles weiss, auch nach den meldungen ganz unten…

            falls du eine ahnnung hast würdest du mir eine große freude machen wenn ich durch deine hilfe den stream hinbekomme.

            hab den stream mit chrome, firefox, opera und sogar ie probiert… überall das selbe ergebnis 🙁

          • Josef says:

            ne, funktioniert noch immer nicht. die ausgabe bleibt die selbe und der bildschirm im browser bleibt weiss…

            hab schon mehrmals alles kontrolliert auf schreibfehler etc… weiß nicht weiter 🙁

          • Josef says:

            so, jetzt läuft es. irgendwo muss unter step 13 ein tippfehler bei mit gewesen sein 🙂

            vielen dank jan. die anleitung ist top!

  33. Felix says:

    Hey Jan,

    auch von mir ein dickes Lob für deine Anleitung/en! 😉
    Ich habe nun auch nach der Anleitung alles eingerichtet und getestet, aber bei mir lädt und lädt der Stream im Browser und zeugt nichts an. Weißt du an was das liegen kann? Habe alle Einstellungen noch mal geprüft, aber kein Erfolg! Es dreht sich immer nur das „Rädchen“ des Players -.-

    Schöne Grüße

    Felix

    Antworten
    • Jan Karres says:

      Kann es vielleicht sein, dass der Player über die öffentliche IP-Adresse oder DynDNS Domain auf den Stream zugreifen soll? Falls ja, sind denn alle benötigten Ports geöffnet?

      Antworten
      • Felix says:

        Ne, wollte intern, also im Heimnetz darauf zugreifen. Leider ohne erfolg -.-

        Antworten
        • Jan Karres says:

          Bist du dir sicher, dass der Stream läuft? Welche Ausgabe erhältst du denn bei folgendem Kommando?

          cd ~ && ./video-stream.sh

          Antworten
          • Bernd says:

            Hallo Jan,

            ich habe den gleichen Fehler wie Felix. Bei dreht sich auch nur das „Rädchen“. Nach Eingabe von
            cd ~ && ./video-stream.sh

            bekommen ich folgende Ausgabe:

            ffmpeg version N-63738-gd63d964 Copyright (c) 2000-2014 the FFmpeg developers
            built on Jun 4 2014 01:31:28 with gcc 4.6 (Debian 4.6.3-14+rpi1)
            configuration:
            libavutil 52. 89.100 / 52. 89.100
            libavcodec 55. 66.100 / 55. 66.100
            libavformat 55. 42.100 / 55. 42.100
            libavdevice 55. 13.101 / 55. 13.101
            libavfilter 4. 5.100 / 4. 5.100
            libswscale 2. 6.100 / 2. 6.100
            libswresample 0. 19.100 / 0. 19.100
            mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
            mmal: camera component couldn’t be enabled
            mmal: main: Failed to create camera component
            mmal: Failed to run camera app. Please check for firmware updates

            Gruß
            Bernd

          • Jan Karres says:

            Klingt so als sei die Kamera in raspi-config nicht aktiviert oder nicht ordnungsgemäß angeschlossen.

  34. petit_miner says:

    Erstmal Vielen Dank für dieses Gute Tutorial,
    doch ich habe ein Problem, ich komme ohne Problem auf den Server vom Raspi,
    und sehe auch das Videofenster vom JWPlayer,
    doch dieser sagt nach einer Ladezeit could not connect to server.
    Hättest du noch eine Idee was ich falsch gemacht haben könnte?

    Antworten
  35. Axel Wickenkamp says:

    Super Tut, bei mir scheitert das streamen selber.
    Ich erhalte nach dem ausführen des Befehls ./video-stream.sh kurz eine Testvideo am Monitor, dann bricht er aber ab mit dem Hinweis
    tcp @ 0x1a0920 Connection to tcp://0.0.0.0:6666 failed: Connection refused

    Welcher Dienst sollte denn auf 6666 laufen???? Der CRTMPServer???

    Antworten
  36. Uwe Waechter says:

    Hallo Jan,
    auch von mir vielen Dank für deine Mühe bei der Erforschung und der Protokollierung in diesem Artikel. Mein Streaming scheint zu laufen. Woran ich scheitere ist die Wiedergabe im Browser. Ich muss ehrlich gestehen, dass mir die Arbeitsweise des JWPlayers im Netz überhaupt nicht eingängig ist. Gibt es eine Beschreibung darüber, wie die einzelnen Komponenten zusammen arbeiten?
    Ich produziere einen Stream, der in Richtung eines Ports geht (6666). Wie greift jetzt der JWPlayer ein. Deine Beschreibung klingt so, dass dieser Player auf einem Server von JWPlayer selbst läuft. Warum das? Und es gibt doch offenbar ein Download Paket. Sollte dieser nicht lokal laufen? Wozu dann aber diese eindeutigen IDs, die wie Geheimnisse gehandelt werden. Kann man die Zusammenhänge irgendwo nachlesen? Die JWPlayer Seite erschliesst sich mir diesbezüglich überhaupt nicht. Viel Grüße und schöne Ostern, Uwe.

    Antworten
    • Uwe Waechter says:

      Hallo Jan,
      Uwe nochmal. Habe ich irgend eine Chance, den Stream „zu sehen“, bevor er an den JWPlayer übergeht? Gibt es irgendeine lokale Datei, an deren Existenz ich überprüfen kann, ob bis dahin alles gut geht? So bin ich z.B. auf der Such nach einem Verzeichnis flvplayback. Entsprechend der Schreibweise file: ‚rtmp://192.168.178.28/flvplayback/flv:myStream.flv‘ in der index.html hätte ich vermutet, dass es ein derartiges Verzeichnis irgendwo im www des nginx geben müsste. Finde aber nichts. auch der lokale Aufruf von file: ‚rtmp://192.168.178.28/flvplayback/flv:myStream.flv‘ im Browser auf dem Pi ergibt nichts: URL cannot be shown.
      Mfg Uwe.

      Antworten
    • Jan Karres says:

      Auf Port 6666 geht der Videostream raus. Dieser wird aber gleich wieder von crtmpserver aufgefangen, der dann zu rtmp://IP/flvplayback/flv:myStream.flv konvertiert. Einen Ordner flvplayback wirst du nicht finden, da dies nur im Prozess von crtmpserver als Ausgabe auf dem rtmp:// Protokoll entsteht.

      Folglich ist die URL zum Abspielen des Videos, mit einem beliebigen Player der das kann, rtmp://IP/flvplayback/flv:myStream.flv.

      Wenn mich meine Erinnerung nicht trügt habe ich beim Schreiben der Anleitung kein aktuelles Paket von JWPlayer gefunden, weshalb ich mich für die online gehostet Version entschied. Der Player spielt den oben genannten Stream eigentlich nur ab.

      Antworten
  37. Johannes says:

    Hallo Jan, ich habe dein Tutorial gestern nachgemacht und und am Ende Angelangt hat es nicht funktioniert… dann habe ich aber selber gemerkt das es daran lag das ich „sudo apt-get install screen“ noch gebraucht habe. Naja jedenfalls lief es dann so wie es sollte.

    Irgendwann ging das ganze aber nichtmehr und ich habe alles neu aufgesetzt, lag dann aber doch wohl an der Kamera dass sie nicht richtig drin war…. jedenfalls bin ich jetzt wieder durch aber dieses Mal geht es nicht und ich weis nicht wieso.

    Wenn ich das ganze aufrufe bei mir mit:
    http://192.168.178.118/video-stream/
    dann wird der JWPlayer ganz normal angezeigt.
    wenn ich dann in der Konsole „./video-stream-screen.sh“
    kommt aber dieses mal nicht das aktuelle Bild… was ja gestern bei mir funktioniert hatte.

    (Die Kamera funktioniert dieses Mal aber)

    Wenn ich in der Konsole „screen -ls“ eingeben dann kommt die Meldung: There is a screen on: 2307.VideoStream (29/04/14 18:46:29) (Detached) 1 Socket in /var/run/screen/S-pi.

    Ich habe alles nochmal durchgeschaut und auch die Dateien aber ich finde den Fehler nicht… vielleicht weisst du ja was es sein könnte.

    Gruß

    Antworten
  38. petit_miner says:

    Habe den gleichen Fehlerbericht wie Florian,
    ffmpeg version N-62324-gcdd21f1 Copyright (c) 2000-2014 the FFmpeg developers
    built on Apr 11 2014 07:58:55 with gcc 4.6 (Debian 4.6.3-14+rpi1)
    configuration:
    libavutil 52. 75.100 / 52. 75.100
    libavcodec 55. 58.103 / 55. 58.103
    libavformat 55. 36.103 / 55. 36.103
    libavdevice 55. 11.100 / 55. 11.100
    libavfilter 4. 4.100 / 4. 4.100
    libswscale 2. 6.100 / 2. 6.100
    libswresample 0. 18.100 / 0. 18.100
    mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
    mmal: camera component couldn’t be enabled
    mmal: main: Failed to create camera component
    mmal: Failed to run camera app. Please check for firmware updates

    pipe:: Invalid data found when processing input

    Aber die Kamera funktioniert und der Stream im Lokalen Netzwerk auch, nur von außerhalb des Netzwerkes geht es nicht und alle Ports die notwendig sind sind offen.

    Antworten
    • petit_miner says:

      Ps: Bei der Fritz Box kann man auch alle Ports für ein Gerät öffnen, hab das beim Raspi ausprobiert ging trotzdem nicht, scheint so als hätte ich das gleiche Problem wie Florian.

      Antworten
    • Jan Karres says:

      Ich glaube anhand dieser Fehlermeldung eher weniger, dass die Kamera funktioniert. Wie hast du das denn valide geprüft?

      Was du machen kann:

      1. Prüfen ob die Kamera ordentlich angeschlossen ist
      2. In raspi-config überprüfen ob die Kamera erfolgreich aktiviert wurde
      Antworten
  39. Michel_03 says:

    Klasse Anleitung.

    Gibt es eine Möglichkeit das ganze via https zu schützen? Mit Benutzer und Passwort abfrage?

    Antworten
  40. counter says:

    Hallo,
    Super Tutorial!
    Danke!
    Hab aber das Problem das das Video auf dem Client sehr sehr langsam ist.
    Bilder kommen nicht in Echtzeit, sondern verzögert.

    Was könnte das sein?
    Bin da nicht so fit drin!
    Hab alles so gemacht wie oben, Stream läuft, aber Bilder kommen verzögert!

    Hardware:
    Raspi Modell B mit 512 Mb

    Kannst du oder ein anderer mir helfen?

    Antworten
    • Jan Karres says:

      Was bedeutet für dich konkret „Video auf dem Client sehr sehr langsam ist“? Abspielzeit, Verzögerung oder Framedroping? Eine Verzögerung von einigen Sekunde ist bei dieser Art des Streams völlig normal. Eine bessere Methode, die auf dem Raspberry Pi lief, fand ich leider nicht.

      Antworten
      • Michel_03 says:

        Ich geh mal davon aus das die Verzögerung gemeint ist.
        Habe auch eine Verzögerung von etwas über 4sec.

        Antworten
        • Counter says:

          Ja ich meinte die Verzögerung.
          4 Sekunden kommt hin.
          Leider läuft das nicht so flüssig wie ich dachte, trotz dem super Tutorial.

          Hab aber noch eine Frage dazu:
          wie kann ich die Framerate bei FFMPEG reduzieren?
          Bei RASpivid gehts, aber FFMPEG macht immer mit 25 Frames weiter.
          Vielleicht gehts dann besser? Habt ihr einen Tipp für mich, Ihr kennt euch da besser aus.

          Danke für eure Antworten….

          Antworten
  41. Gerhard Lechner says:

    Hallo Jan super Anleitung ich werd es heute mal ausprobieren 🙂

    Antworten
  42. Gerhard Lechner says:

    Hallo ich habs nicht hinbekommen die Led an der Kamera leuchtet und wenn ich zugreifen möchte ist das frontend aktiv und ladet bis ein timeout kommt.

    hat jemand ein backup von der config damit ich nach schauen kann was anders ist?

    lg
    Gerhard

    Antworten
  43. Franz says:

    Erst mal vielen herzlichen Dank an Jan für die Anleitung.
    Die Einrichtung der Webcam hat fast auf Anhieb funktioniert, nachdem ich eigene Fehler beseitigt hatte.
    Für den Stream-Start nach Reboot habe ich das Beispiel von Tobias vom 19. März etwas abgeändert.
    Den Eintrag PATH habe ich unverändert übernommen.
    crontab -e ohne sudo und der Eintrag:

    @reboot /home/pi/video-stream-screen.sh

    So kann man den Screen mit
    screen -S VideoStream -X quit
    stoppen und mit
    ./video-stream-screen.sh
    starten, so wie Jan beschreiben hat.

    Dann habe ich etwas rumprobiert und die Auflösung in der video-stream.sh geändert und die Anzeige auf dem Bildschirm verkleinert. Es wurde ja bemängelt, daß das Bild den ganzen Bildschirm einnimmt:
    raspivid -t 0 -w 1280 -h 720 -fps 25 -p 10,10,1280,720 -b 500000 -o - | ffmpeg -i - -vcodec copy -an -f flv -metadata streamName=myStream tcp://0.0.0.0:6666

    In der Datei /usr/share/nginx/www/video-stream/index.html habe ich folgende Änderungen durchgeführt, teils nur zwecks der Schönheit:
    Unter
    <head>
    <title>Livekamera Daheim</title></head>

    Gleich unter <body> eingefügt:
    <p align="center" style="background: #ffff00; border: 1px solid #000000; padding: 0.05cm">
    Hier steht beliebiger Text!
    </p>

    Das fügt eine Titelleiste oberhalb des Videofensters ein!

    Bei:
    jwplayer('playerNDMsrXcquXjp').setup({
    file: 'rtmp://dynDNS-Name:57999/flvplayback/flv:myStream.flv',

    Beachte die Portnummer :57999 (kann auch eine andere frei verfügbare Nummer sein), dadurch sind evtl. mehrere Kameras an einem Router und der Zugriff aus dem Web möglich.

    Letztendlich noch meine Portweiterleitungen im Router:
    Port 57998 von aussen auf Port 80 des Raspi
    Port 57999 von aussen auf Port 1935 des Raspi

    Wie erwähnt sind die Portnummern von aussen frei wählbar, sofern sie nicht anderweitig festgelegt sind (siehe http://de.wikipedia.org/wiki/Liste_der_standardisierten_Ports)

    Nun bin ich jetzt auch nicht so der Linux-Guru, wenn jemand Verbesserungen hat bitte hier schreiben!!

    Gruß Franz

    Antworten
    • petit_miner says:

      Das Problem mit dem Dyndns lässt sich leicht lösen:
      Bei Step 12 müsst ihr bei der Adresse

      rtmp://DYNDNSDESPI:57999/flvplayback/flv:myStream.flv
      beim JWplayer bei der Anmeldung anlegen.
      Anschließend müsst ihr bei eurer Fritz.box
      wie Franz es geschildert hat die Ports freigeben:

      Port 57998 von aussen auf Port 80 des Raspi
      Port 57999 von aussen auf Port 1935 des Raspi

      So könnt ihr den Pi aufrufen:

      http://DYNDNSDESPI:57998/video-stream/

      Wäre schön wenn dies der Anleitung hinzugefügt wird.
      Und warum wird Port 6666 benötigt?
      Viele Grüße petit_miner

      Antworten
  44. petit_miner says:

    Wer noch eine App sucht womit man den Stream auch von unterwegs sehen kann empfehle ich diese: https://play.google.com/store/apps/details?id=air.tv.lotusfusion.rtmp.player.one&hl=de

    Unter Server Adress müsst ihr nur das eintragen: rtmp://ADRESSEDESPI:57999/live
    Unter Stream Name nur myStream.

    Antworten
    • Jan Karres says:

      Danke für den Tipp. Habe es mal in den Artikel aufgenommen 🙂

      Antworten
    • pascal says:

      Und fuer ein extern streaming?
      „rtmp://xxxx.no-ip.org:57999/live/mystream“ ?

      Muss der Port 57999 freigegeben werden? Für TCP?

      Antworten
      • Jan Karres says:

        Freigegeben sollte, wie im Artikel angegeben, Port 1935, 80 und 57999 (alle wie immer TCP).

        Antworten
        • Martin says:

          Vielen Dank für dein tolles Tutorial Jan. Hat nach Anleitung alles bestens funktioniert – nur der Stream auf das App will einfach nicht funktionieren. Die Ports habe ich alle auf die gleiche Art freigegeben und auf dem PC kann ich auch von überall meinen Stream ansehen – nur das mit dem App will nicht funktionieren. Muss da noch etwas ergänzt werden? Wie komme ich denn dazu, dass sich der RTMP Stream plötzlich unter rtmp://IP:57999/live befindet? lg

          Antworten
  45. Tom says:

    Hallo,

    ich habe soweit, meine ich, alles nach Anleitung gemacht, aber der Nginx will mich nicht rein lassen.
    Ich bekomme die Fehlermeldung: 403 Forbidden

    Die Ausgabe des von cd ~ && ./video-stream.sh

    Ergibt das hier. Also sollte die Cam doch laufen.

    ffmpeg version N-63972-g083cd3d Copyright (c) 2000-2014 the FFmpeg developers
    built on Jan 8 2014 05:17:18 with gcc 4.6 (Debian 4.6.3-14+rpi1)
    configuration:
    libavutil 52. 89.100 / 52. 89.100
    libavcodec 55. 66.101 / 55. 66.101
    libavformat 55. 43.100 / 55. 43.100
    libavdevice 55. 13.101 / 55. 13.101
    libavfilter 4. 8.100 / 4. 8.100
    libswscale 2. 6.100 / 2. 6.100
    libswresample 0. 19.100 / 0. 19.100
    Input #0, h264, from ‚pipe:‘:
    Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p, 960×540, 25 fps, 25 tbr, 1200k tbn, 50 tbc
    Output #0, flv, to ‚tcp://0.0.0.0:6666‘:
    Metadata:
    streamName : myStream
    encoder : Lavf55.43.100
    Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuv420p, 960×540, q=2-31, 25 fps, 1k tbn, 1200k tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (copy)
    frame= 145 fps=0.0 q=-1.0 size= 345kB time=00:00:05.76 bitrate= 490.8kbits/frame= 160 fps=149 q=-1.0 size= 379kB time=00:00:06.36 bitrate= 488.7kbits/frame= 173 fps=109 q=-1.0 size= 408kB time=00:00:06.88 bitrate= 485.7kbits/frame= 184 fps= 81 q=-1.0 size= 461kB time=00:00:07.32 bitrate= 516.1kbits/frame= 203 fps= 72 q=-1.0 size= 487kB time=00:00:08.08 bitrate= 494.0kbits/frame= 216 fps= 65 q=-1.0 size= 520kB time=00:00:08.60 bitrate= 495.1kbits/frame= 230 fps= 60 q=-1.0 size= 553kB time=00:00:09.16 bitrate= 494.8kbits/frame= 243 fps= 56 q=-1.0 size= 613kB time=00:00:09.68 bitrate= 518.9kbits/frame= 255 fps= 52 q=-1.0 size= 623kB time=00:00:10.16 bitrate= 502.3kbits/frame= 269 fps= 50 q=-1.0 size= 653kB time=00:00:10.72 bitrate= 498.9kbits/frame= 283 fps= 48 q=-1.0 size= 683kB time=00:00:11.28 bitrate= 495.9kbits/frame= 296 fps= 46 q=-1.0 size= 719kB time=00:00:11.80 bitrate= 499.0kbits/frame= 308 fps= 44 q=-1.0 size= 759kB time=00:00:12.28 bitrate= 506.6kbits/frame= 321 fps= 43 q=-1.0 size= 785kB time=00:00:12.80 bitrate= 502.3kbits/frame= 336 fps= 42 q=-1.0 size= 818kB time=00:00:13.40 bitrate= 500.0kbits/frame= 350 fps= 41 q=-1.0 size= 854kB time=00:00:13.96 bitrate= 501.2kbits/frame= 363 fps= 40 q=-1.0 size= 907kB time=00:00:14.48 bitrate= 513.2kbits/frame= 376 fps= 39 q=-1.0 size= 923kB time=00:00:15.00 bitrate= 504.0kbits/frame= 389 fps= 38 q=-1.0 size= 951kB time=00:00:15.52 bitrate= 501.8kbits/frame= 403 fps= 38 q=-1.0 size= 980kB time=00:00:16.08 bitrate= 499.2kbits/^Cmmal: Aborting program

    [flv @ 0x196dc70] Failed to update header with correct duration.
    [flv @ 0x196dc70] Failed to update header with correct filesize.
    frame= 414 fps= 37 q=-1.0 Lsize= 1009kB time=00:00:16.52 bitrate= 500.5kbits/s
    video:1001kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.837757%
    Received signal 2: terminating.

    Wo könnte ich ansetzen?

    Grüße, Tom

    Antworten
    • Jan Karres says:

      Klingt nach einem Problem mit den Rechten. Hast du sicher Step 14 ausgeführt? Dieser ist dafür, dass der benannte Fehler nicht auftreten sollte.

      Antworten
  46. da0x says:

    Kann man das ganze auch mit einer Webcam durchführen? Ich bekomme die Fehlermeldungen pipe:: Invalid data found when processing input und Camera is not detected. Ansonsten funktioniert die Webcam mit sudo start motion einwandfrei und ffmpeg scheint auch vernünftig installiert zu sein.

    Antworten
  47. mele says:

    Hallo Jan, ich habe das Tutorial soweit befolgt, wenn ich jetzt aber
    cd ~
    ./video-stream-screen.sh

    screen -r VideoStream

    eingebe, kommt die Meldung: There is no Stream to be resumed matching VideoStream

    Hast Du eine Idee woran das liegen könnte?

    Gruß Mele

    Antworten
    • Jan Karres says:

      Bei euch beiden läuft der Stream nicht. Entweder habt ihr ihn nicht nach Anleitung gestartet oder durch einen Fehler in der Konfiguration kann dieser nicht starten. Welche Ausgabe erhält ihr denn, wenn ihr folgendes ausführt:

      cd ~
      ./video-stream.sh

      Antworten
  48. Jan says:

    Hallo Jan,

    viellen Dank für die Anleitung ist super.

    Kannst du mir sagen wie ich den Stream im VLC wiedergeben kann, möchte den Steam damit speichern.

    Bin im lokalem Netzwerk.

    Habe schon vielles Probiert.

    Eigendlich sollte das doch mit

    rtmp://ADRESSEDESPI:57999/live
    http://DYNDNSDESPI:57998/video-stream/
    rtmp://raspberrypi:57999/flvplayback/flv:myStream.flv

    gehen oder.

    Antworten
  49. Jan says:

    Hallo Jan,

    ich brauch mal deine Hilfe.

    Bei mir läuft das so wie oben beschrieben sehr gut, vielen Dank.

    Ich möchte mit einem mobilen Gerät ein stream Anschauen, dazu habe ich jetzt einen Accesspoint auf dem Pi eingerichtet der auch funktioniert, ip-adresse für den Laptop bekomme ich vom pi. Die nginx Startseite kann ich auch sehen.
    Und wollte jetzt den stream starten mit

    raspivid -t 0 -w 960 -h 540 -fps 25 -b 500000 -o – | ffmpeg -i – -vcodec copy -an -f flv -metadata streamName=myStream tcp://192.168.42.1:6666

    bekomme hier aber folgenden Fehler.

    tcp://192.168.42.1:6666: Connection timed out

    Die 192.168.42.1 ist die IP Adresse meines PI.

    Woran kann das liegen?

    Vielen Dank Jan.

    Antworten
    • Jan Karres says:

      Die IP-Adresse brauchst du, da nicht beschrieben, nicht anpassen (catch all). Bist du dir sicher, dass die IP-Adresse über den Accesspoint die Selbe ist wie über deinen Router?

      Antworten
      • Jan says:

        Jepp sicher, der Router ist praktisch das PI. Das macht ein eigenes Wlan Netzwerk auf. Hat keine Anbindung zum Internet und eth0 wird auch nicht genutzt.
        Ist praktisch ein Wlan Kamera Server.

        Antworten
        • Jan Karres says:

          Dann wäre mein Ansatzpunkt ob crtmpserver installiert ist bzw. ob der Service läuft (solle via /etc/init.d/crtmpserver status prüfbar sein).

          Antworten
          • Jan says:

            Der Server crtmpserver läuft noch ne idee wie ich den Fehler finden kann?

          • Jan says:

            Kann es vielleicht am DNS liegen?

            Verbinde ich das Pi mit einem Wlan kann ich es unter raspberrypi anpingen und die Namensauflösung funktioniert. Mal das Pi ein eigenes Wlan auf das erreiche ich es nur über die IP Adresse die Namensauflösung funktioniert dann irgendwie nicht.

          • Jan Karres says:

            Spontan nein, sorry.

  50. Michael Wühr says:

    Hallo Jan,

    auch hier von meiner Seite ein sehr großes Kompliment an deine Arbeit! Auch mit wenig Vorkenntnis zu dem Thema Raspberry Pi / Linux usw.. konnte ich den Stream aufstellen.

    Nun möchte ich aber direkt per Homepage den Stream STARTEN und auch wieder STOPPEN können. Hierzu habe ich mich für eine PHP5 Lösung entschieden.

    das www Verzeichnis befindet sich unter /var/www
    die Dateien „video-stream-screen.sh“ und „video-stream.sh“ habe ich unter
    /var/www/script/ abgelegt.

    Leider funktioniert das ganze momentan nicht so wie es soll – hier der Code der index.php:

    ———————————————————–

    MWE-TestStream

    > /dev/ttyAMA0"));
    $val = trim(@shell_exec("echo \x0D >> /dev/ttyAMA0"));
    echo "\"255\" + CR sent";
    }

    elseif(isset($_GET['button2'])){
    $val = trim(@shell_exec("echo 150 >> /dev/ttyAMA0"));
    echo "\"150\" sent";
    }

    elseif(isset($_GET['button3'])){
    chdir("../script");
    $val = trim(@shell_exec("/var/www/script/./video-stream-screen.sh"));
    echo "$val";
    }

    elseif(isset($_GET['button4'])){
    $val = trim(@shell_exec("screen -S VideoStream -X quit"));
    echo "$val";
    }

    ?>

    jwplayer('playerbwynqAxxnNoq').setup({
    file: 'rtmp://xxxxxxxxxxxxxxxx.selfhost.eu/flvplayback/flv:myStream.flv',
    image: '//www.longtailvideo.com/content/images/jw-player/lWMJeVvV-876.jpg',
    title: 'MWE-TestStream',
    width: '640',
    height: '360',
    autostart: 'false'
    });

    ————————————————————–

    Wenn ich die Seite lade und auch den Button „Stream ON“ drücke, bekomme ich keine Ausgabe (Bei der Ausgabe in der Shell meldet sich diese zurück mit „Video stream started…usw“) auch der Stream startet nicht.

    Wenn ich den Button „Stream OFF“ drücke, bekomme ich die Ausgabe „No screen session found“ – was mich vermuten lässt, dass der „Stream OFF“ Button funktioniert.

    Könntest du mir helfen dieses Problem zu lösen?

    Viele Grüße und Danke
    Michael

    Antworten
  51. Michael says:

    Hallo Jan,

    danke für die Anleitung. Ich habe auch alle Schritte durchgeführt mit jeweils einem positiven Ergebnis.
    Leider kann sich der Video-Player nicht mit dem Server verbinden.
    Wenn ich in meinem Browser folgendes eingebe …
    http://10.0.0.6/video-stream/
    … kommt dann zwar der Player mit NewYork, wenn ich den aber Starte kommt die Fehlermeldung „Error loading stream: Could not connect to server“
    Kannst du mir weiterhelfen, was ich noch ausprobieren kann?

    Danke! Michael

    Antworten
    • Jan Karres says:

      Bist du dir sicher, dass die IP-Adresse deines Raspberry Pis 10.0.0.6 lautet? Klingt für mich nicht ganz so stimmig…

      Antworten
      • Michael says:

        Die IP Adresse ist bei mir im internen Netz 10.0.0.6
        Ich komme auch mit dieser Adresse mittels SSH auf den Raspberry hin.

        Wie kann ich überprüfen, ob der Streaming-Server von Schritt 7 korrekt funktioniert?

        Antworten
        • Michael says:

          Hallo,
          jetzt habe ich alle deine Schritte nochmals durchgeführt, allerdings mit dem gleichen Ergebnis.

          Der Player schreibt:
          Error loading player:
          No playable sources found

          Ich starte das Video mittels:
          pi@Video1:~$ ./video-stream-screen.sh
          Video stream started

          und wenn ich dann „screen -r VideoScreen“ absetze kommen laufend diese Zeilen:

          frame= 1608 fps= 28 q=-1.0 size= 3958kB time=00:01:04.28 bitrat
          frame= 1622 fps= 28 q=-1.0 size= 4004kB time=00:01:04.84 bitrat
          frame= 1634 fps= 28 q=-1.0 size= 4024kB time=00:01:05.32 bitrat
          frame= 1647 fps= 28 q=-1.0 size= 4055kB time=00:01:05.84 bitrat
          frame= 1661 fps= 28 q=-1.0 size= 4088kB time=00:01:06.40 bitrat

          Sollte es dann nicht funktionieren? Trotzdem zeigt
          mit der Player kein Bild.
          Woran kann das liegen?

          Antworten
          • Jan Karres says:

            Solle funktionieren. Probier doch mal über eine DynDNS mit geöffnetem Port auf den Stream zuzugreifen. Wäre spontan so meine einzige Idee.

  52. petit_miner says:

    Hat sich schon jemand damit befasst ob der Stream sich auch auf IOS anschauen lässt?

    Antworten
  53. Johannes says:

    Hallo Jan,
    bin deiner Anleitung bis zum Ende gefolgt, aber wenn ich den Stream über den Raspberry starte wird nur ein Bild der Cam auf dem angeschlossenen Bildschirm des Raspberry gezeigt und nicht ins Internet übertragen. Denn wenn ich die Adresse http://DYNDNS/video-stream/ eingebe bei Chrome, kommt nur die Meldung: Diese Webseite ist nicht verfügbar.

    Antworten
  54. Jan says:

    Danke erstmal für die Anleitung, klappt alles so wie beschrieben!

    Ich versuche gerade etwas mit der Auflösung und den FPS zu experimentieren, konkret Full HD bei 6 fps. Ich bekomme zwar ein Bild im JWPlayer, allerdings scheint es so als würden ‚genug‘ Frames gesammelt werden um sie dann schnell abzuspielen, d.h. ich habe für einige Sekunden Standbild, dann aber eine schnelle Abfolge von Bildern. Mir scheint als würde irgendwo in der Kette noch eine Komponente auf 25 fps warten. Ich habe nur in der video-stream.sh die Framerate angepasst, sprich

    raspivid -t 0 -w 960 -h 540 -fps 25 -b 500000 -o – | ffmpeg -i – -vcodec copy -an -f flv -metadata streamName=myStream tcp://0.0.0.0:6666

    in

    raspivid -t 0 -w 1920 -h 1080 -fps 6 -b 500000 -o – | ffmpeg -i – -vcodec copy -an -f flv -metadata streamName=myStream tcp://0.0.0.0:6666

    geändert-

    Muss ich das noch irgendwo anders anpassen? Beim crtmpserver? Oder beim JWPlayer?

    Laut Ausgabe scheint ffmpeg mit den 6 fps zurecht zu kommen:

    […]
    frame= 1859 fps=6.5 q=-1.0 size= 18906kB time=00:01:14.36 bitrate=2082.8kbits/
    frame= 1863 fps=6.5 q=-1.0 size= 19001kB time=00:01:14.52 bitrate=2088.8kbits/
    frame= 1867 fps=6.5 q=-1.0 size= 19023kB time=00:01:14.68 bitrate=2086.8kbits/
    frame= 1870 fps=6.5 q=-1.0 size= 19044kB time=00:01:14.80 bitrate=2085.6kbits/
    frame= 1874 fps=6.5 q=-1.0 size= 19083kB time=00:01:14.96 bitrate=2085.4kbits/
    […]

    Danke für evtl. Hilfe!
    Jan

    Antworten
  55. Georg Burkhard says:

    Hallo, vielen Dank für die guten Anleitungen. Was mich noch bei dieser Anleitung noch fehlt ist wie ich die Raspi Cam dazu bringe html 5 Videos (m3u8) zu stremmen. Gibt es hierfür auch eine Anleitung? Habe bis jetzt noch keine gefunden.
    Vielen Dank!
    G.Burkhard

    Antworten
  56. Micha says:

    Hallo,

    ist es möglich noch eine USB-Webcam zusätzlich zu integrieren?

    Also so das ich ein Stream von der PiCam habe und eins von der Webcam?

    ich finde den Punkt nicht wo ich das in FFmpeg konfigurieren kann?

    Antworten
  57. Lukas Langer says:

    Hallo Jan
    ich habe ein Problem bei Step 5 ich bekomme dort nur diese Meldung:
    „There is a screen on:
    6449.pts-1.raspberrypi (06/10/14 13:49:50) (Attached)
    There is no screen to be resumed.“

    und bei Step 4 kommen oft warnings und am Schluss ein Error:
    „make: ***[libswscale/libswscale.a] Error 1“
    Würde mich sehr über eine Rückmeldung freuen

    Mfg
    Langer Lukas

    Antworten
  58. Jan says:

    Ok, ich hänge an einem denke ich mal ganz Simplen Problem. Wie schalte ich die Kamera ein? Ich bin ALLE Schrtitte durchgegangen. (in raspi-Config ist die AN) aber im Betrieb an sich ist die aus. Unbd eine ausgeschaltete Kamera kann naztürlich keinen Stream liefern.

    Antworten
    • Jan Karres says:

      Wenn sie richtig angeschlossen und funktionstüchtig ist musst du sie nur, wie von dir wohl schon genannt, in raspi-config aktivieren. Dann sollte sie funktionieren.

      Antworten
  59. Marcus says:

    Warum geht die ffmpeg Version von apt-get nicht?

    Antworten
  60. JD says:

    Hallo,

    schöne Anleitung, hat sofort funktioniert. Ich wollte die beiden .sh danach in einen Unterorder legen aber dann funktioniert es nicht mehr.

    Hast Du eine Ahnung, warum nicht?
    Vielen Dank.

    Antworten
  61. R. Koch says:

    Danke für die Super Anleitung. Gibt es eine Möglichkeit zumindest den Zugang von aussen über eine Passwortabfrage zu beschränken?

    Antworten
  62. Paul says:

    Hi,
    Ich hätte dann auch noch ne Frage:
    Ich habe dieses super Tutorial von dir step by step befolgt und es hat auch geklappt.
    Das Streamfenster auf dem Desktop des Raspis hat sich geöffnet.
    Jedoch kam auf der entsprechenden Webseite, unter der eigentlich mein Stream laufen sollte, von jwPlayer ein schwarzer Kasten und folgende Mitteilung: ‚ There was an error retrieving your embed.:
    Please double check your hosted URL in your JW Dashboard.‘

    Da stellt sich mir als Laie die Frage: What? Was ist der Fehler?

    Nun bin ich auf der Fehlersuch fündig geworden und es stellte sich heraus, dass ich in Step 9 beim erstellen Der ‚video-stream.sh‘ -Datei nach dem -o folgendes vergessen hatte dazuzuschreiben:
    – | ffmpeg -i – -vcodec copy -an -f flv -metadata streamName=myStream tcp://0.0.0.0:6666

    Dies habe ich dann ergänzt und gespeichert.

    Wenn ich jedoch nun erneut probiere den stream zu öffnen, öffnet sich für einen Bruchteil einer Sekunde das Kamerabildfenster auf dem Raspi-Desktop und schliesst sich SOFORT wieder.

    Als Ausgabe bekomme ich nur „Video stream started To view the (…) screen -r VideoStream

    Das würde doch eigentlich nur bedeuten, dass alles super funktioniert.

    Ich bin ratlos! Deshalb wäre ich dir sehr verbunden, wenn du mir baldig mit ein oder auch ein paar mehr Ratschlägen zu Seite stehen würdest.
    Wenn sonst noch jemand eine Lösung für dieses Problem gefunden hat, BITTE HELFT MIR!!

    Antworten
  63. Adrian says:

    Hallo Jan,
    Ich habe dein tutorial durchgearbeitet und muss sagen,dass es wirklich das beste zu PiCam ist da andere mit dem uv4l treiber arbeiten. Ich habe nur ein problem: Ich kann den Videostream nicht starten, da bei mir immer die Fehlermeldung: ./video-stream-screen.sh : Zeile 3: screen: Kommando nicht gefunden.
    Die folgenden Beffehle erkennt er auch nicht und auf der Website ist nur ein schwarzes Fenster indem steht: Error loading player:
    No playable sources found

    Was soll ich tun damit es funktioniert? Wozu ist der screen befehl da und macht es einen unterschied, ob ich den pi per ssh oder mit bildschirm verwende?
    Ich bin noch Neuling auf diesem Gebiet und würde mich auf baldige Rückmeldung freuen

    Antworten
    • Adrian says:

      Nochmal zu meiner frage das mit screen hat sich geklärt ich musste noch screen installieren

      Antworten
      • Paul says:

        Hi Adrian,
        Hat sich des Problem mit dem Stream auf der Website denn auch gelöst?

        LG
        Paul

        Antworten
      • Adrian says:

        Das mit dem Stream hat sich leider immernoch nicht gelöst. Der stream läuft jetzt zwar aber er lässt weder im browser meines iphones noch in dem des laptops oder pis abspielen. (Im moment läuft alles noch lokal). Die schwarze anzeige bleibt mit der Aufschrift: no playable sources found .

        Ich hab das tutorial jetzt schon mehrfach durchgearbeitet und immer noch keine lösung gefunden.

        Antworten
        • Jan Karres says:

          Hast du sichergestellt, dass, wie am Ende des Artikels beschrieben, die nötigen Ports geöffnet sind, sodass der Stream auch außerhalb deines Netzwerks verfügbar ist?

          Antworten
  64. LarsM says:

    Ich danke an dieser Stelle auch einmal für die ganze Mühe auf diesem Blog.
    Ich habe auch gerade ein Problem, mit dem ich nicht weiterkomme und hoffe auf rat.

    wenn ich den Stream nach der vollständigen Konfiguration starte, sehe ich diesen zwar auf dem HDMI-Ausgang des Pi, aber im Browser (Chrome, IE) dreht sich nur das Rädchen, der Firefox meldet „No playable sources found“. Also ist sowohl der NGIX, als auch der JWPlayer korrekt konfiguriert.

    Ich mache mir vorerst noch keine Gedanken um Portfreigabe, da ich das ganze erstmal im Heimnetzwerk zum laufen bekommen möchte.

    Der VLC meldet mir: VLC kann die MRL ‚rtmp://192.168.178.101/flvplayback/flv:myStream.flv‘ nicht öffnen.

    Wo liegt hier der Fehler? Arbeitet der CRTMP-Server nicht einwandfrei? Laufen tut er zumindest (Ausgabe nach ps)

    2930 ? Ss 0:00 /usr/sbin/crtmpserver –daemon –uid=0 /etc/crtmpserver/crtmpserver.lua

    Antworten
    • Jan Karres says:

      Im VLC Player läuft der Stream nicht – ein Grund warum wir den Player auf der HTML-Seite verwenden. Öffne doch einmal die Ports. Ich bin mir nicht mehr sicher, aber es könnte sein, dass der Player den Stream über das Netz abholt.

      Antworten
  65. Horst says:

    Hallo Jan

    Wirklich tolle Anleitungen die du hier machst.

    Ich habe leider ein Problem beim git clone.
    nach dem Befehl

    sudo git clone git://source.ffmpeg.org/ffmpeg.git

    bekomme ich immer die Meldung

    fatal: read error: Die Verbindung wurde vom Kommunikationspartner zurückgesetzt

    Die Internetverbindung von meiner Seite funktioniert

    Antworten
  66. Armin says:

    Hallo bei mir kommt zum schluss leider das hier und stream startet nicht.

    pi@raspberrypi ~ $ ./video-stream-screen.sh
    ./video-stream-screen.sh: Zeile 3: screen: Kommando nicht gefunden.
    Video stream started
    To view the stream console output use the following command:
    screen -r VideoStream

    Antworten
    • petit_miner says:

      Ganz klarer Fehler , screen ist nicht installiert.
      Lösung: sudo apt-get install screen

      Antworten
      • Armin says:

        Hi danke erstmal fürs melden. Bei welchen Step bzw schritt muss ich sudo apt-get install screen installieren?

        Antworten
        • petit_miner says:

          Das kannst du jetzt nachholen.

          Antworten
          • Armin says:

            Hi danke fürs antwort. Habe jetzt alles neu gemacht und bin erst bei step 5 und da dachte ich wenn ich schon von vorne mache ob sie mir dann sagen könnten bei welchen step ich das dann ausführen soll? Also wie gesagt bin erst bei step 5. Lg

          • petit_miner says:

            Normalerweise hättest du screen schon ab step 2 installiert haben müssen.
            Aber wegen Screen musst du nicht alles neu machen!
            Wenn du ihn jetzt nachträglich installiert ist alles ok.
            screen benötigst du erst ab step 4

  67. mubin says:

    Hallo,
    Eine tolle Tutorial, danke!
    Allerdings habe ich Problem, Ich sehe keine Video im Browser. Ich habe alle Schritte richtig gemacht.
    1.Kamera aktiviert durch raspi-config, raspistill funktioniert.
    2.Ich habe die Befehl raspivid getestet, der gibt viele ASCII Zeichen im Konsol.
    3../video-stream.sh funktioniert, also ffmpeg program erzeugt viele Daten und letzte Zeile gibt Information aus wie: frame:49308 fps:25 size:… ..
    4.Portfreigabe am Router erledigt.
    5.crtmpserver status abfrage: [ok] …
    6.Wenn ich IP/video-stream/ im Browser eingebe, bekomme ich den Player, drücke ich „Play“-Taste aber gibt es kein Video: Error, Videosource not found, obwohl videostreaming funktioniert.

    Woran liegt das Problem?
    Danke.

    Antworten
    • mubin says:

      Ich habe endlich gelöst 🙂 Das Problem war falsche URL in der Datei index.html.
      Ich habe einfach getippt und …flv:myStream.flv ‚ gescrieben statt flv:myStream.flv‘. Also nur ein Leerzeichen am Ende hat verursacht. Ich habe es gelöscht und jetzt funktioniert es 🙂

      Antworten
  68. Sascha says:

    Hallo bei funktioniert die Kamera nur 5 Sekunden danach kommt bei deinem Befehl zum testen was falsch ist hinter der in Adresse „no such file or directory

    Antworten
  69. Sascha says:

    Hallo hatte Index im falschen Ordner habe nur noch ein Problem
    Kamera startet aber geht nach 5 Sekunden wieder aus

    Antworten
    • Sascha says:

      Hallo Ich hbas hinbekommen lag bei mir nur an einem . statt : Zeichen. Aber andere Fragy Dyndns mit no ip hab mir dein tut angeschaut dazu auf dem raspberry nur weis ich nicht wo ich für die kamera was ändern bzw am modem?

      Antworten
  70. Phil says:

    Hallo Jan, super Tut!
    Wie kann ich diesen RTMP Stream aufzeichnen?
    Habe es mit rtmpdump probiert aber leider ohne Erfolg

    Danke

    Antworten
  71. Carsten says:

    Moinsen, erstmal Danke für die klasse Arbeit, ich hab folgendes Problem. Nach der Konsoleneingabe von „cd ~
    ./video-stream-screen.sh“ (Step 15) läuft alles Prima, dann hab ich in der letzten Zeile der crontab „@reboot cd ~ && ./video-stream-screen.sh“ eingetragen und nach dem Neustart regt sich nichts. Nachdem ich wiederum „cd ~./video-stream-screen.sh“ in die Konsole eingegeben habe das geiche Spiel, bis zum Neustart alles top 🙁
    Hat jemand ne Idee?
    LG aus dem Ruhrpott

    Antworten
    • Jan Karres says:

      Versuch doch mal folgendes per Hand auszuführen und schau ob du da einen Fehler erhält.

      cd ~ && ./video-stream-screen.sh

      Antworten
  72. Markus Walter says:

    Hi, ich bin durch etwas suchen über Google auf diesen tollen Artikel gestoßen. Ich habe vor mir in 2 Monaten den Raspberry Pi 2 zu holen und ein Monat später die Kamera.
    Was mich plagt weil ich in diesen Bereich nun Neuland betrete;

    – Ist diese Lösung auch mit den 2er Modell möglich?

    – Ist es evtl. möglich auch die Auflösung zu erhöhen?

    – Bei diesen Livestream kann man das Bild auch vergrößern?

    – Bei dieser Methode werden die Materialien ja direkt gestreamt und nicht gespeichert, richtig? So dass ein Stream auch mal 1-2 Monate durchlaufen kann?

    – Was mich dabei Interessiert, ist es zwischendrin auch möglich mal für ein halben Tag oder so eine Zeitgesteuerte Aufnahme auf der SD oder ein Netzlaufwerk zu machen? Mit LiveStream natürlich. Nach dieser Zeit stopt die Aufnahme auf den Speichermedium.

    Diese Dinge würden mich Interessieren und möchte ich mich auseinander setzen wenn ich den habe. Zu mal Programmieren kann ich nicht. Geschweige mit Linux hab ich auch schon lange nichts mehr am Hut gehabt. Das sich aber dann bald ändern wird. 🙂

    Antworten
    • Jan Karres says:

      Auf dem Raspberry Pi 2 sollte es ebenso funktionieren und, auf Grund der Mehrleistung des Rechners, auch in höherer Auflösung. Zoomen kannst du mit dem Kamera Modul nicht. Bei diesem Artikel gibt es nur einen Live-Stream. Nichts wird permanent gespeichert. Speichern und Livestrem zugleich habe ich mit dem Kamera Model leider nicht hinbekommen.

      Antworten
  73. Johannes says:

    Hallo Jan,

    bei mir funktioniert der Step 3 nicht. Wenn ich den Sourcecode von ffmpeg laden möchte, kommt immer folgende Fehlermeldung:

    sudo git clone git://source.ffmpeg.org/ffmpeg.git
    Cloning into ‚ffmpeg’…
    fatal: unable to connect to source.ffmpeg.org:
    source.ffmpeg.org[0: 88.191.250.118]: errno=Die Wartezeit f?r die Verbindung ist abgelaufen
    source.ffmpeg.org[1: 2a01:e0d:1:3:58bf:fa76:0:1]: errno=Die Adressfamilie wird von der Protokollfamilie nicht unterst?tzt

    Hast du eine Ahnung was da der Fehler ist? Gibt es diese Seite nicht mehr? Meine Internetverbindung funktioniert einbahnfrei.

    Danke und Gruß
    Johannes

    Antworten
  74. Bernd says:

    Hallo, habe festgestellen müssen das die Seite vom JW Player jetzt anders ist. Kann leider nicht wie in Step 12 verfahren :-(.

    Antworten
  75. nico says:

    Hi!
    Ich habe alles nach der Anleitung gemacht habe aber folgendes Problem:
    Wenn ich den Stream starte erfolgt auch die echo Ausgabe „To view the stream……“
    gebe ich screen -r VideoStream ein sagt der mir aber, dass es diesen screen nicht gibt.
    Und wenn ich den Stream im Browser öffne, steht da Service unavailable.

    Jemand eine Idee woran es liegen könnte?

    Antworten
  76. fhuesser says:

    Herzlichen Dank, dass du die Mühe machst, alle Schritte so detailliert zu schildern!
    Mir ist bewusst, dass der Artikel schon etwas alt ist. Trotzdem eine kurze Frage dazu.

    Der Stream auf meinem Raspi scheint grundsätzlich zu funktionieren. Zumindest bekomme ich mit

    “ cd ~ && ./video-stream.sh“
    eine Ausgabe, die so aussieht frame=9xx fps=28 q= 3xxx etc.

    Das mit dem jwplayer funktioniert nicht, ist mir aber auch nicht so wichtig. Wenn ich dein HowTo richtig verstanden habe, müsste ich meinen Stream mit rtmp://IP/flvplayback/flv:myStream.flv lokal in VLC oder modernem Browser sehen können?

    Und das wäre eigentlich mein Vorhaben im Moment.

    Leider weigert sich mein VLC grad…

    Stimmt meine Annahme?

    Grüsse
    Fabian

    Antworten
    • Jan Karres says:

      Das sollte in der Regel, wenn du davor alles richtig gemacht hast, so funktionieren.

      Antworten
      • familiegeissler says:

        Hallo Jan,

        die Seite JWPlayer wurde scheinbar geändert. Kannst Du das hier auf der Seite vielleicht noch anpassen?
        Ich bekomme beim Rumprobieren nur ein Javascript- und ein IFrame-Feld angezeigt.

        Bis zu diesem Punkt war Dein Tutorial perfekt für mich.
        Danke

        Antworten
  77. Jan says:

    Die Sache mit den 5-6 Stunden für’s Compilieren kann man sehr bequem auf 1-2 Stunden reduzieren: Neuere Raspberrys haben 4 Kerne, also kann man mit einem sudo make -j 4 das ganze Parallelisieren.

    Antworten
  78. Gerald says:

    Hi, ich habe Deine Anleitung Schritt für Schritt befolgt. Nun habe ich aber ein Problem bei Punkt 12. Der hersteller des JWPlayers hat ja nun die Version 7 draussen, auch die Webseite sind anders aus. Ich finde einfach nicht die Felder wo ich meine Daten angeben muss. Auch gibt es keine 2 Codeschnipsel sondern nur einen wenn ich einen Player erstellt habe. Hast Du da einen Tipp für mich?

    Antworten
  79. Roman says:

    Hallo Jan,
    Danke für die Tutorials,
    ich hänge beim kompiilieren es kommen immer wieder fehler und irgendwann bleib alles stehen :/
    z.B.: libavcodec/vp9_mc_template.c:39:65:…

    Grüße
    Roman

    Antworten
  80. Tom says:

    Moin Moin,

    ich bin seit gestern Besitzer eines Pi3 und wollte mal fragen ob die obige Lösung (erst einmal vielen Dank dafür) auch mit diesem Modell sowie dem aktualisierten Kamera Modul V2 funktionieren würde?

    Viele Grüße

    Antworten
  81. Kai says:

    hallo Jan, ich habe folgendes Problem:
    Bis zu Step 11 ist ja alles super, ich habe auch einen jw player account, aber auf der jw player website selbst komme ich mit meinem Player nicht zurecht, kann es sein, dass es inzwischen eine neue Version von jw player gibt? ich finde zum Beispiel nirgends ein Eingabefeld für Media File(Step 12). Wäre es möglich, mir eine Schritt für Schritt Anleitung
    zu geben? So schaffe ich es nämlich nicht.

    Grüße Kai

    Antworten
  82. 4711engel says:

    Vielen Dank für das tolle Tutorial. Das habe ich sogar als Anfänger verstanden. Ich habe nur zwei Fragen:
    1) Nach dem Besorgen des jwplayer (step 12) habe ich aber nur einen Code bekommen. Diesen für den -Teil. Ich habe diesen in die index.html einkopiert und gemäß stp 15 gestartet. Der Stream war im Raspi-Display und im Browser meines PCs zu sehen. (mit ca. 5 Sek Verzögerung). Wie oder warum benötige ich den Code für ?
    2) Ich wollte dann die Pi-Cam per crontab -e gemäß step 16 automatisch beim Start mit starten. Dieses hat bei mir aber nicht funktioniert. Cam startet nicht, sondern ich erhalte den normalen Desktop. ???

    Antworten
    • 4711engel says:

      In meinem Post ist Text verschwunden:
      zu 1) ich habe nur den Code für den head-Teil bekommen und in die index.html einkopiert. Der Codeteil für den body fehlte

      Antworten
      • 4711engel says:

        zu stepm 16:
        wenn ich crontab entsprechend Tutorial eingebe, dann leuchtet am Display des raspi nur ganz kurz das Cam-Bild auf und dann nach einem schwarzen Fenster der normale raspi-Desktop.

        Antworten
  83. 4711engel says:

    Schade um ein schönes Tutorial und einen Blog, wenn er nicht gepflegt wird. Das ist wie ein gutes Essen, was man einfach auf dem Herd stehen lässt.
    Ich hatte eigentlich gehofft, dass man hier über mögliche Probleme spricht und daraus lernen kann.
    Aber Foren, die nicht leben gibt es im Netz viele. Schade um die Zeit.

    Antworten
  84. Jürgen Gawlik says:

    Hallo Jan,

    ich bin neu in der Raspberry-Scene.
    Desshalb habe ich mich auf deine Seite eingeschossen.
    Hier finde ich alles was ich brauche. Danke

    Aber: ich komme bei der Anmeldung (Installation) vom
    JWPlayer nicht klar.

    kannst du mir die Anmelde-Schritte erklären.

    Zuviel verlangt.?

    ich habs versucht

    Trotzdem Danke für die tolle Seite.

    Grüß Jürgen

    Antworten
  85. Florian says:

    Ich habe das Problem, dass ich zwar auf den Stream vom Heimnetzwerk aufrufen und sehen kann, aber von Aussen kommt immer eine Fehlermeldung,

    Error, kein Serverkontakt.

    Wenn ich cd ~ && ./video-stream.sh eingebe kommt folgendes:

    ffmpeg version N-62573-gcd4faed Copyright (c) 2000-2014 the FFmpeg developers
    built on Apr 20 2014 18:20:34 with gcc 4.6 (Debian 4.6.3-14+rpi1)
    configuration:
    libavutil 52. 77.100 / 52. 77.100
    libavcodec 55. 58.105 / 55. 58.105
    libavformat 55. 37.101 / 55. 37.101
    libavdevice 55. 13.100 / 55. 13.100
    libavfilter 4. 4.100 / 4. 4.100
    libswscale 2. 6.100 / 2. 6.100
    libswresample 0. 18.100 / 0. 18.100
    mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
    mmal: camera component couldn’t be enabled
    mmal: main: Failed to create camera component
    mmal: Failed to run camera app. Please check for firmware updates

    pipe:: Invalid data found when processing input

    Was kann mein Fehler sein? Ich habe die oben angegebenen Ports freigeschalten

    Alle einzeln mit meinem Speedport W 700V oder hätte ich Alle gleichzeitig mit der gleichen Regel freigeben sollen? Also 80,1935,6666 anstatt jeden einzelnen, in einer eigenen Regel.

    Wenn ich mir die Kommentare so durchlese, dann hätte es auch durchaus sein können, dass ich zuerst ffmpeg installieren hätte müssen und danach wieder deinstallieren, doch bevor ich mir die ganze Arbeit nochmal mache frage ich lieber nach. 😉

    Danke übrigens für die Tutorials, die sind alle super.

    Antworten
  86. Jan Karres says:

    Klingt für mich so als sei die Kamera in raspi-config nicht aktiviert oder nicht ordentlich angeschlossen. Hast du diese beiden Dinge denn schon mal geprüft?

    Antworten
  87. 4711engel says:

    Hi,
    ist dieser Blog noch aktiv?
    Leider gibt es keine Reaktionen mehr.

    Antworten

Trackbacks & Pingbacks

Antworten

Kommentar verfassen

JanKarres.de © 2007-2018