Streamode: Video Streaming Framework

So, 04.07.2010 - 19:09 -- Daniel Espendiller

Streamode stellt ein Web Framework zum Streaming von Videos zu diversen Geräte (iPhone, iOS, DBox2, Popcournhour) bereit. Es basiert auf dem Content-Mangement-System Drupal7 (momentan in alpha5), somit kann man die stärken eines CMS-System nutzen. Durch die Version 7 kann man die Grundvoraussetzungen für einen nötigen Webserver sehr gering halten.
Streamode stellt Drupal typische hooks bereit wodurch es relativ einfach ist eigene Erweiterungen zu schreiben. Neben Erweiterungen zum Streaming an weitere Geräte lassen sich auch Parser für unterschiedliche Webseiten entwickeln, die als Videoquelle genutzt werden können.

Entstanden ist die ganze Geschichte aus Internetstreams für Movieplayer - Dbox2. Nach und nach werden alle Features portiert und in ein zentrales SVN Projekt eingecheckt. Bis alles komplett ist kann es allerdings noch etwas dauern. In unregelmäßigen Abständen wird anhand der neuesten SVN Revision ein komplettes Download Paket erstellt.

Momenten kann zu folgenden Geräte gestreamt werden:

  • iPhone / iPod touch / iPad
  • Dbox2 - Movieplayer
  • Pophournhour

Als Input Quellen für Videos und TV-Live Steaming stehen folgende Dienste bereit:

  • DVBViewer (LiveTV)
  • DBox2 (LiveTV)
  • Dreambox (Channels aus der Air Video channels.ini) (LiveTV)
  • tvtotal.de
  • kino.de
  • zdfmediathek
  • ardmediathek

(nicht alle Geräte können mit den unterschiedlichen Video-Formaten umgehen, hier müsste noch eine prestream bzw. autoconverter Funktionalität entwickelt werden)

Disqus - noscript

Hallo,

ich bewundere deine Arbeit und genau so etwas habe ich mir schon lange gewünscht
jedoch habe ich Probleme damit, bei mir kommt kein Stream zustande die Dbox schaltet
das Programm um und ffmpeg startet aber beim Iphone 4 mit Firmware 4.1 wird entweder nur der Streamlink oder Error nach einiger Zeit angezeigt.Habe xamp auf zwei Rechnern installiert, gibt es besondere Hardware Anforderungen die ich beachten muss ?
naja... muss zugeben habs auf der firmware 4.1 noch nicht getestet werds aber mal am wochenende aufspielen. wie ich gelesen habe, wurde am streaming im neuen ios etwas verändert.

was sagt denn deine cpu auslastung? geht die nach oben? ist ffmpeg eventuell mehrmals in der prozessliste?

---------
werd auf jeden in den nächsten wochen wieder einiges am "projekt" machen, gerade was googletv, appletv und co. angeht auch ein paar debugging hilfen und bugs beheben.


Ich habe gerade noch ein wenig getestet einmal mit Windows 7 und mit XP
jedoch mit keinem erfolg auch mit einem Iphone 2g Firmware 3.1.3 geht es bei mir
nicht, ffmpeg erzeugt nach dem starten so 50 -80 Prozent CPU Auslastung natürlich
ist ffmpeg mehrmals auf wenn ich nicht aufpasse ich kille aber den Prozess jedes Mal
wenn ich einen neuen Versuch mache. Apple TV wäre auch interessant hab mir das
neue bestellt kommt nächste Woche steht aber noch in den Sternen ob man damit
auch ohne Itunes was machen kann, aber warten wir ab ob es nicht auch dafür einen
Jailbreak geben wird. Schön das du das Projekt weiter machen willst.
Habe es zum laufen bekommen auf einem Apple IMac 27“ in der Virtuellen Maschine (Parallels Desktop) mit Windows 7 naja die Dbox stützt manchmal
ab aber es geht, vielleicht bekomme ich bald die Möglichkeit es auf einer Dreambox auszuprobieren.
Ich versuche gerade zu verstehen wie das ganze funktioniert.

Dafür bräuchte ich vornehmlich das Passwort für den Administrator (Name?) des Drupals innerhalb der xampplite-Installation.

