Cuando los usuarios solo necesitan audio, como en aplicaciones de música, reproductores de podcasts o reproducción de audio en segundo plano de contenido de video, transferir el archivo de video completo desperdicia ancho de banda. La extracción de audio permite que los nodos perimetrales de CDN eliminen la pista de video de un archivo y devuelvan únicamente el flujo de audio, lo que reduce el consumo de ancho de banda en escenarios de solo audio.
Funcionamiento
Cuando un cliente solicita un archivo de video con el parámetro de consulta ali_audio_only=1, el nodo perimetral de CDN más cercano intercepta la solicitud, extrae la pista de audio y devuelve solo los metadatos y los datos de audio. Los datos de video nunca se envían al cliente.
El cliente debe ser compatible con la codificación de transferencia fragmentada (Transfer-Encoding: chunked).
Habilitar la extracción de audio
Inicie sesión en la CDN console.
En el panel de navegación izquierdo, haga clic en Domain Names.
En la página Domain Names, busque el nombre de dominio objetivo y haga clic en Manage en la columna Actions.
En el panel de navegación del dominio, haga clic en Video.
En la sección Audio Extraction, active el interruptor.
Realizar una solicitud
Una vez habilitada la extracción de audio, incluya ali_audio_only=1 en la URL de la solicitud:
http://<domain>/<video-file>?ali_audio_only=1
Reemplace los marcadores de posición con sus valores reales:
|
Placeholder |
Description |
Example |
|
|
Su nombre de dominio acelerado de CDN |
|
|
|
Ruta al archivo de video |
|
El nodo de CDN devuelve únicamente los metadatos y los datos de audio. Si el parámetro está ausente o tiene un valor distinto de 1, no se realiza la extracción de audio.
Formatos compatibles
MP4
Requisito de metadatos: Los metadatos deben ubicarse en el encabezado del archivo. No se admiten archivos con metadatos al final.
Tamaño del encabezado de caja: Solo se admiten archivos MP4 con un encabezado de caja de 8 bytes. No son compatibles los archivos MP4 con un encabezado de caja de 16 bytes (64 bits).
Ejemplo de solicitud:
http://<domain>/video.mp4?ali_audio_only=1
FLV
Requisito de metadatos: Sin requisitos.
Ejemplo de solicitud:
http://<domain>/video.flv?ali_audio_only=1
Limitaciones
No se admiten solicitudes por rango. Navegadores como Safari emiten automáticamente solicitudes por rango al reproducir contenido multimedia. Se recomienda proporcionar a los usuarios clientes desarrollados por usted para extraer los datos de audio.
La búsqueda requiere configuración adicional. Si los usuarios necesitan desplazarse por el contenido de audio, habilite la función video seeking. La búsqueda en video lee los metadatos del archivo para determinar su longitud total, lo que permite la búsqueda basada en posición.
Tamaño del encabezado de caja MP4
Si un archivo MP4 no se procesa correctamente con la función de extracción de audio, es posible que la caja mdat del archivo utilice un encabezado extendido de 16 bytes, el cual no es compatible con esta función. Utilice esta sección para comprender los tamaños de encabezado de caja y comprobar si sus archivos son compatibles.
Acerca de los encabezados de caja MP4
Un archivo MP4 consta de varias cajas (unidades contenedoras), como la caja moov y la caja mdat. Cada caja contiene un encabezado que describe su tamaño y tipo. Existen dos formatos de encabezado:
|
Formato |
Tamaño del encabezado |
Descripción |
|
Encabezado estándar |
8 bytes (32 bits) |
Contiene un campo de tamaño (4 bytes) y un campo de tipo de caja (4 bytes). El campo de tamaño almacena el tamaño real de la caja. Se usa cuando el tamaño de la caja cabe en 4 bytes. |
|
Encabezado extendido |
16 bytes (64 bits) |
Contiene un campo de tamaño (4 bytes, con valor fijo de 1), un campo de tipo de caja (4 bytes) y un campo largesize (8 bytes). Cuando el campo de tamaño es igual a 1, se activa el mecanismo largesize y el tamaño real de la caja se almacena en dicho campo. Es común en cajas mdat con grandes volúmenes de datos. |
Comprobar el tamaño del encabezado de caja de un archivo MP4
Puede utilizar las siguientes herramientas para comprobar el tamaño del encabezado de caja de un archivo MP4.
Método 1: Usar la herramienta en línea MP4Box.js (recomendado)
Cargue su archivo MP4.
En el árbol Box View del lado izquierdo, haga clic en mdat (MediaDataBox).
-
En el Box Property View del lado derecho, consulte el campo
original_sizepara determinar el tamaño del encabezado:Si
original_sizees 1: El tamaño del encabezado de la caja mdat es de 16 bytes. La extracción de audio no es compatible.Si
original_sizeno se muestra o no es 1: El tamaño del encabezado de la caja mdat es de 8 bytes. La extracción de audio es compatible.
La siguiente tabla compara las propiedades de ambos escenarios:
|
Propiedad |
Tamaño del encabezado = 8 bytes (compatible) |
Tamaño del encabezado = 16 bytes (no compatible) |
|
size |
Valor de tamaño real |
Valor de tamaño real |
|
box_name |
MediaDataBox |
MediaDataBox |
|
start |
Desplazamiento en bytes |
Desplazamiento en bytes |
|
original_size |
No se muestra |
Se muestra como 1 |
Método 2: Usar la herramienta de línea de comandos Bento4
Ejecute el siguiente comando:
./mp4dump your-file.mp4 | grep -E "\[mdat\]|\[moov\]"
Interprete la salida:
[mdat] size=8+xxxxxx: El tamaño del encabezado es de 8 bytes. La extracción de audio es compatible.[mdat] size=16+xxxxxx: El tamaño del encabezado es de 16 bytes. La extracción de audio no es compatible.
Limitación de tamaño de encabezado para extracción de audio
La extracción de audio solo admite archivos MP4 cuya caja mdat utiliza un encabezado estándar de 8 bytes. No se admiten archivos cuya caja mdat utiliza un encabezado extendido de 16 bytes (mecanismo largesize).
|
Escenario de archivo MP4 |
Tamaño del encabezado |
Extracción de audio |
|
La caja mdat usa un encabezado estándar |
8 bytes |
Compatible |
|
La caja mdat usa un encabezado extendido de gran tamaño |
16 bytes |
No compatible |
Esta limitación aplica principalmente a la caja mdat, que almacena los datos multimedia sin procesar. Otras cajas, como moov, suelen usar el encabezado predeterminado de 8 bytes y no se ven afectadas por esta limitación.