Mehrere Personen haben versucht, vorgeladene Videodaten mit AVPlayer
oder MPMoviePlayerController
zu cachen, zum Beispiel
Der einfachste Ansatz scheint die Verwendung von AVExportSession
auf currentItem
des Spielers zu sein, aber niemand scheint in der Lage zu sein, es zur Arbeit zu bringen.
Meine Frage ist: Ist es möglich, die Videoanforderungen auf dem Gerät mit einem eingebetteten HTTP-Server, der von einem diskettenbasierten Cache unterstützt wird, transparent zu übertragen?
Ich kann einen eingebetteten Webserver ausführen ( GCDWebServer ), daher lautet meine Frage
Wird Caching AVPlayer
den Code für die Bandbreitenoptimierung versauen, der versucht, den Stream mit der höchsten Bandbreite zu wählen? Wenn dies ein Problem ist, kann ich den Stream so steuern, dass er nur eine Option bereitstellt.
Reicht die Festplattenleistung aus, um eine Verbesserung über das Netzwerk zu erreichen? Es scheint, als ob es offensichtlich wäre, aber ich habe eine Vielzahl von Artikeln im Internet gesehen, die darüber sprechen, wie langsam Disk-I / O auf iOS ist.
Danke!
Für HTTP Live Streaming:
Wenn der eingebettete Webserver die Mediensegmentdateien hosten soll, aus denen der HTTP-Livestream-Feed besteht, müssen die Dateien bereits auf das Gerät heruntergeladen werden, es sei denn, Sie konfigurieren den Webserver neu als Proxy.
In beiden Fällen scheint es einfacher zu sein, die Indexdatei (typischerweise prog_index.m3u8) herunterzuladen und zu analysieren, um die Liste der Mediensegmentdateien zu erhalten und dann den Download jedes einzelnen zu starten.
Tags und Links iphone ios avfoundation mpmovieplayercontroller avplayer