corte de archivos de video

1. ¿Por qué es más ventajoso usar m3u8 en el sistema bajo demanda de la red?¿Por qué usar M3U8 para el sistema bajo demanda? ¿No sería mejor guardarlo como un archivo?

        Un archivo MP4 puede tener cientos de M o varios G. Si lee la información de todo el archivo MP4 y necesita descargar una parte del contenido, será muy lento para abrirlo y reproducirlo por primera vez (tiempo de carga prolongado). Si el archivo MP4 se reproduce en fragmentos, cada fragmento tiene más de 100 KB, la reproducción será más rápida.

2. ¿Ventajas de la reproducción fragmentada M3U8+MPEGTS?

  • Bloqueo de velocidad de reproducción: cuando la reproducción de un archivo MP4 comienza a cargarse, leerá una gran cantidad de información del archivo, lo que puede causar que la reproducción dure mucho tiempo. El segmento m3u8 leerá toda la información del archivo de video en un instante e inmediatamente comenzará a cargar el primer archivo de video ts para reproducir. La velocidad de carga es N veces más rápida que MP4, ya sea que esté comenzando a reproducir o arrastrando y soltando.
  • Alivie la E/S del disco: los archivos de video de alta definición generalmente están en el nivel G. Para descargas de archivos grandes, la presión de E/S de un solo disco es relativamente alta. Si los archivos grandes se pueden almacenar en fragmentos en el disco, solo se descargan las partes que necesitan reproducirse y las partes que no necesitan reproducirse no se descargan, por lo que la E/S del disco duro se aliviará en gran medida.
  • Tolerancia a fallas simple: durante la descarga o el almacenamiento, cualquier error de byte en un archivo de 1G puede invalidar todo el video, y después de cortarlo en partes pequeñas, la tolerancia a fallas será relativamente simple, solo complete la porción incorrecta. .
  • Fácil distribución: es más difícil distribuir archivos grandes que archivos pequeños, y la descarga lleva mucho tiempo.Especialmente en la etapa inicial del servicio, el servidor de origen debe soportar solicitudes de E/S de disco extremadamente altas. Básicamente, es raro ver archivos súper grandes para la distribución de CDN, pero es fácil hacer el almacenamiento en caché de CDN para archivos fragmentados ts.Los archivos pequeños se almacenan en caché rápidamente, y básicamente no hay posibilidad de falla en el almacenamiento en caché.
  • Excelente descarga de caché: MP4 seguirá descargando archivos en estado HTTP, sin importar si el usuario necesita reproducir el siguiente contenido o no, seguirá descargando hasta que se complete la descarga. Sin embargo, los archivos fragmentados no tienen este problema, ya que mediante el control del reproductor o del servidor, solo se descarga la parte del contenido que se necesita reproducir, y si no se reproduce, no se descargará.

3. ¿Qué soporte necesita CDN para m3u8 on-demand?

        Debido a la incertidumbre del comportamiento interactivo entre el reproductor y el sitio de origen, cuando se brindan servicios de caché y aceleración para M3U8, es mejor capturar paquetes y analizar los encabezados de solicitud y respuesta cuando el reproductor interactúa directamente con el sitio de origen. resolución de fallas encontradas al pasar por el CDN.

4. Necesidad de prestar atención

  • El sitio de origen le indica claramente al reproductor qué contenido no se puede almacenar en caché, especifique control de caché: sin caché, intente no ser coherente con la configuración del sitio de origen, como el archivo de control xml y el archivo M3U8 que pueden afectar al reproductor (analice si su contenido cambiará)
  • Conexión larga: la interacción directa entre la estación de origen y el reproductor es abrir una conexión larga, Conexión: mantener vivo, si es una conexión larga, al abrir el paquete con wireshark, cuando haga clic en seguir transmisión, podrá para ver cuántos flujos hay en un flujo GET solicitudes y respuestas. La reproducción normal y el arrastre se congelan, es probable que la conexión a largo plazo no esté habilitada, preste atención para habilitar la conexión a largo plazo desde el dispositivo CDN al reproductor y desde el CDN a la estación de origen. Esto minimiza la experiencia del usuario cuando se produce un error. 

5. Algunos problemas encontrados en el soporte de M3U8 y medidas de optimización

  • Precargue con anticipación, obtenga todas las listas m3u8, ejecute un script y precargue todos ellos primero en el dispositivo CDN. Relativamente terrenal, pero no afecta la experiencia de visualización de seguimiento.
  • Precarga en tiempo real, cuando el archivo M3U8 se adquiere en el dispositivo CDN por primera vez, el M3U8 se analiza en el lado de la CDN y el precalentamiento del archivo de video se completa dentro de la propia CDN. Es relativamente más ideal, pero el análisis en el lado de CDN aumentará la demora de M3U8 desde la estación de origen hasta el cliente. Es un poco más complicado que el 1.

6. Comando de prueba de corte

ffmpeg -i HD1080P_FinalOutput.mp4 -hls_time 5 -hls_list_size 0 -c copy -f hls  HD1080P_FinalOutput.m3u8

Supongo que te gusta

Origin blog.csdn.net/weixin_35804181/article/details/130384973
Recomendado
Clasificación