Como codificar arquivos FLAC em MP3 e outros arquivos como o AAC?

6

Meu problema é gravações muito longas, mais longas que as suportadas pelo WAV. Estou falando de gravações contínuas de cerca de oito horas de duração.

Agora, faço a maioria das minhas gravações usando o sox no FLAC, o que faz mais sentido, já que elas são gravações ao vivo de um placa de som externa.

Agora, gostaria de codificar isso em MP3 ou em AAC (em um contêiner MP4).

A única maneira que eu consegui fazer isso, é usar o FFmpeg, mas na verdade eu prefiro usar um aplicativo de codificador como lame , ou neroaacenc .

Agora, eu estava fazendo isso sempre que possível, mas estava usando o WAV como um desvio. Eu estava decodificando o FLAC em WAV e depois codificando o WAV no produto final. Mas como eu disse, não funciona para gravações de um certo tamanho.

Agora, minha ideia era usar pipes e forçar a decodificação em RAW e, em seguida, codificá-los no formato de destino.

Eu preciso de ajuda com isso. Alguém poderia, por favor, me fornecer alguns exemplos de como decodificar um arquivo FLAC e codificá-lo em MP3 usando lame ao enviar dados RAW?

    
por polemon 01.05.2012 / 15:06

2 respostas

7

Você deve tentar algo como:

flac -c -d -force-raw-format --endian=little --signed=unsigned input.flac | \
  lame -r --little-endian --unsigned \
       -s 44.1 [other encoding options here] - output.mp3

No lado flac :

  • -c significa saída para stdout
  • -d decode
  • -force-raw-format --endian=little --signed=unsigned força RAW, little-endian, saída não assinada

No lado lame :

  • - lido de stdin (isto é quase normal)
  • -r leu dados pcm RAW
  • --little-endian --unsigned corresponde ao que as saídas lame
  • -s frequency: corresponde a esse parâmetro com o que seu arquivo flac contém
  • Você pode precisar de --bitwidth se seu arquivo flac não for 16bits / sample

Em relação ao endian-ness e ao signed-ness, não tenho certeza de qual é o formato "nativo" que você tem (ou como determinar isso) - tente algumas combinações. Contanto que eles combinem em ambos os lados do tubo, escolher o errado só deve custar tempo de CPU.

    
por 01.05.2012 / 15:26
0

Considere o uso de mp3fs . Este daemon do Sistema de Arquivos do Espaço do Usuário cria uma visualização em seu sistema de arquivos onde os arquivos flac são apresentados como mp3. Uma vez instalado, você pode ter, por exemplo. seu media player lê diretamente daquele sistema de arquivos, mesmo que os mp3 não existam fisicamente. Além disso, você pode simplesmente copiar arquivos desse sistema de arquivos por exemplo. você mp3 player.

    
por 18.02.2014 / 12:20