Jump to content

IPhone Support mit LiveTV Stream


Recommended Posts

Die iphone Unterstützung ist im recording service jetzt integriert (siehe Wiki: http://de.DVBViewer.tv/wiki/IPhone/iPod/iPad_Unterst%C3%BCtzung )

Lars

 

Hallo Forum,

 

ich würde gerne ein Mini-Projekt starten um das Iphone besser an den Recording Service anzubinden.

 

Ich schlage folgende Pakete vor:

- (1) Iphone Template

- das bisherige mobile template müsste an die Besonderheiten des Iphones angepasst werden

- dazu gibt es etliche Infos im Netz, z.B. Iphone templates

- zusätzlich muss das bisherige streaming durch durch die Ergebnisse aus (2) ausgetauscht werden

 

- (2) Iphone Streaming (nicht live)

- live streaming mit VLC funktioniert mit dem Iphone nicht

- werden die Dateien in M4V kodiert, funktioniert die Wiedergabe während des HTTP downloads

- es gibt bereits eine App (AirVideo) die das umgesetzt hat (Air Video)

- ToDo's

- Encoding nach Aufnahme in M4V (geht über task) - Einstellungen dafür kann man aus AirVideo übernehmen

- Dateiname muss so gewählt werden, dass man diesen in (1) einfach nutzen kann

 

Bitte bei mir per PN melden, wer Zeit / Lust / Wissen hat und mitarbeiten möchte.

 

Update 19.01.2010:

 

Da keiner mitarbeiten möchte, ist das Projekt stillgelegt.

 

Hier kann der letzte Stand runtergeladen werden:

 

Anleitung

 

Dateien

 

 

 

 

 

Grüße

 

Sascha.

 

Edit:

Inzwischen ist eine Streaming Lösung direkt im Recording Service Integriert. Siehe diedes Topic am Beitrag 59

http://www.DVBViewer.info/forum/index.php?...st&p=282133

Edited by Lars_MQ
Hinweis auf integration in rec.serv + wiki
Link to comment
  • Replies 419
  • Created
  • Last Reply

Top Posters In This Topic

  • Lars_MQ

    121

  • swerner

    27

  • Tjod

    26

  • c-o-m-m-a-n-d-e-r

    22

Top Posters In This Topic

Posted Images

Hallo,

 

ich habe einen Prototyp erstellt.

 

iPhone Template Release 0.01

- HTTP Streaming von Video auf das Iphone funktioniert (jedoch nur über einen zusätzlichen Apache Server, da vermutlich http gets mit ranges nicht im DVBservice webserver implementiert sind)

- ein iPhone kompatibles framework habe ich gefunden iWebkit - das sieht schon einmal ordentlich aus

- das iPhone wird per javascript bei der Anmeldung erkannt und es wird automatisch auf ./iphone/ weitergeleitet

 

Da es technisch keine Hindernisse gibt, geht es nun weiter mit der automatischen Konvertierung nach der Aufnahme und dem HTML Code für die Recording Liste.

 

o:)

 

Sascha

Link to comment

Die Screenshots vom aktuellen Stand alpha 0.01

 

1) Haupt Ansicht (mit link auf Recording Liste)

post-10759-1243418182_thumb.jpg

 

2) Recording Liste mit Test Video

post-10759-1243418194_thumb.jpg

 

3) Streaming des Test Videos

post-10759-1243418198_thumb.jpg

 

o:)

 

Sascha.

Link to comment

heyhey an alle,

das thema interessiert mich BRENNEND.

ich will schon lange mit meinem itouch videostreams empfangen. mit vlc4iphone klappts zwar, es gibt jedoch vieeel zu viele aussetzer!

mit dtunes und anderen klappts gar nicht.

leider kenne ich mich nicht aus mit sachen wie apache-server usw...

 

mit was gibst du den stream wieder?

 

mfg Krassor

Link to comment

Hi,

 

der Stream wird über den eingebauten Player (Quicktime) abgespielt. Es wird daher die Hardwarebeschleunigung genutzt - ergo kein Stottern.

 

Bis zu einem funktionierenden Template, etc. wird es jedoch noch etwas dauern - ich muss bisher alles alleine angehen.

 

Grüße

 

Sascha.

Link to comment

