Feature request: use ffmpeg's `-ac` flag for downmixing

package main

import (
        "os"
        "regexp"
        "syscall"
)

var oclRe = regexp.MustCompile(":rematrix_maxval=[^:]+:")

func rewriteArgs(args []string) []string {
        r := []string{args[0]}
        for i := 1; i < len(args); i++ {
                switch {
                case args[i] == "-filter_complex":
                        i++
                        m := oclRe.FindStringSubmatchIndex(args[i])
                        if len(m) >= 2 {
                                r = append(r, args[i-1], args[i][0:m[0]]+args[i][m[1]-1:])
                        } else {
                                r = append(r, args[i-1], args[i])
                        }
                default:
                        r = append(r, args[i])
                }
        }
        return r
}

func main() {
        args := rewriteArgs(os.Args)
        syscall.Exec(args[0]+"_org", args, os.Environ())
}
1 Like