Mejoras para la interacción de red

Flash Player 10.1 y AIR 2.5 incorporan un conjunto de nuevas funciones para la optimización de red en todas las plataformas, incluyendo el almacenamiento en búfer circular y la búsqueda inteligente.

Almacenamiento en búfer circular

Al cargar contenido multimedia en los dispositivos móviles, se pueden encontrar problemas que nunca se esperarían en un equipo de escritorio. Por ejemplo, es más probable quedarse sin espacio en disco o memoria. Al cargar vídeo, las versiones de escritorio de Flash Player 10.1 y AIR 2.5 descargan y almacenan en caché todo el archivo FLV (o archivo MP4) en el disco duro. Seguidamente, el motor de ejecución reproduce el vídeo desde ese archivo de caché. No es frecuente quedarse sin espacio en disco. Si esto sucede, el motor de ejecución de escritorio detiene la reproducción del vídeo.

Un dispositivo móvil puede quedarse sin espacio en disco con más fácilmente. Si el dispositivo no dispone de espacio en disco, el motor de ejecución no detiene la reproducción, tal y como sucede en el motor de ejecución de escritorio. El motor de ejecución comienza a reutilizar el archivo de caché escribiendo en el mismo de nuevo desde el principio del archivo. El usuario puede continuar viendo el vídeo. El usuario no puede buscar en el área del vídeo que se ha reescrito, excepto en el principio del archivo. El almacenamiento en búfer circular no se inicia de forma predeterminada. Se puede iniciar durante la reproducción y también al principio de la reproducción, si la película presenta un tamaño mayor que el espacio en disco o RAM. El motor de ejecución requiere 4 MB de RAM como mínimo o 20 MB de espacio en disco para poder utilizar el almacenamiento en búfer circular.

Nota: si el dispositivo dispone de suficiente espacio en disco, la versión móvil del motor de ejecución se comporta del mismo modo en el escritorio. Se debe tener en cuenta que un búfer en RAM se utiliza como reserva si el dispositivo no tiene un disco o éste está lleno. En tiempo de compilación, se puede establecer un límite para el tamaño del archivo de caché y el búfer de RAM. Algunos archivos MP4 tienen una estructura que requiere que se descargue todo el archivo antes de que pueda comenzar la reproducción. El motor de ejecución detecta estos archivos y evita la descarga, si no hay suficiente espacio en disco, y el archivo MP4 no puede reproducirse. Puede ser más adecuado no solicitar la descarga de esos archivos.

Como desarrollador, recuerde que la búsqueda sólo funciona en el límite del flujo almacenado en caché. En ocasiones, NetStream.seek() genera un error si está fuera de rango y, en este caso, se distribuye un evento NetStream.Seek.InvalidTime .

Búsqueda inteligente

Nota: la función de búsqueda inteligente requiere Adobe® Flash® Media Server 3.5.3.

Flash Player 10.1 y AIR 2.5 introducen un nuevo comportamiento, denominado búsqueda inteligente, que mejora la experiencia del usuario al reproducir secuencias de vídeo. Si el usuario busca un destino dentro de los límites del búfer, el motor de ejecución vuelve a utilizar el búfer para ofrecer una búsqueda instantánea. En versiones anteriores del motor de ejecución, el búfer no se reutilizaba. Por ejemplo, si un usuario estaba reproduciendo un vídeo desde un servidor de secuencias y el tiempo de búfer era de 20 segundos ( NetStream.bufferTime ) y el usuario intentaba buscar 10 segundos más adelante, el motor de ejecución podría malgastar todos los datos del búfer en lugar de reutilizar los 10 segundos ya cargados. Este comportamiento provocaba que el motor de ejecución solicitara nuevos datos del servidor con mucha más frecuencia, así como un menor rendimiento de la reproducción en conexiones lentas.

La siguiente figura ilustra el modo en que se comportaba el búfer en las versiones anteriores del motor de ejecución. La propiedad bufferTime especifica el número de segundos de carga previa hacia delante de modo que si la conexión falla, el búfer se puede utilizar sin detener el vídeo:

Comportamiento del búfer antes de la función de búsqueda inteligente

Con la función de búsqueda inteligente, el motor de ejecución ahora utiliza el búfer para ofrecer búsquedas de avance o de retroceso instantáneas cuando el usuario ve el vídeo. La siguiente figura ilustra el nuevo comportamiento:

Búsqueda de avance con la función de búsqueda inteligente

Búsqueda de retroceso con la función de búsqueda inteligente

Con la búsqueda inteligente se reutiliza el búfer cuando el usuario busca hacia atrás o hacia delante, de modo que la experiencia de reproducción resulte más fácil y rápida. Una de las ventajas de este nuevo comportamiento es el ahorro de ancho de banda para los editores de vídeo. Sin embargo, si la búsqueda se realiza fuera de los límites del búfer, se aplicará el comportamiento estándar y el motor de ejecución solicitará nuevos datos al servidor.

Nota: este comportamiento no se aplica a la descarga progresiva de vídeo.

Para utilizar la búsqueda inteligente, establezca NetStream.inBufferSeek como true .