Ich bin erstaunt was man mit DVBViewer und modernen Mobiltelefonen alles machen kann.

Wünsche Dir viel Spass und Durchhaltevermögen mit Deinem Projekt.

:bye:

Link to comment

... und ich bleibe dran

 

Neues aus V0.02

 

1) Wie eine App mit Logo starten:

post-10759-1243784302_thumb.jpg

 

2) Fertiger Status Screen

post-10759-1243784314_thumb.jpg

 

3) Automatischer Foreward, wenn IPhone gefunden (index.html) angepasst.

4) Changelog gepflegt

5) Wird das Iphone gedreht, dann dreht sich das Interface mit.

 

 

In V0.02 noch geplant:

- Liste der Aufnahmen

- Job für das Transkodieren in Mv4

- Abspielen einer Mv4 Datei

 

Grüße

 

Sascha

Link to comment

hey

 

kannst du evtl mal beschreiben, welche schritte notwendig sind, das alles zum laufen zu bekommen? mich würds interessieren, ob ich das vielleicht hinbekomme^^ darf nicht allzu kompliziert sein. und noch eine frage: kann dein projekt auch vlc-videostreams per http empfangen?

 

ich würde dir gerne helfen... leider kenn ich mich mit der materie gar nicht aus :/

 

mfg Krassor

Edited by KraSSor
Link to comment

Hallo Krassor,

 

gerne kannst Du Betatester werden - bitte per PN melden und email Adresse schicken. Ich maile dir dann die Files.

 

Zu installieren ist:

- Template (aus Zip Datei extrahieren)

- Process task (dazu gibt es eine Anleitung)

- M4V Encoder (aus Zip Datei extrahieren)

- Streaming Server (das Thema ist noch offen)

 

Grüße

 

Sascha.

Link to comment

Neues aus V 0.02:

 

Recording Liste

post-10759-1243933095_thumb.jpg

 

M4V Encoding

- mittels "handbrake" wird die MPG Datei als Process Task direkt nach der Aufnahme umgewandelt (funktioniert)

- geplant habe ich einen weiteren Job, der einmal täglich alle noch nicht umgewandelten Dateien konvertiert (und nach x Stunden stoppt)

 

Probleme V 0.02

- Filename nicht in der Liste der Aufnahmen verfügbar (nur in EPGdetails)

- Datumsformat muss noch angepasst werden um eine Gruppe pro Tag darstellen zu können (später wird noch das IPhone Feature "... 25 weiter Anzeige" zugefügt

- Wechsel auf z.B. EPG Details öffnet einen neuen Browser

- noch zu klären, wie das HTTP Streaming ohne einen zusätzlichen Apache Server funktionieren kann

 

Grüße

 

Sascha.

Link to comment
Neues aus V 0.02:

 

Recording Liste

post-10759-1243933095_thumb.jpg

 

M4V Encoding

- mittels "handbrake" wird die MPG Datei als Process Task direkt nach der Aufnahme umgewandelt (funktioniert)

- geplant habe ich einen weiteren Job, der einmal täglich alle noch nicht umgewandelten Dateien konvertiert (und nach x Stunden stoppt)

 

- noch zu klären, wie das HTTP Streaming ohne einen zusätzlichen Apache Server funktionieren kann

 

hi, ja gerne würde ichs mal ausprobieren,

noch ein paar anmerkungen:

 

1.: was meinst du mit "umgewandelt" und "Konvertierung". Du meinst auf deinem PC/Server, wo die aufgenommenen Videos in ein iPhone/touch fähiges format umgewandelt werden?

2.: das HTTP-Streaming geht zumindest bei vlc4iphone. Hab ich selbst getestet. Warum geht es hier nicht?

 

mfg Krassor

Link to comment
1.: was meinst du mit "umgewandelt" und "Konvertierung". Du meinst auf deinem PC/Server, wo die aufgenommenen Videos in ein iPhone/touch fähiges format umgewandelt werden?

 

Das iPhone kann die nach DVB Standard kodierten MPEG2 Files nicht dekodieren (jedenfalls nicht per Hardware). Daher müssen diese vorher in ein lesbares Format umgewandelt werden:

- MOV ist das properitäre Apple Format, das kann kein kostenloser Encoder, kann jedoch on the fly während des streamens erzeugt werden

- M4V ist ein MPEG4 container, der sich einfach erzeugen läßt, jedoch muss die Länge des Files feststehen - daher erst kovertieren dann streamen

-> VLC bietet keine streaming support im aktuellen Release

 

Ich nutze daher "HandBrake" um iPhone kompatible M4V Dateien zu erstellen.

 

2.: das HTTP-Streaming geht zumindest bei vlc4iphone. Hab ich selbst getestet. Warum geht es hier nicht?

 

Das HTTP Streaming mit dem "eingebauten" Webserver des Recording Services geht nicht. Das versuche ich mit der Hilfe von Lars zu debuggen. Ein Apache funktioniert, ist jedoch keine optimale Lösung, da hier zu viel an Installation / Konfiguration notwendig ist. Wenn das "warum" geklärt ist, hoffe ich, dass Lars einen patch dafür ausliefert.

 

Eventuell ist Apple mit dem OS 3.0 etwas aufgeschlossener beim Streaming und es geht auch ohne patch - das ist aus meiner Sicht eher unwahrscheinlich. Das Streaming ist nur ein Nebenprodukt - ich will eigentlich ein Template zur Bedienung des Webfrontends für das iPhone erstellen. Die 4 Meter Leinwand und Full HD Beamer sehen irgendwie besser aus, als der Bildschirm vom iPhone :-)

 

