feat: improve audio conversion with enhanced ffmpeg parameters

- Updated Dockerfile to use Go 1.22
- Refined audio conversion parameters for mp3 and mp4 formats
  - Added specific sample rate, channels, and bitrate settings
  - Used libmp3lame codec for mp3 conversion
  - Improved mp4 audio extraction configuration
This commit is contained in:
Davidson Gomes 2025-02-11 18:36:29 -03:00
parent 5f3a073d76
commit 3feb0c7e1b
2 changed files with 9 additions and 3 deletions

View File

@ -1,5 +1,5 @@
# Usar uma imagem base do Go # Usar uma imagem base do Go
FROM golang:1.21-alpine FROM golang:1.22-alpine
# Instalar ffmpeg # Instalar ffmpeg
RUN apk update && apk add --no-cache ffmpeg RUN apk update && apk add --no-cache ffmpeg

10
main.go
View File

@ -161,9 +161,15 @@ func convertAudio(inputData []byte, format string) ([]byte, int, error) {
var cmd *exec.Cmd var cmd *exec.Cmd
switch format { switch format {
case "mp3": case "mp3":
cmd = exec.Command("ffmpeg", "-i", "pipe:0", "-f", "mp3", "pipe:1") cmd = exec.Command("ffmpeg", "-i", "pipe:0",
"-ar", "44100", // sample rate
"-ac", "2", // canais (stereo)
"-b:a", "128k", // bitrate
"-c:a", "libmp3lame", // codec específico
"-f", "mp3", // formato
"pipe:1")
case "mp4": case "mp4":
cmd = exec.Command("ffmpeg", "-i", "pipe:0", "-c:a", "aac", "-f", "mp4", "pipe:1") cmd = exec.Command("ffmpeg", "-i", "pipe:0", "-vn", "-c:a", "aac", "-b:a", "128k", "-f", "adts", "pipe:1")
default: default:
cmd = exec.Command("ffmpeg", "-i", "pipe:0", "-ac", "1", "-ar", "16000", "-c:a", "libopus", "-f", "ogg", "pipe:1") cmd = exec.Command("ffmpeg", "-i", "pipe:0", "-ac", "1", "-ar", "16000", "-c:a", "libopus", "-f", "ogg", "pipe:1")
} }