¿Qué es el formato M4S?

M4S es una extensión común para los segmentos multimedia MP4 fragmentados que utilizan MPEG-DASH y el HLS moderno. Un segmento suele depender de un segmento de inicialización para la configuración de las pistas y del decodificador.

Segmento de inicialización: ftyp y moov con descripciones de pistas y muestras
Configuración del decodificador y muestras codificadas para una variante
Un segmento multimedia solo puede decodificarse junto con el segmento de inicialización que el manifiesto o la lista de reproducción indica para él. Incluso en ese caso, los fotogramas de video anteriores al primer punto de acceso aleatorio del segmento pueden depender de segmentos previos.

Cómo funciona el formato M4S

Los segmentos multimedia M4S son recursos MP4 fragmentados de corta duración que se generan después de dividir la salida de un codificador para el streaming adaptativo. Sus metadatos de fragmentos de película describen los tiempos y las ubicaciones de las muestras, mientras que las cajas de datos multimedia asociadas contienen las muestras codificadas. Las definiciones de las pistas y la configuración del decodificador suelen residir en un recurso de inicialización al que hace referencia el manifiesto y que algunos empaquetadores también nombran con .m4s. Un reproductor combina esa configuración con los fragmentos sucesivos a medida que almacena datos en el búfer y cambia de variante.

Datos clave

  1. Un segmento multimedia consta de uno o más fragmentos de película: una caja moof que describe las muestras, seguida de la caja o las cajas mdat que contienen sus bytes codificados, opcionalmente precedidas por una caja de tipo de segmento styp. No contiene ninguna caja moov, por lo que las descripciones de las pistas y las muestras que necesita un decodificador no están en el archivo.
  2. El segmento de inicialización proporciona lo que les falta a los segmentos multimedia: una caja ftyp seguida de una caja moov con descripciones de pistas y muestras, pero sin muestras. En HLS, cada segmento multimedia MP4 fragmentado debe tener una etiqueta EXT-X-MAP aplicable, cuya URI identifica el recurso que contiene esos datos de inicialización; una etiqueta se aplica a todos los segmentos siguientes hasta la próxima EXT-X-MAP. En Media Source Extensions, un segmento multimedia sin una caja de tipo de segmento debe ajustarse a las marcas declaradas en el segmento de inicialización.
  3. La extensión no indica cuál de los dos tipos corresponde a un archivo. .m4s está registrada en IANA como la extensión de archivo del tipo de medio video/iso.segment, pero los nombres de archivo dependen del empaquetador: cuando el multiplexor DASH de FFmpeg escribe segmentos MP4 como archivos separados, sus nombres predeterminados asignan la extensión .m4s tanto a los segmentos de inicialización como a los multimedia (para los flujos VP8, VP9, Vorbis u Opus, utiliza de forma predeterminada segmentos WebM con nombres .webm), mientras que su multiplexor HLS asigna al archivo de inicialización MP4 fragmentado el nombre init.mp4 de forma predeterminada. Identifica la función de un archivo a partir del manifiesto o de sus cajas de nivel superior.
  4. Un nombre .m4s no demuestra la conformidad con CMAF. CMAF es un perfil más restringido de MP4 fragmentado, y FFmpeg trata la salida compatible con CMAF y la salida compatible con DASH como modos distintos del multiplexor. Los requisitos reales de cada protocolo de destino son específicos: HLS, por ejemplo, exige una caja tfdt en cada fragmento de pista y direccionamiento relativo al fragmento de película, y señala que un segmento CMAF cumple esos requisitos.

Cuándo es relevante el formato M4S

M4S es relevante cuando empaquetas, alojas, mueves o depuras flujos segmentados. Un segmento multimedia no es un archivo de video independiente: un analizador necesita los datos de inicialización correspondientes antes de poder leer el segmento, y un reproductor encuentra ambos mediante el manifiesto o la lista de reproducción. Cuando muevas, limpies o almacenes en caché un flujo, mantén válidas las referencias del manifiesto y disponibles todos los segmentos de inicialización y multimedia que este indique. Un segmento multimedia .m4s aislado no es una entrada adecuada para un conversor genérico.

Cómo ayuda Transloadit con el formato M4S

La documentación del Robot /video/adaptive de Transloadit describe el valor cmaf para su parámetro technique, que produce manifiestos MPEG-DASH y HLS que hacen referencia a los mismos segmentos MP4 fragmentados.

La documentación del Robot habla de segmentos y segmentos de inicialización, pero no indica sus extensiones de archivo, así que no desarrolles herramientas que presupongan un nombre .m4s. Sí indica que cada archivo de resultados incluye una propiedad de metadatos relative_path para almacenar los archivos donde los manifiestos esperan encontrarlos.

Explora los formatos de archivo y las capacidades de compresión de Transloadit

Fuentes

Convierte tus conocimientos sobre multimedia en un pipeline funcional

Conecta las subidas, el procesamiento, la IA, el almacenamiento y la entrega mediante una sola API declarativa, mientras nos encargamos por ti del stack de encoding, el escalado y los cambios constantes de formatos.

Prueba Transloadit gratis