package main import ( "fmt" ffmpeg "github.com/u2takey/ffmpeg-go" ) func buildFFmpegCall(ut *Utterance) string { return fmt.Sprintf( `yes no | ffmpeg -i "%s" -ss %s -to %s \ -metadata text_source="%s" \ -ar 22050 "%s"`, ut.FD.AudioPath, ut.LeftTime, ut.RightTime, ut.FD.VttPath, ut.OutPath, ) } func cutoutClipAndTranscode(ut *Utterance) error { err := ffmpeg.Input(ut.FD.AudioPath, ffmpeg.KwArgs{ "ss": ut.LeftTime, "to": ut.RightTime, }, ).Output(ut.OutPath, ffmpeg.KwArgs{ // "ar": "22050", "metadata": fmt.Sprintf(`source="%s"`, ut.FD.VttPath), }).OverWriteOutput().ErrorToStdOut().Run() return err } func cutOnEqualParts(filepath, outname, segment string) error { err := ffmpeg.Input(filepath). Output(outname+"_%02d.opus", ffmpeg.KwArgs{ "c": "copy", "map": 0, "segment_time": segment, "f": "segment", "reset_timestamps": 1, }). OverWriteOutput().ErrorToStdOut().Run() return err }