Wäre nett, wenn Du die nennen könntest. Ziel ist es das ganze für die Coolstream und Android laufähig zu bekommen.
Ooops.. das habe ich glatt überlesen, Sorry und Danke!
@Kai Posadowsky
Hast Du schon was mit dem Coolstream erreichen können??
@c8b1ee09db2887fa6a1ca40c00044342 Sorry, ich habe das Projekt für mich fallen lassen, nachdem mir klar war, das ich von der Coolstream auf meine Android Tablets nicht direkt würde streamen können.

Wird an Streamode noch gearbeitet ? Wäre schade darum, weil es das einzigste ist, was zumindest einigermassen zuverlässig läuft. Hier kann die Airvideo Lösung volkommen einpacken. Die ersten Minuten mit Streamode waren erfolgreicher als die ganzen 2 Tage mit Airvideo !

Streamode scheint tot zu sein....schade drum. Bei mir läufts wie ne eins und es rettet mir die EM 2012 wenn ich in den USA bin. Läuft sauber mit der Dbox2 und meine Dream kommt nächste Woche dran. Da verzichte ich gerne auf den Android Müll und nutze lieber ein anständiges Handy OS mit Jailbreak. 

 Ich bin noch da :)

ich nutze das tool momentan nicht mehr so ausgiebig, deswegen mache ich aktuell nichts daran.
Wie stabil läuft es bei euch denn eigentlich?

Das ist sehr gut :-) Bei mir läuft das abslolout stabil auf einem Intel Core 2 Duo T9400. Das gestrige Championsleague Finale konnte ich problemlos unterwegs ankucken und in der Halbzeit auch ein paar mal umschalten. Habe es dann sogar noch einigermassen stabil auf einem Android Tab testweise zum laufen gebracht. Der "MX Player" im Store kommt mit der m3u8 Datei zurecht.

Jetzt würde ich das ganze gerne noch auf einem Atom D525 1,8 GHZ Dualcore zum laufen bringen. Das geht bisher eigentlich schon einigermassen, nur bei ARD z.B. läuft es nicht. Vielleicht würde es gehen, wenn ich FFMPEG dazu bekomme, dass es zwei Kerne gleichzeitig nutzt. Ob das was bringt, weis ich nicht.

Kannst Du mir evtl einen Tip geben, wie ich FFMPEG dazu bekomme, beide Kerne zu nutzen ? Einen Versuch ist es allemal wert.
Dann könnte mir Streamode vielleicht sogar die EM retten, wenn ich in den USA mit dem Wohnmobil unterwegs bin :-)

Nächste Woche kommt meine Dreambox 7025, dann werde ich berichten, wie sich Streamode da dann verhält, denke aber dass das für Streamode kein Problem sein wird :-)

Ganz vergessen :-) Auf dem T9400 Rechner läuft Windows 7 und auf dem D525 Prozessor läuft Windows Server 2008.

Mit Streamode könnte man noch einige Dinge mehr machen und es könnte sogar ein ersthafter Konkurrent zu den ganzen Mobile TV Angeboten der Mobilfunkbetreiber werden.Airvideo kann hier bereits einpacken.Es müsste z.B. möglich sein, dass man mit der Dbox oder Dreambox in einen Ordner per Cifs aufnimmt und Streamode dazu bringt, die Aufnahme dann aufs Iphone / Tablet zu streamen. Ich mache das derzeit noch mit Airvideo, aber das wollte ich eigentlich nicht mehr nutzen und alles von Streamode erledigen lassen.

Werde im Urlaub in den USA, die EM Spiele mit deutscher Beteiligung von meiner Dbox2 / Dreambox auf eine CIFS Freigabe aufnehmen lassen und mir dann Abends am Campingplatz das Spiel übers Internet ansehen. Wenn in Europa ein Spiel läuft, ist es in USA ca 12 Uhr Mittag und da möchte ich ja nicht den ganzen Urlaub dafür "unterbrechen". So kann ich es gemütlich und zu gewohnter "Fussballzeit" abends um ca 20, 21 Uhr USA Zeit kucken :-)
Die Gefahr, dass man was von den Ergebnissen mitbekommt ist sehr gering, weil sich nur sehr wenige für die EM interessieren. Bei der WM damals, war das anders :-)