Grüße

 

Sascha.

Link to comment

bin schon sehr gespannt auf das Ergebnis dieses Projekts hier..

werd wohl auch ab nächste Woche ein iPhone 3Gs haben und würd dann wohl auch gerne von dem Ergebnis profitieren.. natürlich nicht sofort^^

Link to comment
  • 2 weeks later...

Thema OS 3.0

 

Hi Leute, zu diesem Thema sollte es jetzt noch einfacher sein, eventuell auch Live-Streaming am iPhone.

 

Angeblich unterstützt die OS 3.0 http audio- und videostreaming!

 

Hat sich mit diesem Thema schon jemand auseinandergesetzt? Wäre ja toll wenn es direkt von der Weboberfläche zum streamen ginge!

 

thx,

Highace

Link to comment

Ich hab seit ein paar Tagen auch ein Iphone und Livestreaming konnte ich bis jetzt leider nicht umsetzen. Das funktioniert mit meinem alten HTC Windows Mobile Telefon wesentlich einfacher :)

 

Eine nette Spielerei ist übrigens folgendes Projekt:

http://css-vfx.googlecode.com/svn/trunk/examples/zflow.html

 

Christian

PS: Konvertierte Aufnahmen können nun Problemlos über den Service abgespielt werden :D

Link to comment

Hallo zusammen, könnte jemand sowas auch für alle Windows-Mobile Benutzer machen? Ok - ich weiss - es sind gerade mal eine handvoll :)

Aber ich gehör nun mal dazu und hätte trotzdem gerne so eine g**le App.

Link to comment
  • 2 weeks later...

Ich habe auch seit etwa 1nem Monat das Iphone 3G.

Seit dem OS 3.0 ist ja auch das abspielen von http basierten Streamingdiensten möglich.

Zumbeispiel lassen sich, mp3 und aac+ Streams jetzt direkt über denn Brwoser öffnen und abspielen (Shoutcast und Icecastserver).

 

Ist es daher geplant, das Livestreaming auch einzubeten?

Link to comment

So, ich wollte mal fragen wie so der Status ist.

 

Ich bin da auch grad ein bissl am basteln was Live-TV unter OS 3.0 angeht.

Mal schauen obs was wird.

 

Allerdings wäre Deine Lösung ja schonmal ein guter Anfang wenigstens aufgenommens Material zu schauen.

 

LG Yulian

Link to comment
Angeblich unterstützt die OS 3.0 http audio- und videostreaming!

Hat sich mit diesem Thema schon jemand auseinandergesetzt? Wäre ja toll wenn es direkt von der Weboberfläche zum streamen ginge!

 

Hi,

 

ich verwende etwa 50% der Zeit, die ich in dem Projekt verbringe auf dieses Thema. Das Streaming hat sich gegenüber soweit verbessert, dass weitere Container Formate nun erkannt werden. Ich werde diese Woche noch einige Test durchführen:

