web-dev-qa-db-de.com

Streaming von Live-Kamera-Videos von iOS (iPhone / iPad) auf Remote-PC / Server

Ich habe eine Weile im Stackoverflow und im Internet nach einer Lösung für mein Video-Streaming-Problem gesucht. Ich muss Live-Videos, die von der Kamera aufgenommen wurden (keine hohe Qualität erforderlich), auf eine Weise von einem iOS-Gerät an einen Remote-PC streamen, dh das iOS-Gerät sendet einen Videostream an den Server/PC, nicht jedoch das Gegenteil .

Nach dem Durchsuchen von Google-Inhalten und Dokumentationen können zwei wichtige Standards/Protokolle verwendet werden:

  • Apples HTTP Live Streaming (HLS)
  • Adobes RTMP

Wieder ist meine Anforderung, dass das iPhone/iPad das Video streamen wird. Aus dem, was auf der Apple-Website zu sehen ist, geht hervor, dass HLS von der Server-Seite mit Codierungsperspektive und von der iOS-Seite mit Decodierungsperspektive aus verwendet werden soll. Ab RTMP verfügen die meisten Bibliotheken, die iOS-Streaming ermöglichen, über kommerzielle Lizenzen und Closed Code oder müssen die P2P-Infrastruktur durchlaufen (z. B. angl.tv oder tokbox.com/opentok/quick) -start ). Ab HLS scheinen auf iOS-Seite keine Codierungsbibliotheken zu existieren.

Meine Fragen sind also:

  • Kennen Sie ein SDK/eine Bibliothek, die möglichst offen und kostenlos ist und in die ich aufgenommene Videos über meine App streamen kann?
  • Wenn nein, denken Sie, die Entwicklung einer benutzerdefinierten Bibliothek wäre ein riskantes Unterfangen, das den Dschungel überquert? Ich gehe durch AVFoundation und nehme Kamerabilder auf, komprimiere sie Frame für Frame und sende sie über HTTP. Klingt das nach verrückter Leistung und Bandbreite? Beachten Sie, dass ich in diesem Fall einen HLS- oder RTMP-Encoder benötigen würde.

Im Voraus danke ich Ihnen, liebe Freunde.

Mehdi.

45
Medi The Jedi

Ich habe eine solche Bibliothek entwickelt und Sie finden sie unter github.com/jgh-/VideoCore

Ich aktualisiere diese Antwort, weil ich eine vereinfachte iOS-API erstellt habe, mit der Sie auf einfache Weise eine Kamera-/Mikrofon-RTMP-Sitzung einrichten können. Sie finden es unter https://github.com/jgh-/VideoCore/blob/master/api/iOS/VCSimpleSession.h .

Zusätzlich ist VideoCore jetzt in CocoaPods verfügbar.

29
jgh