Uma maneira “correta” de extrair áudio AAC de um arquivo MP4?

0

Eu uso o Linux (Kubuntu 16.04), e eu tenho alguns arquivos .MP4 com faixas de áudio, que eu quero extrair, salvar como arquivos .AAC / .M4A e tags.

Agora, estou fazendo a extração usando

MP4Box -raw $track_index my_file.mp4

onde o índice da faixa pode ser 0, 1, 2 etc. Isso funciona, já que eu posso reproduzir o resultado em vários media players ... mas - realmente?

Alguém que olhou meus arquivos me disse:

the "ftyp" field is missing from the head of the file, which would identify it as an MPEG 4 container. There are also no "mdat" fields, which would indicate individual chunks of data inside an MPEG 4 container.

e isso dificulta que certos aplicativos funcionem com meus arquivos extraídos. Especificamente, marcar aplicativos ... que se recusam a criar tags para ele.

O que posso fazer para obter estruturas M4A / AAC com estruturas adequadas e tags? (Estou procurando uma solução de linha de comando naturalmente.)

    
por einpoklum 04.12.2016 / 17:51

1 resposta

1

Não use "raw". Use 'single'. Em seguida, altere a extensão para .m4a.

Da documentação do MP4Box:

-single TrackID : extracts track in a new MP4 with a single track.

Eu peguei um MP4 aleatório e extraí o áudio usando essas duas opções. Então eu usei o Media Info para inspecioná-los. A saída da opção raw tinha um formato de arquivo de ADTS, enquanto a saída de uma única opção era MPEG-4.

Parece que -raw produz um arquivo de fluxo de transporte, que não suporta metadados, como tags. Quando eu uso o aplicativo Tagger, ele nem vê o arquivo de saída do -raw, enquanto ele permite que eu abra a saída -single e edite tags para ele.

link

    
por 09.12.2016 / 17:58