Ich schreibe hier jetzt einfach mal weiter, vielleicht weckt es bei Dir oder bei anderen wieder ein grösseres Interesse an diesem Projekt. Vielleicht "belebt" Streamode wieder die ein oder andere Dbox2 :-)
Ich habe SM jetzt dazu gebracht, mir mal eine Aufnahme zu streamen. Ich musste aber einen doch ziemlich unsauberen Weg gehen, weil ich mich mit PHP und Co gar nicht auskenne. Es wäre natürlich super, wenn Streamode ein Verzeichnis mit TS Dateien selbst einlesen könnte und die Daten dann an den Iphone_Streamer weitergibt. Jetzt habe ich einfach bei den statischen Links einfach die URL gegen C:\dbox\Filmname.ts ersetzt. Und schon streamt es. Natürlich ist es logisch, dass mir Streamode mit dem Segmenter davonläuft und ständig die Segmente zu früh rausfliegen. Da habe ich erstmal auch nen unsauberen weg gewählt und lasse den Segmenter statt 3 Dateien einfach mal 300 erstellen. Wenn es nicht anders geht, werde ich einfach 45min + 15min + 45min * 60 / 10 rechnen und komme so auf 630 Segmente. So bekomme ich im Urlaub jedenfalls ein komplettes Fussballspiel + Halbzeit gestreamt :-) Aber evtl geht das ja viel einfacher und sauberer. Nur leider habe ich eben null Ahnung von PHP und bis zum Urlaub in 2 Wochen werde ich das wohl auch nicht mehr lernen :-)

Ok, da man hier überhaupt keine Antworten bekommt. Gebe ich die Sache hier auf und werde das ganze selber weiter ausbauen. Irgendwo wird einem schon geholfen. Das Streamen der Aufzeichnungen hab ich auch selber hinbekommen. Dann sollte das Streamen an nen Flash Player auch irgendwie gehen.

So long....

Schade um dieses Projekt, aber es lebt ja weiter.....

Also einen Versuch starte ich noch. Wäre echt nett, wenn Du mir antworten könntetst. Ich möchte nur wissen, wie ich das ganze mit FLV streamen kann, anstatt mit mpegts. Muss nicht unbedingt wissen, wie ich es ins Streamode integriere. Brauche eigentlich nur die Commandline für ffmpeg :-)

OK :)

FLV wird wohl nicht gehen das gibt der Apple Standard nicht her. Du kannste wohl sicher von FLV nach mpegts, aber direkt gehts nicht.

über "static video links" kömmst du nicht weiter, bzgl der aufnahmen?

 Ich brauche das FLV nicht fürs Iphone, sondern um mit jedem beliebigen PC dann TV zu kucken oder meine Aufnahmen zu sehen. Würde mir dann das Iphone Streaming Script kopieren und es an das FLV Streaming anpassen.

Die Ihpone Sache lief von Anfang an schon problemlos. Nur baue ich das ganze noch etwas aus :-) Das mit den Aufnahmen geht auch schon, das ist so gut wie fertig.

Kenne mich in PHP so gut wie gar nicht aus und habe das Static Video Links Modul einfach kopiert und ein neues daraus gemacht.
Ein PHP Script, das das Verzeichnis einliest und ich an SM.module angehängt habe, erstellt mir per fwrite dann eine vcr.module.
Ist nicht ganz sauber gelöst, aber es geht ohne Probleme.

Habs wieder selber rausgefunden :-) Jetzt noch eine letzte Frage. Der Stream wird jetzt in /streams/flvstream.flv gespeichert. Aber da während des Streamens, diese Datei immer offen ist (von ffmpeg) bricht das Video immer wieder ab. Kann hier ja jetzt leider nicht die m3u8 und Segmenter Methode verwenden.
Ich denke, dass ich hier jetzt zwingend den Stream an den FFServer Pipen muss und am Apache dann den Link zum Stream auf den Port vom FFServer leiten muss.

Es wird wohl nicht möglich sein, den Stream direkt über den Apache von Drupal zu streamen, oder ?

ok kann ich vergessen. FFserver gibs net für Windows.

Ok, man kann das alles vergessen. Jetzt gehts eh nimmer mit dem Galaxy Tab. Nachdem im Google Play so ein dämliches "Kack"Date gekommen ist, spielt der MX Player das TS in der neuen Version nicht mehr. Man sollte eben net alles Updaten.... Ok. Dann zu Muuta.