Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

411
Views
Navegador JS: ¿Cómo extraer datos de audio aac de un archivo mp4?

Usando JavaScript del navegador, necesito cargar archivos mp4 que contengan datos de audio AAC y extraer estos datos de audio para usarlos más adelante.

Hay un bloque mdat en el archivo mp4 que (según tengo entendido) contiene los datos aac incrustados, pero simplemente extraer el contenido de ese bloque mdata no parece darme datos aac válidos.

Entonces, ¿cuál es la forma más sencilla de, en el navegador, obtener datos de audio aac incrustados de un archivo contenedor mp4?

Editar:

Al profundizar en esto, usando un análisis de archivos hexadecimales, se revela la razón por la cual falla la decodificación de aac cuando solo se toman los datos del bloque mdat:

Como se ve en la siguiente ilustración, donde se compara la estructura de archivo de un archivo ejemplo.aac y un archivo ejemplo.mp4 que contienen los mismos datos de audio, existe una clara diferencia en la forma en que se almacenan los datos:

En los datos aac originales, los fragmentos de datos de audio comprimidos se separan con cadenas de algo así como FF F1 4C 80 ** ** FC (rojo en la ilustración). En la versión mp4 , exactamente los mismos datos (verde en la ilustración) no tienen esta separación.

ingrese la descripción de la imagen aquí

Para resolver mi caso, tengo que trabajar al revés, supongo: tomar los datos comprimidos "no separados" del archivo .mp4 e "inyectar" la cadena de separación para que los decodificadores aac lo reconozcan como válido...

Entonces, ¿alguien sabe dónde encontrar información sobre esta "cadena de separación de datos aac" y cómo inyectarla en el navegador en los datos mp4, lo que da como resultado un bloque de archivo aac válido?

Edit2:

Investigaciones posteriores muestran que .mp4 almacena los datos aac como "aac raw" , sin encabezados ADTS de 7 bytes que separan los cuadros de audio comprimidos.

El script mp4.js de Syu Kato ( https://github.com/ukyo/mp4.js ) tiene un extractRawAudio(mp4DataAsUInt8Array) que puede extraer los datos aac sin procesar e inyectar los encabezados de marco necesarios, lo que me resuelve el problema.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!