- 3.0 unterstützt weiterhin keine Authentication für Streams - läßt sich das mit dem Trick von Lars wirklich umgehen

- Unterstützt das Rel 1.0 von VLC nun ein für das Iphone kompatibles Streaming unter Windows oder kann das schon 0.86

 

Da ich keinen zweiten DVB Server habe, muss ich immer darauf achten, dass der Live Betrieb nicht gestört wird (Kinder oder Frau ärgern ist zu vermeiden).

 

Nach drei Wochen Urlaub, ist das heute der erste Tag wieder richtig online ... also bitte Geduld.

 

Sascha.

Link to comment

Bei der authentifikation gab es im service ein problem. die normalen browser hat das nicht gestört, vielleicht zickt das iPhone deswegen. probiere das am besten mit der aktuellen version vom service, ob das jetzt geht.

Link to comment
Bei der authentifikation gab es im service ein problem. die normalen browser hat das nicht gestört, vielleicht zickt das iPhone deswegen. probiere das am besten mit der aktuellen version vom service, ob das jetzt geht.

 

Danke Lars!

 

Jetzt geht das Streaming der vorher umkodierten Dateien auf das iPhone. :bounce:B)B)

 

Die Nacht ist ja noch lange - jetzt kann ich rausfinden, warum die Recording Liste nicht mehr aufgebaut wird.

 

Grüße

 

Sascha.

Link to comment

Dann ... DANKE PRINZ.

 

@Lars: Ich hatte gehofft die Release Notes so gedeutet zu haben, dass innerhalb des Loops der Recordings weitere tags funktionieren:

 

	<!-- START BLOCK : chanloop -->
	<li class="store">
	  <a class="noeffect" href="./upnp/{filename}">
	  <span class="comment">{date} {content}</span>
	  <span class="name">{name}</span>
	  <span class="comment">{subtitle}</span>
	  <span class="arrow"></span></a>
	</li>
	<!-- END BLOCK : chanloop -->

 

Gibt es dazu eine Doku?

 

Sascha.

Link to comment

Nein eine Doku gibt es nicht. Im fall der rec_list sind alle möglichen platzhalter in der loop enthalten. Wenn Du mehr brauchst, kriegen wir das auch hin. :bounce:

Link to comment
Nein eine Doku gibt es nicht. Im fall der rec_list sind alle möglichen platzhalter in der loop enthalten.

 

,, dann stehe ich auf der Leitung - ich hätte vermutet, dass {filename} mir den Dateinamen der Aufnahme ausgibt.

 

Das Codebeispiel erzeugt jedoch einen leeren Text beim Filename, der Rest funktioniert ...

 

<!-- START BLOCK : chanloop -->
	<li class="store">
	  <a class="noeffect" href="[b]./upnp/{filename}[/b]">
	  <span class="comment">{date} {content}</span>
	  <span class="name">{name}</span>
	  <span class="comment">{subtitle}</span>
	  <span class="arrow"></span></a>
	</li>
	<!-- END BLOCK : chanloop -->

 

 

 

<li class="store">
	  <a class="noeffect" href="[b]./upnp/[/b]">
	  <span class="comment">Di 14.07.  20:15 (Komödie)</span>
	  <span class="name">Die kleinen Superstrolche</span>
	  <span class="comment"></span>
	  <span class="arrow"></span></a>
	</li>

 

Sascha.

Link to comment

recfile
recdate
recnr

Sorry das war wohl gestern schon etwas zu spät für mich, die hatte ich ja auf Deinen wunsch schon eingebaut... :)

Link to comment
Ist es daher geplant, das Livestreaming auch einzubeten?

 

Anbieten würde ich das gerne, nur wer kennt sich damit aus...

 

Das OS 3.0 kann HTTP Streaming vom MPEG2 TS Containeren mit H264 encodieren Material. Die Anleitungen die ich bisher dazu gefunden habe enthalten jedoch kein vollständig lauffähiges Beispiel...

 

Mir reicht es aus, aufgenommene Dateien zu streamen - dann kann man die Werbung überspringen. Im meinem Protoyp funktioniert das schon gut :)

 

