Um Hochleistungs-Videostreaming zu ermöglichen, müssen mehrere Videoströme in verschiedenen Varianten vorhanden sein. Mit anderen Worten, Videos, die mit verschiedenen Bitraten und Auflösungen codiert sind, auf die alle von einer Wiedergabelistendatei (.m3u8) verwiesen wird.
Videoplayer, die Streams mit adaptiver Bitrate unterstützen, wählen dann einen Stream aus, der zu Ihrer Netzwerkverbindung passt, und können Streams nahtlos wechseln, wenn sich die Netzwerkbedingungen ändern. Der Grund für das Video, das ich streamen wollte, dauerte so lange, bis ich mit dem Abspielen beginnen konnte, weil ich nur einen Stream mit 720p-Auflösung hatte. Daher dauerte der Player sehr lange, um zu puffern, bevor er zu spielen begann.
Ich habe den von Apple erstellten Http Live Streaming (HLS) -Standard verwendet, um einen adaptiven Bitraten-Stream mit 5 Streams (den ich mit ffmpeg erstellt habe) zu generieren, und mein Video wird fast sofort abgespielt.
Shameless plug: Um das für Entwickler und andere Anwender einfacher zu gestalten, habe ich die Infrastruktur zusammengestellt, die wir zur Erzeugung von HLS-Streams zusammengestellt haben, mit einem iOS-SDK, das Sie hier herunterladen können: https://github.com/Storie/StorieCloudSDK