Wie streamt ein iPhone HD-Inhalte über AirPlay auf ein Apple TV?

Sogar 720p-Inhalte haben fast 1 Million Pixel pro Bild; 24 Bit pro Pixel bei 60 fps sind 180 Mbps, was eindeutig unmöglich ist. Wie werden die Daten übertragen?

Einige Vermutungen:

  • Starke Kompression.
  • Apple-Videowiedergabe-APIs, die den komprimierten Stream an Apple TV senden, damit Apple TV sich selbst dekodieren kann
  • Apple-APIs zum Abspielen von Videos, die eine URL des Datenspeicherorts an Apple TV senden.

Antworten (2)

AirPlay sendet MP3-, AAC- und H.264-komprimierte Daten direkt an Empfänger, daher teilweise sehr hohe Komprimierung und im Übrigen sehr gut.

Die Entwicklerdokumentation von Apple deckt die Grundlagen sowie einige Tipps zum Vorbereiten von Inhalten ab, damit sie gut gestreamt/weitergeleitet werden.

http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AirPlayGuide/Introduction/Introduction.html

Die Dekodierung der Streams erfolgt durch einen Chip (und auch kodiert – das gleiche unter iOS wie unter OS X), sodass Sie sehen können, welche Geräte AirPlay unterstützen und ableiten können, welche GPU- und CPU-Familien die Hardware dafür haben, dies sowohl schnell als auch in zu tun im Fall von iOS mit geringem Stromverbrauch.

Diese iOS-Support-Matrix ist sehr praktisch, um jede iOS-Version und die CPU/RAM für verschiedene Modelle zu sehen, auch wenn sie die AirPlay-Unterstützung nicht speziell aufruft.

Es scheint jedoch, dass AirPlay alle Anwendungen unterstützt, nicht nur diejenigen, die Videos über von Apple unterstützte Formate abspielen. Wissen Sie, wie das funktioniert? (Ich bin mir nicht ganz sicher, aber diese Form des Streams (die auch kein „Hintergrund“-AirPlay unterstützt) scheint in geringerer Qualität zu erfolgen.)
Es ist ziemlich einfach. Die GPU/CPU muss alles im Stream rendern. iOS leitet einen Tap auf diesen Stream und sendet ihn über AirPlay und zeichnet auf dem lokalen Bildschirm. So wie zwei Monitore an einem Computer Inhalte spiegeln oder zwei Bildschirme anzeigen können. So kann AirPlay davon abhängen, ob sich das System im Spiegelmodus befindet oder eine App AirPlay zulässt und zwei Bildschirme mit Inhalten wie Keynote zum Beispiel zeichnen kann.

Das Video wird nicht Pixel für Pixel gesendet, sondern mit einem geeigneten Videokomprimierungsalgorithmus codiert, der speziell darauf ausgelegt ist, viel weniger Bandbreite zu verbrauchen und dennoch das Originalvideo originalgetreu für das menschliche Auge wiedergeben zu können.

Ohne nachgeforscht zu haben, wäre eine geeignete Vermutung, dass die h264-Kodierung verwendet wird.

Ein iPhone kann gleichzeitig einen HD-Videostream decodieren und codieren? Ich würde gerne eine Quelle dafür sehen!
Berücksichtigen Sie für den Schritt der harten Codierung bitte, dass iPhones Videos in Full HD aufnehmen können ...