Estoy reproduciendo un video de HTTP Live Streaming con un AVPlayer.Acceda a los datos de AVPlayer al reproducir video de HTTP Live Streaming
¿Hay alguna forma de acceder a los datos en caché del reproductor para guardarlos localmente?
Estoy reproduciendo un video de HTTP Live Streaming con un AVPlayer.Acceda a los datos de AVPlayer al reproducir video de HTTP Live Streaming
¿Hay alguna forma de acceder a los datos en caché del reproductor para guardarlos localmente?
TLDR; Eso no es imposible, pero los resultados probablemente no sean tan buenos.
Tenga en cuenta que una secuencia de video HTTP en realidad consiste en múltiples flujos de ancho de banda. Cada uno de estos se divide en trozos más pequeños de flujo de transporte MPEG.
Para reproducir esas transmisiones, AVPlayer generalmente selecciona uno de los flujos de ancho de banda disponibles, comienza la precarga y luego también se reproduce. Ahora AVPlayer comienza a subir la barra y comienza a descargar trozos de un flujo de ancho de banda mayor. El AVPlayer elevará la barra de nuevo hasta que llegue al ancho de banda más alto disponible. Este proceso se invertirá una vez que el AVPlayer identifique problemas para mantener cierta longitud jugable 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 implementación no están especificados, pero eso es más o menos cómo funciona esto.
Ahora imagine que almacenaría/almacenaría en caché esos datos de manera local. Obtendrás una mezcla de diversos fragmentos TS de ancho de banda, no cualquier cosa que puedas reproducir de la caja. También pondría carga adicional en este proceso ya que el acceso al sistema de archivos es más bien caros en dispositivos móviles en estos días.
En general, creo que no es del todo imposible, pero no sería trivial en absoluto. He leído sobre personas que experimentan con el sistema de archivos sobre este tema, pero nunca lo hicieron funcionar.
Gracias por el aviso, confirmé lo que estaba pensando. Actualizaré este hilo si tengo alguna actualización – MartinMoizard
por lo que sé, no se puede hacer eso en vivo. – Vlad
esa es mi experiencia también – V1ru8
¿Ustedes saben si entonces, hay una manera de leer primero el flujo por un componente personalizado para guardar los datos y luego reenviarlos al AVPlayer? Realmente estoy buscando una manera de guardar los datos ... – MartinMoizard