diff --git a/.gitignore b/.gitignore index 31e3ac6..4b43257 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ vendor/ .idea +config.hjson +device.json +codec/ +data/ +logs/ \ No newline at end of file diff --git a/coolq/cqcode.go b/coolq/cqcode.go index 16cd7d5..ba472ff 100644 --- a/coolq/cqcode.go +++ b/coolq/cqcode.go @@ -605,7 +605,6 @@ func (bot *CQBot) ToElement(t string, d map[string]string, group bool) (m interf } }() data, err := bot.Client.GetTts(d["text"]) - ioutil.WriteFile("tts.silk", data, 777) if err != nil { return nil, err } @@ -620,7 +619,7 @@ func (bot *CQBot) ToElement(t string, d map[string]string, group bool) (m interf return nil, err } if !global.IsAMRorSILK(data) { - data, err = global.Encoder(data) + data, err = global.EncoderSilk(data) if err != nil { return nil, err } diff --git a/global/codec.go b/global/codec.go index 90d51b4..346166c 100644 --- a/global/codec.go +++ b/global/codec.go @@ -7,6 +7,7 @@ import ( "github.com/Mrs4s/go-cqhttp/global/codec" log "github.com/sirupsen/logrus" "io/ioutil" + "os/exec" "path" ) @@ -21,7 +22,7 @@ func InitCodec() { } } -func Encoder(data []byte) ([]byte, error) { +func EncoderSilk(data []byte) ([]byte, error) { if useSilkCodec == false { return nil, errors.New("no silk encoder") } @@ -37,3 +38,13 @@ func Encoder(data []byte) ([]byte, error) { } return slk, nil } + +func EncodeMP4(src string, dst string) error { + cmd := exec.Command("ffmpeg", "-i", src, "-c", "copy", "-map", "0", dst) + return cmd.Run() +} + +func ExtractCover(src string, dst string) error { + cmd := exec.Command("ffmpeg", "-i", src, "-y", "-r", "1", "-f", "image2", dst) + return cmd.Run() +}