Hallo zusammen, Ich möchte h264 Video an html5 streamen Das ganze will ich mit einem Ethernet microconttoller realisieren, der einfach stream weiter leiten soll. Nun weiss ich nicht, wie man mit der html Datei des web servers umgehen soll. Wie kann ich video tag für video streaming definieren? Danke & viele grüße weber
Hat jemand schon so was gemacht?
Dazu braucht man schon einen kleinen Computer. Ich mache das mit einem Raspberry Pi. Wenn du eine Kamera anschließen möchtest ist diese Anleitung sinnvoll zu lesen. http://jankarres.de/2013/12/raspberry-pi-kamera-stream-broadcast-realisieren/ Das ist aber ohne HTML 5. Das liegt daran, dass HTML 5 das Format nicht akzeptiert, dass der Raspberry pi aufnimmt. Zum Umwandeln fehlt die Leistung.
weber schrieb: > Hallo zusammen, > Ich möchte h264 Video an html5 streamen > Das ganze will ich mit einem Ethernet microconttoller realisieren, der > einfach stream weiter leiten soll. Du musst einen kleinen Webserver implementieren. Der muss mit mindestens 2 HTTP-Anfragen klarkommen und entsprechend antworten können: Die eine HTTP Anfrage ist die nach der HTML-Datei, die beantwortet er indem er eine html-Datei ausgibt die das video tag mit allen korrekten Attributen und was dazugehört enthält. Wenn der Browser das sieht wird er darin den Verweis auf die Videodatei finden und eine zweite HTTP Anfrage nach der Videodatei schicken. Die beantwortest Du ebenfalls, und zwar indem Du die Daten schickst. Natürlich ist HTTP nicht unbedingt das ideale Streamingprotokoll, wenn Du also in richtiges Streamingprotokoll implementieren willst wird es haarig. Du musst (in Schritt 1) zusätzlich zum HTML noch einen riesen Brocken JavaScript ausliefern der clientseitig im Browser das Streamingprotokoll implementiert (weil nativ können die alle nur HTTP soweit ich weiß, aber evtl hat sich das mittlerweile auch geändert wenn Du Glück hast) und auf dem Controller einen Server der dieses Protokoll spricht und die Daten ausliefern kann. HLS ist ganz nett, das geht on top of HTTP (Das Video wird in kurze Segmente zerteilt und in einzelnen Abfragen per ganz normalem HTTP vom Server geholt), das ist wahrscheinlich noch relativ simpel zu implementieren.
:
Bearbeitet durch User
Simeon schrieb: > Das liegt daran, dass HTML 5 das Format nicht akzeptiert, dass der > Raspberry pi aufnimmt. Zum Umwandeln fehlt die Leistung. stimmt nicht. Das Format vom Raspi ist H264 es muss nur in einen Container gesteckt werden, was keine CPU zeit braucht. avconv erledigt das direkt als Stream.
Ich habe hls mit dem ffmpeg segmentiert, die Dateien in den Ordner von lighttpd gespeichert. Das war leider nur mit dem VLC mediaplayer abspielbar. In Firefox, Internetexplorer ging das mit HTML 5 nicht. Wie funktioniert das mit aconf?
Simeon schrieb: > Wie funktioniert das mit aconf? http://www.raspberrypi-spy.co.uk/2013/05/capturing-hd-video-with-the-pi-camera-module/ avconv -r 30 -i myvid.h264 -vcodec copy myvid.mp4
Ich glaube, er meint live Übertragung. Die Beschreibung ist zu zu ungenau. Ich bin mir sicher das es mit normalen Mikrocontrollern aus den anderen HTTP Server Projekten nicht funktioniert. Video ist wirklich eine sehr große Datenmenge. Sogar bei dem Raspberry Pi ist das mit live das wirklich nicht ganz einfach. Ich habe Sachen mit ffserver, hls Segmenter und webm ausprobiert, es hat aber nur mit wenigen Bildern pro Sekunde geklappt, sodass ich jetzt doch die flash Lösung von Jan Karres benutze.
Simeon schrieb: > Sogar bei dem Raspberry Pi ist das mit live das wirklich nicht ganz > einfach naja, sollte aber nicht an der Hardware liegen. Wegschreiben kann er es ja in Echtzeit, auch im passenden HTML5 Format. HTML5 ist nicht wirklich für Echtzeitstreaming gemacht. Das fehlt einfach noch ein passenden projekt im Zusammenhang mit dem Raspi. Man müsste den MP4 Header beim aufruf erzeugen und dann das aktuelle Bildmaterial. Das es Einzeln geht, ist zumindest die Hardware nicht das Problem (wenn nicht gerade für 1000 Leute gestreamt werden soll)
Nachtrag: Ich habe schon selber geschafft, die Frames von der Kamera mit eine C Programm abzufragen. Leider fehlte jetzt noch die Zeit mich mit MP4 zu beschäftigen, wie muss der Header aussehen usw. Irgendwie gibt es doch zu viele Standards die alle etwas gültig sind. der Raspi liefert nur fertige mpeg-frames. Da fehlen noch die Zeitinformationen und so dinge wie Framerate. Diese müsste man noch dazubasteln.
Ich wäre an einer Lösung interessiert, da ich mein stream auch benutzern von android verfügbarmachen möchte. Zurzeit benutze ich einen Computer und wandle alles in webm um. Das Problem ist, dass man für Kompatibilität mit allen Browsern auch noch webm anbieten muss, das mit dem Raspberry PI schwer ist. Wir kommen hier aber etwas vom Thema und der eigentlichen Frage ab.
Simeon schrieb: > Das Problem ist, dass man für Kompatibilität mit allen Browsern auch > noch webm anbieten muss, das mit dem Raspberry PI schwer ist. http://www.w3schools.com/html/html5_video.asp für welchen Browser braucht man noch webm? > Wir kommen hier aber etwas vom Thema und der eigentlichen Frage ab. eigenen Thema aufmachen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.