Raspberry Pi: Kamera Stream Broadcast realisieren
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
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
disable_camera_led=1
Anschließend folgenden Befehl ausführen
sudo reboot
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
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
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
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
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
[...] INSTALL libavutil/xtea.h INSTALL libavutil/lzo.h INSTALL libavutil/avconfig.h INSTALL libavutil/ffversion.h INSTALL libavutil/libavutil.pc
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
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
validateHandshake=true, keyframeSeek=true, seekGranularity=1.5, --in seconds, between 0.1 and 600 clientSideBuffer=12, --in seconds, between 5 and 30
ersetzen durch
validateHandshake=false, keyframeSeek=false, seekGranularity=0.1, clientSideBuffer=30,
Jetzt müssen wir, damit die geänderten Einstellungen wirksam werden, crtmpserver neustarten.
sudo service crtmpserver restart
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
#!/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
nano video-stream-screen.sh
Inhalt der Datei
#!/bin/bash screen -dmS VideoStream ./video-stream.sh echo "Video stream started" echo "To view the stream console output use the following command:" echo "screen -r VideoStream"
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
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).
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.
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)
<!DOCTYPE html> <html lang="de"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Demo Title</title> <!-- JWplayer --> <script src="https://jwpsrv.com/library/z5V7TllCEeOs8iIACqoGtw.js"></script> </head> <body> <!-- JWplayer --> <div id='playerZaIZzFythhhe'></div> <script type='text/javascript'> jwplayer('playerZaIZzFythhhe').setup({ file: 'rtmp://192.168.178.28/flvplayback/flv:myStream.flv', image: 'https://www.longtailvideo.com/content/images/jw-player/lWMJeVvV-876.jpg', width: '100%', aspectratio: '16:9', fallback: 'false', primary: 'flash' }); </script> </body> </html>
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
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
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
@reboot cd ~ && ./video-stream-screen.sh
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.
249 Kommentare. Hinterlasse eine Antwort
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
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.
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
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,
Dankeschön. Habe es verbessert 🙂
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
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.
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
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.
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?
In Step 9 wird das Kommando raspivid verwendet. Eine ausführliche Liste an Parametern für Raspistill und Raspivid, einschließlich Spiegelungen, findest du in meinem Blog.
Ist erledigt. Musste den Parameter -vf aus der Zeile für raspivid in Step 9 löschen nun ist das Bild richtig rum. Danke für den Tipp.
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
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
Nein, ich habe es lediglich an meinen Windows und Mac Rechnern probiert. Jedoch soll lt. Hersteller der Player mit aktuellen Android Geräten kompatibel sein.
Ich habe folgende Fehlermeldung: „error loading stream; Could not connect to the server“. Aus dem PC zu Hause mit Opera oder Firefox (Windows). Woran kann sowas liefen?
Bist du sicher, dass der Stream läuft?
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?
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
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?
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
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?
So 5-6 Sekunden Verzögerung sind bei dieser beschriebenen und auf dem Raspberry Pi möglichen Art normal.
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 😉
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
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
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.
hi,
da muss man noch mal überprüfen, ob es funktioniert, wenn man auf Os und nullen achtet
dann hats bei mir geklappt
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
Perfekte Anleitung; sogar für mich als Laie sofort machbar. Danke! Genau so Menschen wie Dich braucht das Land!!
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
also ich habe das 0.0.0.0 nicht verändert; und es funktioniert…
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.
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?
Ist die URL zum Stream, die im Webplayer eingetragen ist, von außen denn erreichbar?
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.
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.
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
Ohne zu wissen, was für eine Fehlermeldung du bekommst ist es schwer zu helfen… 😉
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
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 😉
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
Wäre einen Versuch wert.
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
Bist du dir sicher, dass der Videostream läuft?
Hi Jan,
zumindest sehe ich das Video auf dem Monitor, wenn ich die video-stream-screen.sh starte.
Micha
Und du bist dir auch sicher, dass der im Player definierte Link zum Videostream (IP muss ersetzt werden) richtig ist?
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
Da ich die Kamera momentan zum Streamen selbst nicht installiert habe kann ich dir die Daten leider nicht schicken, sorry.
aber der Link zum Player scheint richtig zu sein, oder? Wo könnte ich noch ansetzen
Micha
Ich habe leider keine Idee mehr. Vielleicht versuchst dus einfach noch mal neu – und hast auf dem Weg irgendwo einen weiteren Fehler gemacht.
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 🙂
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
Hab ich im Artikel ergänzt. Danke für den Hinweis!
….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……..
In der grafischen Oberfläche kannst du doch das Programm „Terminal“ aufrufen und in diesem den Befehl eingeben.
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??
Keine grafische Oberfläche ist ja schon positiv. Wo liegt dann das Problem den Befehl einzugeben?
Hallo Jan
Gibts einen Grund , warum das alles nicht auch mit jeder anderen Webcam tun sollte?
Gruß knut
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 😉
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)
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.
Dann wird das wohl schlicht und einfach nicht gehen – außer über SSH.
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
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!
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…
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
Ports sind sowieso noch so ein Problem bei allen meinen Artikeln. Muss ich, wenn zeit ist, mal überall überarbeiten 😉
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
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…
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
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?
Dazu kann ich dir meinen Artikel Raspistill und Raspivid Parameter empfehlen in dem alle relevanten Paramenter erläutert werden. Darunter auch
--preview
.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
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
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
Eigenartig. Ich bekomme hier den Fehler nicht rekonstruiert, weshalb ich auch nicht wirklich eine Lösung parat habe…
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..
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.
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.
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.
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?
„sudo “ am Anfang des Befehls hinzufügen und fertig ist die Laube.
Wie Thomas sagt. Steht auch so im Artikel.
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
Ich würde mal tippen, dass du nicht, wie in Step 11 beschrieben, nginx installiert hast.
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.
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
[…] ok…aku cuba setup cara germany punya..baru jer jumpa site nii…menarik….mari kita cuba….https://jankarres.de/2013/12/raspberry-pi-kamera-stream-broadcast-realisieren/ […]
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.
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?Hi,
ist dieser Blog noch aktiv?
Leider gibt es keine Reaktionen mehr.
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…..
Hallo,
hänge mich der Frage von Andre an. Habe das gleiche Problem (die gleiche Herausforderung 😉 )
LG
Herbert
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.
……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)
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
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
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.
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
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
Greift denn der Player vielleicht über eine externe IP-Adresse/DynDNS Domain auf den Stream zu? Falls ja, sind die benötigten Ports freigeben?
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?
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
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
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/
Sieht doch nun besser aus. Funktioniert es denn jetzt?
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 🙁
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 🙁
so, jetzt läuft es. irgendwo muss unter step 13 ein tippfehler bei mit gewesen sein 🙂
vielen dank jan. die anleitung ist top!
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
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?
Ne, wollte intern, also im Heimnetz darauf zugreifen. Leider ohne erfolg -.-
Bist du dir sicher, dass der Stream läuft? Welche Ausgabe erhältst du denn bei folgendem Kommando?
cd ~ && ./video-stream.sh
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
Klingt so als sei die Kamera in raspi-config nicht aktiviert oder nicht ordnungsgemäß angeschlossen.
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?
Habe zu spät deine Antwort gelesen, welche Ports müssten denn geöffnet werden?
„Port 80 (für http) und Port 1935 (für jwplayer)“ – von Tobias aus den Kommentaren.
Bist du dir denn sicher, dass der Videostream läuft? Was für eine Ausgabe erhältst du denn bei folgendem Kommando?
cd ~ && ./video-stream.sh
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???
Unter 6666 läuft ffmpeg, worauf du aber nicht direkt zugreifst. Bist du dir denn sicher, dass der Stream läuft?
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.
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.
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.
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ß
Habs hinbekommen… hab wohl beim jwplayer anlegen irgendwas falsch gemacht. Gruß
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.
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.
Ich glaube anhand dieser Fehlermeldung eher weniger, dass die Kamera funktioniert. Wie hast du das denn valide geprüft?
Was du machen kann:
Klasse Anleitung.
Gibt es eine Möglichkeit das ganze via https zu schützen? Mit Benutzer und Passwort abfrage?
Könnte man machen. Die Stichwörter lauten SSL Zertifikate in Nginx einbauen und HTTP Authentication in Nginx.
Danke dir. Werde mal versuchen ob ich das hin bekomme.
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?
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.
Ich geh mal davon aus das die Verzögerung gemeint ist.
Habe auch eine Verzögerung von etwas über 4sec.
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….
War gar nicht so leicht herauszufinden, aber so wie in diesem Artikel beschrieben sollte es funktionieren 😉
Hallo Jan super Anleitung ich werd es heute mal ausprobieren 🙂
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
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
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
Stimmt, 6666 braucht man wahrscheinlich nur intern. Habe ich verbessert. Danke!
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.
Danke für den Tipp. Habe es mal in den Artikel aufgenommen 🙂
Und fuer ein extern streaming?
„rtmp://xxxx.no-ip.org:57999/live/mystream“ ?
Muss der Port 57999 freigegeben werden? Für TCP?
Freigegeben sollte, wie im Artikel angegeben, Port 1935, 80 und 57999 (alle wie immer TCP).
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
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
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.
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.
Das Tutorial ist lediglich auf das Kamera Modul für den Raspberry Pi ausgelegt.
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
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
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.
rtmp://IP/flvplayback/flv:myStream.flv sollte eigentlich funktionieren.
Soweit habe ich das alles zum Laufen bekommen, allerdings ohne nginx.
vlc meldet „Server error: call to function _checkbw failed“, anschließend „avcodec access error: Failed to open rtmp://pi1/flvplayback/flv:myStream.flv“
Irgendeine Idee?
An welchem Punkt genau erhältst du diesen Fehler?
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.
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?
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.
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).Der Server crtmpserver läuft noch ne idee wie ich den Fehler finden kann?
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.
Spontan nein, sorry.
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
Welches Feedback erhältst du denn, wenn du die video-stream.sh manuell ausführst?
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
Bist du dir sicher, dass die IP-Adresse deines Raspberry Pis 10.0.0.6 lautet? Klingt für mich nicht ganz so stimmig…
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?
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?
Solle funktionieren. Probier doch mal über eine DynDNS mit geöffnetem Port auf den Stream zuzugreifen. Wäre spontan so meine einzige Idee.
Hat sich schon jemand damit befasst ob der Stream sich auch auf IOS anschauen lässt?
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.
Hast du den die Ports freigegeben, wie am ende des Artikels beschrieben?
Es war eine blöde Idee hier die DynDns zu posten, am besten suchst du dir eine neue aus.
Oder ich werfe einfach den Domainnamen raus. Danke für den Hinweis 😉
Haha, ja stimmt war ne blöde Idee… aber danke Jan 😛 … Habe mittlerweile eine Lösung gefunden. Und alles funktioniert. Für die DNS wollte ich mir bevor ich sie einsetzte eh noch ein Passwort einrichten …
Magst du deine Lösung auch noch mit der Community teilen, damit alle davon profitieren können? 😉
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
Gefühlt würde ich darauf tippen, dass es an ffmpeg liegt und du dort die Anzahl der Frames ebenfalls anpassen musst.
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
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?
Das ist abhängig von der jeweilig verwendeten Kamera, weshalb ich mich auf das offizielle Raspberry Pi Kamera Model beschränkt habe.
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
Da musst du etwas drum herum lesen wo konkreter der Fehler liegt. Die Meldung „Error 1“ ist recht wenig aussagend.
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.
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.
Warum geht die ffmpeg Version von apt-get nicht?
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.
Wenn du beide Dateien verschoben hast sollte es einwandfrei funktionieren. In Step 16 musst du dann jedoch ggf. den Pfad anpassen.
Danke für die Super Anleitung. Gibt es eine Möglichkeit zumindest den Zugang von aussen über eine Passwortabfrage zu beschränken?
Schau mal ob dir diese Dokumentation weiterhilft.
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!!
ich fände es super, wenn sich bis morgen noch jemand melden würde, da mein sohn dann geburtstag hat und ich es ihm eigentlich schon zu weihnachten versprochen hatte.
liebe grüsse
paul
Das mit Step 9 hat sich erledigt
Da war wol nen Schreibfehler drin
Aber das Problem mit dem Stream ist geblieben
Eine späte Antwort, aber doch noch eine 😉 Hast du sichergestellt, dass die Ports, wie am Ende des Artikel erklärt, geöffnet sind, sodass der Stream auch außerhalb des eigenen Netzwerks erreichbar ist?
Danke erst mal für die Antwort
Ich benutze den Stream nur innerhalb des Netzwerkes.
Brauche ich dann auch eine Portfreigabe?
Nope.
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
Nochmal zu meiner frage das mit screen hat sich geklärt ich musste noch screen installieren
Hi Adrian,
Hat sich des Problem mit dem Stream auf der Website denn auch gelöst?
LG
Paul
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.
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?
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
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.
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
Das sollte ein temporäres Problem seitens deren Server gewesen sein. Versuch es einfach noch einmal!
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
Ganz klarer Fehler , screen ist nicht installiert.
Lösung: sudo apt-get install screen
Hi danke erstmal fürs melden. Bei welchen Step bzw schritt muss ich sudo apt-get install screen installieren?
Das kannst du jetzt nachholen.
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
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
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.
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 🙂
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
Der Fehler sollte weiter gehen. Du hast eine Datei oder einen Ordner nicht gemäß der Anleitung angelegt.
Hallo hatte Index im falschen Ordner habe nur noch ein Problem
Kamera startet aber geht nach 5 Sekunden wieder aus
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?
Hallo Jan, super Tut!
Wie kann ich diesen RTMP Stream aufzeichnen?
Habe es mit rtmpdump probiert aber leider ohne Erfolg
Danke
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
Versuch doch mal folgendes per Hand auszuführen und schau ob du da einen Fehler erhält.
cd ~ && ./video-stream-screen.sh
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. 🙂
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.
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
Mir klingt das so als sein die Internetverbindung zum Raspberry Pi nicht funktionstüchtig.
Hallo, habe festgestellen müssen das die Seite vom JW Player jetzt anders ist. Kann leider nicht wie in Step 12 verfahren :-(.
Ich habe es trotzdem mit dem JW Player versucht und bin leider am erstellen der index.html und den Code Schnipseln gescheitert. Vielleicht ist Jan ja so nett und aktualisiert diesen Part nochmal?!?! Wäre sehr nett!!
An der Stelle hänge ich auch fest und komme nicht weiter. :-/
Bei mir haperts auch dort.
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?
Der Stream wird nicht gestartet. Um ein Fehlermeldungen zu erhalten führe doch bitte mal Folgendes aus.
cd ~
./video-stream.sh
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
Das sollte in der Regel, wenn du davor alles richtig gemacht hast, so funktionieren.
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
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.
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?
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
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
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
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. ???
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
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.
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.
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
This video file cannot be played.(Error Code: 102630)
No more video. I think the rtmp dont works anymore in jwplayer. 🙁