Entwicklung einer Live-Streaming-Software auf dem Iphone

steph0815

Erdapfel
Registriert
23.10.08
Beiträge
4
Guten Tag,

Wir haben ein Projekt am laufen wo wir versuchen eine Software zu entwickeln die einen Lifestream darstellt. Zu beginn soll dazu nur ein Stream von einem Server gezogen werden. Das Ziel soll es allerdings sein das ein Peer-2-Peer Netzwerk aufgebaut aus dem der Stream zu beziehen ist.
Das große Problem ist allerdings das alle beteiligten kaum Ahnung in solchen DIngen geschwieg denn in der Prgrammierung eines Iphones haben. Stimmt natürlich das dies ein Studienprojekt ist ;) Wir sind gerade dabei die API zu entwickeln.
Da ist dann auch schon die erste Frage. Wie ist es am einfachsten unter ObjectiveC eine Live Verbingung aufzubauen.
Vielleicht hat hier jemand ja einfach eine Idee. Links wären auch sehr hilfreich.

Vielen Dank
Stephan
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Hallo,

was meinst Du mit "Live-Verbindung"?

Eine Netzwerkverbindung ist ja immer mehr oder minder Live. Hast Du Probleme beim Real Time En/Decoding? Multicasting?

Netzwerkverbindungen unter Cocoa machst Du auf dem iPhone mit NSStream, allerdings würde ich Dir -- gerade für Live Streams -- dann doch CFStream aus der CoreFoundation empfehlen.

Alex
 

steph0815

Erdapfel
Registriert
23.10.08
Beiträge
4
Also unser Problem ist wie wir das realtime decoding hin bekommen. Ich werde mir jetzt als erstes mal NSSTream und CFStream anschauen was man da mit anfangen kann.

Erst mal schönen Dank!
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
NSStream und CFStream haben aber nichts mit decoding zu tun.

Dazu solltest Du Dir CoreAudio ansehen

Alex
 

steph0815

Erdapfel
Registriert
23.10.08
Beiträge
4
OK. Bei nachlesen auch bemerkt.
Die ganze Sache behandelt aber da Thema Video. Daher wird CoraAudio wohl nicht ausreichen. Habe daraufhin mal nachgeschaut ob es auch CoreVideo gibt. Gibt es ja habe es aber nur kurz überflogen. Verstehe ich es da richtig das man Quicktime dazu benötigt?? Dachte ja eher daran die RawDaten zu bekommen und damit zu füttern. Stellt sich dann auch welche Formate ünterstützt werden.
Werde da erst mal mehr drüber nachlesen.

Danke
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Das wird in der Tat eine Runde schwieriger. Eine ganze Runde.

In diesem Fall bist Du völlig auf Dich allein gestellet. MPMoviePlayerController unterstützt kein Live Streaming, scheidet also aus.

Für QuickTime gibt es auf dem iPhone zumindest kein offzielles API, und nach allem Anschein kann es ohnehin nur deutlich weniger Formate als unter OS X.

Was Dir bleibt ist den Decoder selber zu schreiben, und dann auch die Darstellung selber zu übernehmen. Dazu wirst Du dann direkt in den Core Graphics Context Deine Daten reinschreiben müssen.
EDIT: Und ihr wisst jetzt noch nicht, welche Decoder performant genug auf dem iPhone sind. Es könnte sein, dass ihr eine Lösung entwickelt, die dann im echten Leben untauglich ist.

Ich weiss nicht, wie viel Manpower ihr da habt, aber das wird kein Spaziergang. Es ist "To boldly go where noone has gone before", und das schliesst Apple mit ein.

Alex

EDIT: Aufgrund der Bemerkung "Das große Problem ist allerdings das alle beteiligten kaum Ahnung in solchen DIngen geschwieg denn in der Prgrammierung eines Iphones haben." kann ich nur raten, sich ein anderes Projekt zu suchen.
 

steph0815

Erdapfel
Registriert
23.10.08
Beiträge
4
Hy,

warscheinlich hast du recht aber unseren Prof davon zu überzeugen ist nicht so einfach. Ich glaube einfach er hat eine Vision und will es gerade machen weil es noch nie jemand zuvor gemacht hat.
Haben jetzt etwas weiter herumgeschaut und herausgefunden das, das Iphone ja MPEG4 H.264 unterstütztz. Daher sollte es ja irgendwie möglich sein das als Stream zu beziehen.
Heute ist erst mal weiter Meeting, danach seh ich mal weiter!

danke schon mal für die Hilfe!!
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Haben jetzt etwas weiter herumgeschaut und herausgefunden das, das Iphone ja MPEG4 H.264 unterstütztz.

Radio Erewan Antwortet: Im Prinzip, ja. Aber ...

Wie gesagt, als Entwickler hast Du (aktuell) nur eine einzige Möglichkeit, darauf zuzugreifen, und zwar mit dem MPMoviePlayerController.

Der hat genau eine Funktion für Input:
Code:
- (id)initWithContentURL:(NSURL *)url
Und er macht kein Streaming.

Ich kenne eine Fortunte 500 Firma (Und zwar in den oberen 100), die sich im Moment schwer überlegen, ob sie so etwas wirklich machen wollen.

Dem Prof muss klar sein, dass ihr grosse Teile selber entwicklen müsst. Ihr müsst einen AV Decoder Portieren und die gesamte Ausgabe per Hand machen.

Wir reden hier von wirklich, wirklich anspruchsvollen Aufgaben. Ich weiss nicht, auf welchen Zeitraum und welche Manpower Eurer Studienprojekt baut, aber macht das doch erst mal mit OS X. Das ist wirklich schwer genug.

Alex
 

gert

Macoun
Registriert
19.08.05
Beiträge
118
hallo,
wenn ihr MPMoviePlayerController benutzen wollt, dann bleibt wohl nur der progressive download.
Aber das machen ja wohl alle Videoapps auf dem iPhone so und es ist sicherlich nicht die schlechteste Loesung.

Alles andere wuerde bedeuten, nen eigenen Player zu schreiben.
Realisierbar ist dies, wenn ihr euch die Daten irgendwie zukommen lasst... und dann den Videoteil als Einzelbilder auf nen View mappt... oder gar ne Plane im 3d Raum. Grosses Problem bleibt aber nach wie vor die Synchronisation von Audio und Videomaterial.

Das Problem ist auch nicht wirklich die Daten durch die Gegend zu schieben.. man koennte ja RTP bzw. RTSP implementieren. Sondern nach wie vor die Wiedergabe der empfangenen Daten.

Also.. am besten den progressive Download machen und sich viel Aerger sparen :)

Beste Gruesse,
Gert