From 8ee57655df761bab537d05e825e53895243c528f Mon Sep 17 00:00:00 2001 From: Christian Pointner <equinox@helsinki.at> Date: Fri, 31 Aug 2018 22:44:57 +0200 Subject: [PATCH] improved ffmpeg based fetch converter --- importer/fetch_converter.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/importer/fetch_converter.go b/importer/fetch_converter.go index a925316..86d8158 100644 --- a/importer/fetch_converter.go +++ b/importer/fetch_converter.go @@ -103,11 +103,16 @@ func newFFmpegConverter(job *Job) (c *ffmpegConverter, err error) { filename := job.im.store.GetFilePath(job.Group, job.ID) job.im.dbgLog.Printf("ffmpeg-converter: starting ffmpeg for file '%s'", filename) - // c.cmd = exec.CommandContext(job.ctx, "ffmpeg", "-hide_banner", "-nostats", "-i", "-", "-map_metadata", "0") - c.cmd = exec.CommandContext(job.ctx, "ffmpeg", "-nostats", "-i", "-", "-map_metadata", "0") - c.cmd.Args = append(c.cmd.Args, "-filter:a", "loudnorm=print_format=summary:dual_mono=true") + // c.cmd = exec.CommandContext(job.ctx, "ffmpeg", "-hide_banner", "-nostats", "-i", "-") + c.cmd = exec.CommandContext(job.ctx, "ffmpeg", "-nostats", "-y", "-i", "-") + c.cmd.Args = append(c.cmd.Args, "-map_metadata", "0", "-vn") c.cmd.Args = append(c.cmd.Args, "-ar", strconv.FormatUint(uint64(job.im.store.Audio.SampleRate), 10)) c.cmd.Args = append(c.cmd.Args, "-f", job.im.store.Audio.Format.String(), filename) + // loudness normalization, see: http://k.ylo.ph/2016/04/04/loudnorm.html + c.cmd.Args = append(c.cmd.Args, "-map_metadata", "-1", "-vn") + c.cmd.Args = append(c.cmd.Args, "-ar", "192k") + c.cmd.Args = append(c.cmd.Args, "-filter:a", "loudnorm=print_format=json:dual_mono=true") + c.cmd.Args = append(c.cmd.Args, "-f", "null", "/dev/null") if c.stdin, err = c.cmd.StdinPipe(); err != nil { c.log.Append("ERROR opening stdin pipe: " + err.Error()) -- GitLab