/ / Acceda a los datos de AVPlayer cuando reproduzca video desde HTTP Live Streaming - iphone, object-c, ios, avplayer

Acceda a los datos de AVPlayer al reproducir video de HTTP Live Streaming - iphone, objetivo-c, ios, avplayer

Estoy reproduciendo un video HTTP Live Streaming con un AVPlayer.

¿Hay alguna forma de acceder a los datos almacenados en caché por el jugador para guardarlos localmente?

Respuestas

7 para la respuesta № 1

TLDR; Eso no es imposible, pero los resultados probablemente no serían tan grandes.

Tenga en cuenta que una transmisión de video HTTP en realidad consiste en múltiples flujos de ancho de banda. Cada uno de ellos se divide en trozos de flujo de transporte MPEG más pequeños.

Para jugar esas transmisiones, AVPlayer usualmenteselecciona uno de los flujos de ancho de banda disponibles, comienza a cargar y pronto también se reproduce. Ahora, AVPlayer comienza a subir la barra y comienza a descargar fragmentos de un flujo de mayor ancho de banda. El AVPlayer volverá a subir la barra hasta que alcance el mayor ancho de banda disponible. Este proceso se invertirá una vez que AVPlayer identifique problemas para mantener una cierta longitud reproducible precargada en su cola. Por lo tanto, en caso de que se reduzca el rendimiento de la red, se selecciona un flujo de ancho de banda inferior. Los detalles exactos de la implementación no están especificados, pero eso es más o menos cómo funciona esto.

Ahora imagina que almacenarías localmente / caché quedatos. Obtendría una mezcla de varios trozos de TS de ancho de banda, no cualquier cosa que pudiera reproducir fuera de la caja. También le pondría una carga adicional a este proceso ya que el acceso al sistema de archivos es bastante costoso en dispositivos móviles en estos días.

En general, creo que no es del todo imposible, pero no sería en absoluto trivial. He leído acerca de personas que están experimentando con sistemas de archivos en este tema, pero nunca lograron que funcionara.