Ich werde nun die Arbeit am Template fertigstellen. Das hat ersteinmal Priorität vor einem möglichen Live Streaming. Mit Glück nimmt sich jemand dem Thema im VLC Team an und untersucht, was das iPhone genau benötigt. Ich habe keinen Developer Zugang und komme daher an keine Doku :angry:

 

Die Untersuchung, warum das Streaming mit dem HTTP Server vom Recording Service nicht geht, hatte mich schon einige Nächte gekostet. Ich werte das einen ersten Teilerfolg, dass dies nun funktioniert (dank LARS und PRINZ). Wer hätte vor einigen Jahren geglaubt, dass man auf seinem HANDY Fernsehaufnahmen sehen kann, Aufnahmen einplanen und löschen kann?

 

Also nicht böse sein, wenn das mit dem LIVE Streaming noch etwas länger dauert.

 

Grüße

 

Sascha.

Link to comment

Livestreaming geht ungefähr wie folgt: Via FFMpeg kann zum Beispiel der Stream in H264/AAC kodiert werden, als Containerformat wird TS benutzt. Das Ergebniss wird mittels eines Segmenters in x-Sekunden Häppchen zerlegt und über eine Playlist aufgelistet.

 

Die Playlist schaut zum Beispiel wie folgt aus:

 

stream.m3u8

 

#EXTM3U
#EXT-X-TARGETDURATION:15
#EXTINF:15,
97.ts
#EXTINF:15,
98.ts
#EXTINF:15,
99.ts

 

Das Iphone lädt übrigens in zyklischen Abständen besagte Playlist.

 

Christian

Link to comment
wie ist denn der aktuelle Stand?

Habe seit nen paar Tagen auch nen iPhone und würde mich gerne als BetaTester bewerben :)

 

Hallo,

 

bitte sende mir mir per PN deine Email Adresse. Ich maile dir dann die Doku+Dateien zum Testen in den nächsten Tagen.

 

 

Grüße

 

Sascha.

Link to comment
Livestreaming geht ungefähr wie folgt: Via FFMpeg kann zum Beispiel der Stream in H264/AAC kodiert werden, als Containerformat wird TS benutzt. Das Ergebniss wird mittels eines Segmenters in x-Sekunden Häppchen zerlegt und über eine Playlist aufgelistet.

 

Die Playlist schaut zum Beispiel wie folgt aus:

 

stream.m3u8

 

#EXTM3U
#EXT-X-TARGETDURATION:15
#EXTINF:15,
97.ts
#EXTINF:15,
98.ts
#EXTINF:15,
99.ts

 

Das Iphone lädt übrigens in zyklischen Abständen besagte Playlist.

 

Christian

 

Ja, das hatte ich mir auch schon angeschaut. Nur wie soll das in einer lauffähigen Umsetzung funktionieren? Da müßte ich dann einen kompletten Streming Service selber erstellen, der auf der einen Seite die Quelle entgegen nimmt und dann auf der andrene Seite auf Clients wartet. Sobald ein Client da ist, werden die .ts Datei durch Segmentierung erzeugt und die Playlist aktualiesiert. Dann muss ich prüfen ob der Client noch da ist, was schon abgeholt worden ist und entsprechend nicht mehr gebrauchtes löschen + Playlist aktualieren. Das ist doch etwas viel Coding Aufwand :-)

 

Mir wäre es lieber, dass solch ein Service als open source von jemand anderem entwickelt wird und ich das dann an den Recording Service anbaue. Ich wollte kein VLC nachbauen :)

 

Gibt es eine lauffähige Demo die einen VLC Stream oder ähnliches konsumiert und dann anbietet?

 

Grüße

 

Sascha.

Link to comment

Hier noch einmal Screenshots zum Ablauf:

 

1. Recording List

post-10759-1247658337_thumb.jpg

Hier auf den die Aufnahme clicken zum Abspielen (Thumbnail Generierung habe ich noch nicht umgesetzt)

 

2. Media Player

post-10759-1247658460_thumb.jpg

Dieser stellt nun die Verbindung her und puffert die Datei (HTTP ranges)

 

3. Film ab

post-10759-1247658583_thumb.jpg

Da die Datei vollständig konvertiert wird, kann man auch scrubbing nutzen.

 

Für mich reicht das als Live Streaming Alternative aus. Da meine Kinder immer wieder die gleichen Streams anschauen, ist das von der CPU Belastung besser.

 

