NodeJs — Otimizando Tamanho de Arquivos Wav
Olá Gente!
Utilizar arquivos em WAV gera alta compatibilidade, porem, é um arquivo muito pesado.
Para ajudar a reduzir o tamanho, podemos utilizar o ffmpeg.
O que iremos fazer é alterar algumas especificações do arquivo Wav:
- Taxa de Bits: 128 kbps
- Canais: 1 (Mono)
- Taxa de Amostragem: 12000 Hz
Isto ira gerar um arquivo de boa qualidade, com uma redução de tamanho significativa.
Utilizando o ffmpeg:
ffmpeg -i input.wav -b:a 128k -ar 12000 -ac 1 output.mp3Porem, podemos otimizar isto, para isto, criei uma API em NodeJs utilizando o ”express”:
Para utilizar, basta enviar um POST para o endpoint da API “http://127.0.0.1:9000/gerar” enviando Json no Body:
{
"arquivo": "https://www.meusite.com.br/audio.wav"
}Aqui precisamos apenas preencher a variável “arquivo” com a url pública do arquivo Wav.
O retorno em caso de Falha é um HttpCode 500 e a mensagem de erro:
{
"Msg": "Url nao informada"
}Em caso de Sucesso é um HttpCode 200, será retornado o arquivo em base64 e a comparação do tamanho Antes/Depois:
{
"TamanhoOrigem": "1016 KB",
"TamanhoResultado": "254 KB",
"Arquivo": "UklGRkb4AwBXQVZFZm10IBAAAAABAAEA4C4AAMBdAAACABAATElTVBoAAABJTkZPSVNGVA0AAABMYXZmNjA"
}Você pode incluir autenticação para maior segurança também!
E assim terminamos, pessoal! 👩💼
Até a próxima! 👋
Leia também
API Mágica: CEP e Pix de graça, sem cartão
Lancei a API Mágica: CEP, QR Code Pix, geradores e mais, de graça. Veja como consultar e gerar com Node.js em poucas linhas.
Resend: enviando e recebendo e-mails com Node.js
Tutorial da Resend com Node.js: criar a chave, enviar com fetch, verificar o domínio e receber e-mails por webhook conferindo a assinatura.
Node.js: testando scripts de scraping no ScrapingCourse
O ScrapingCourse é um site feito para treinar scraping. Cinco desafios dele em Node.js, e a armadilha real que cada um esconde.