flash flex flv

Búsqueda precisa al usar HTTP Pseudostreaming en Flash



flex flv (1)

¡Buen día!

Me enfrenté a un problema al desarrollar mi reproductor de video en AS3. Uso HTTP pseudostreaming para FLV y MP4 (aquí hay una descripción de pseudostreaming: http://flowplayer.org/plugins/streaming/pseudostreaming.html )

El problema : la distribución de tamaños sobre el archivo flv / mp4 no es lineal, por lo que la búsqueda basada en (stream.bytesLoaded / stream.bytesTotal) * video.duration no es precisa.

Mi solución

Para esta solución, necesitamos tener keypoints / seekpoints en el archivo de video (de todos modos, necesitará el) al principio del archivo.

  1. El usuario hace clic en la barra de búsqueda, calculamos el tiempo de búsqueda del objetivo en segundos

  2. Verificamos si el tiempo objetivo ya está almacenado en el buffer: 2.1. si es así, solo busca usar NetStream.seek () 2.2. si el tiempo objetivo no está cargado - encontré el punto de búsqueda neares usando la tabla de puntos clave en los metadatos del archivo y realizo el cambio a la nueva URL con el agregado ?start=...

Usando esta técnica puedo obtener una búsqueda precisa, pero el enfoque general es un poco complicado.

¿Hay alguna forma mejor?


En caso de que alguien necesite ayuda con este tema, aquí está el plugin osmf que puede usar para lograr pseudostreaming usando el reproductor de video de flex:

Enlace Github