Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

410
Visualizações
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
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda