stringtranslate.com

Descarga progresiva

Una descarga progresiva es la transferencia de archivos multimedia digitales desde un servidor a un cliente , normalmente utilizando el protocolo HTTP cuando se inicia desde una computadora. El consumidor puede comenzar la reproducción de los medios antes de que se complete la descarga. La diferencia clave entre la transmisión de medios y la descarga progresiva está en cómo el dispositivo del usuario final que accede a los medios digitales recibe y almacena los datos de los medios digitales.

Un reproductor multimedia que es capaz de reproducir con descarga progresiva depende de que los metadatos ubicados en el encabezado del archivo estén intactos y de un búfer local del archivo multimedia digital a medida que se descarga desde un servidor web. En el momento en que una cantidad específica de datos esté disponible para el dispositivo de reproducción local, los medios comenzarán a reproducirse. El productor del contenido incrusta esta cantidad especificada de búfer en el archivo en la configuración del codificador y se refuerza mediante configuraciones de búfer adicionales impuestas por el reproductor multimedia.

Historia

Inicialmente, el tipo de archivo de medios digitales conocido como JPEG fue el primer medio visual que presentaba una visualización progresiva a medida que se descargaba el medio digital y, en realidad, se lo denominaba descarga progresiva. La distinción entre el comportamiento técnico de descarga progresiva en comparación con el uso común o comercial del término descarga progresiva para describir ese comportamiento no fue documentada y hay muchas dudas sobre el origen del término versus el origen de la implementación técnica. . Apple , en referencia a su reproductor multimedia QuickTime, empleó el término Fast Start [1] en 1997, para describir lo que comercialmente se denominaba reproducción con descarga progresiva de contenido multimedia digital codificado .

Descarga progresiva HTTP versus transmisión de medios

La experiencia del usuario final es similar a la transmisión de medios , sin embargo, el archivo se descarga a una unidad física en el dispositivo del usuario final; El archivo generalmente se almacena en el directorio temporal del navegador web asociado si el medio se incrustó en una página web o se desvía a un directorio de almacenamiento configurado en las preferencias del reproductor multimedia utilizado para la reproducción. El archivo tartamudeará o detendrá la reproducción si la velocidad de reproducción excede la velocidad a la que se descarga el archivo. El archivo comenzará a reproducirse nuevamente después de una mayor descarga.

Este inicio rápido de reproducción es el resultado de mover los metadatos desde el final del archivo multimedia digital hacia el frente. Este movimiento de los metadatos le dio al reproductor multimedia toda la información que necesitaba para comenzar la reproducción mientras el archivo aún se estaba descargando. Antes de ese cambio, el resumen de metadatos estaba ubicado al final de un archivo multimedia y era necesario descargar el archivo completo para poder leer los metadatos y el reproductor comenzara la reproducción. [2]

La pseudotransmisión HTTP (o descarga progresiva), similar a la transmisión de medios o la transmisión en vivo HTTP , también admite la transmisión con tasa de bits adaptativa . La desventaja de la pseudotransmisión HTTP sobre la transmisión de medios es la seguridad reducida, ya que HTTP es más fácil de rastrear en comparación con RTMP , junto con tiempos de carga prolongados cuando se buscan videos más grandes. [3]

Optimización para pseudo-streaming HTTP

Los archivos MP4 constan de fragmentos de datos , llamados átomos . Estos átomos almacenan información como subtítulos, etc. El átomo especial, llamado átomo moov, es responsable de almacenar información sobre cómo reproducir el video, como dimensiones , fotogramas por segundo , etc., lo cual es importante para comenzar a reproducir un video en el reproductor de video HTML5 . [4] Pero los átomos pueden aparecer en cualquier orden, por lo que los servidores web como Nginx gastan algo de CPU, memoria y E/S de disco para encontrar el átomo moov para que los clientes basados ​​en video HTML5 puedan comenzar a reproducir el video. Para optimizar la pseudotransmisión HTTP, es importante mover el átomo moov al principio, de modo que los servidores web como Nginx optimicen para una pseudotransmisión más rápida, lo que da como resultado la reproducción de reproducciones sin tener que esperar a que llegue o se escanee el archivo completo. [5]

ffmpeg -i sample_input.mp4 -movflags faststart -acodec copy -vcodec copy sample_output.mp4

Al realizar esta optimización, evitamos de manera efectiva que los servidores web, como nginx , gasten una cantidad relativa de cálculo en encontrar el átomo moov, aumentando así el rendimiento de reproducción en el cliente basado en video HTML5 . [5] [4]

Buscando

Inicialmente, el archivo se reproduce desde el principio. Es posible que un usuario desee señalar una parte del archivo que aún no se ha descargado. Esta capacidad se llama búsqueda [7] y permite descargar y comenzar a reproducir cualquier parte del archivo multimedia. A esto se le suele denominar pseudo-streaming.

Para la búsqueda de videos Flash se requiere una lista de puntos de búsqueda en los metadatos del archivo multimedia. Estos puntos son desplazamientos en el vídeo (tanto en segundos como en bytes) en los que comienza un nuevo fotograma clave. Un servidor web o un servidor de medios que maneja la descarga debe admitir puntos de búsqueda en la cadena de consulta de solicitudes para descargar datos.

Para otros tipos de archivos multimedia como MP4 o MKV , los servidores web deben ser capaces de manejar un parámetro de desplazamiento especial. El nombre del parámetro de compensación difiere para varios servidores, por lo que debe especificarse en la configuración del reproductor.

Algunos servidores admiten la búsqueda únicamente a través de módulos adicionales, que se especifican a continuación. Los nombres de los parámetros de búsqueda están escritos en cursiva .

Ver también

Referencias

  1. ^ QuickTime Streaming Server 4.1 (PDF) , archivado desde el original (PDF) el 6 de julio de 2011 , consultado el 21 de septiembre de 2010. Normalmente se utilizan dos métodos para entregar medios a través de la web para su visualización en tiempo real: descarga progresiva ( Fast Start) y streaming en tiempo real.
  2. ^ Comprender el átomo de película MPEG-4 , consultado el 17 de julio de 2015
  3. ^ Peter Luk. "Entrega de vídeo: pseudotransmisión HTTP".
  4. ^ ab Billy Hoffman (2016). "Optimización de vídeo MP4 para una transmisión más rápida".
  5. ^ ab "Módulo ngx_http_mp4_module".
  6. ^ "Documentación de formatos FFmpeg".
  7. ^ Pseudo Streaming en Flash , consultado el 17 de julio de 2015

enlaces externos