Grüße

 

Sascha.

Link to comment

Ein kleines Update ...

 

Vorschaubilder für Aufnahmen!

post-10759-1247668964_thumb.png

 

Vorgehensweise:

- nach dem Konvertieren eine Aufnahme wird per ffmpeg ein thumbnail der 5. Sekunde der Datei erzeugt.

 

Grüße

Sascha.

Link to comment
- nach dem Konvertieren eine Aufnahme wird per ffmpeg ein thumbnail der 5. Sekunde der Datei erzeugt.

Über sowas hab ich auch schon nachgedacht für das webinterface. Es ist immer nur nervig sich mit der ffmpeg commandozeile rumzuschlagen :)

Link to comment

... das letzte Update für heute ...

 

Timeline

post-10759-1247694544_thumb.jpg

 

Hier habe ich versucht den verfügbaren Platz maximal auszunutzen:

- Links Oben Selektion der Sendergruppe

- Mitte Oben Auswahl des Tages mit extra großen Buttons

- Rechts Oben dann die Auswahl der Zeit

 

Auswahl in der Timeline

post-10759-1247694948_thumb.jpg

 

Das iPhone hat eine schöne Funktion um Werte aus einer Liste auszuwählen.

 

So das war's für heute ..

 

Sascha.

Link to comment

Ein Update bei den Thumbnails...

 

Ich setze nun moviethumbnail ein. Das hat folgende Vorteile:

  • Untersucht selbständig ein ganzes Verzeichnis
  • Erstellt nur dann Thumbnails, wenn diese noch nicht existieren
  • Ist beim Suchen der richtigen Position (ca 5.Minute) 1000x schneller als fffmpeg
  • Erstellt wegen der schnellen Suche ca. 100 Thumbnails pro Sekunde
  • Kann Scenen suchen die nicht ganz schwarz sind
  • Kann Scenen suchen, die nich komplett unscharf sind

 

Ich habe dafür einen neue Process Aufgabe erstellt. Diese wird mehrmals täglich aufgerufen und erstellt dann für alle neuen Aufnahmen die Thumbnails.

 

Was damit gelöst ist:

- automatisch werden bei ersten Start alle schon existierenden Aufnahmen mit Thumbnails versorgt

- auch wenn eine Aufnahme abgebrochen wird, wird ein Thumbnail erstellt

 

Als kleines Extra erstelle ich noch ein weiteres größeres Thumbnail für die Eigenschaftsseite der Aufnahme. Dort sind 3x3 Scenen mit einem Abstand von jeweils 2 Minten dargestellt:

post-10759-1247739680_thumb.jpg

 

@Lars: Das wäre schön in den Service integrierbar ...

 

Grüße

 

Sascha.

Link to comment

Hi was kann ich denn mit dem Tool machen? Jetzt aber nicht das Programm DVBViewer steuern oder ??? Wie kann ich das testen über app store?

 

Gruß,

expression

Link to comment
Hi was kann ich denn mit dem Tool machen? Jetzt aber nicht das Programm DVBViewer steuern oder ??? Wie kann ich das testen über app store?

 

Danke für die Meldung als Betatester.

 

Die Software gibt es nicht im Appstore - sie wird auf dem PC installiert auf dem der Recording Service läuft. Dafür ist die App dann auch kostenlos.

 

Funktionen:

 

Beta 0.4 (geplant für Sonntag)

- Anzeige des aktuellen EPG

- Anzeige der Aufnahmen mit Vorschaubildern

- Aufnahmen auf das iPhone streamen / für Streaming konvertieren

- Status des Servers anzeigen (Speicherplatz, Belegung der TV Karten)

 

Beta 0.5

- Timer ansehen

- neue Aufnahme Timer erstellen

- Timer löschen

 

Die Steuerung des DVBViewers ist eine andere Baustelle. Da auch hier ein Webservice verfügbar ist, läßt sich das machen - nur halt nicht von mir. Ich stelle erst diese Baustelle fertig. Wenn ich mich dann Nachts mal langweile, wird erst ein IPhone Webservice für die Bussteuerung meines Hauses aufgebaut.

 

Grüße

 

Sascha.

Link to comment

×
×
  • Create New...