voaac-go/README.md

62 lines
950 B
Markdown
Raw Permalink Normal View History

2018-03-06 03:50:55 +00:00
## aac-go
2018-03-06 12:43:56 +00:00
`aac-go` provides AAC codec encoder based on [VisualOn AAC encoder](https://github.com/mstorsjo/vo-aacenc) library.
2018-03-06 03:50:55 +00:00
2018-03-06 12:41:47 +00:00
### Usage
2018-03-06 03:50:55 +00:00
```go
package main
import (
"bytes"
"io/ioutil"
"os"
"git.gammaspectra.live/S.O.N.G/voaac-go"
2018-03-06 03:50:55 +00:00
"github.com/youpy/go-wav"
)
func main() {
file, err := os.Open("test.wav")
if err != nil {
panic(err)
}
wreader := wav.NewReader(file)
f, err := wreader.Format()
if err != nil {
panic(err)
}
buf := bytes.NewBuffer(make([]byte, 0))
opts := &aac.Options{}
opts.SampleRate = int(f.SampleRate)
opts.NumChannels = int(f.NumChannels)
enc, err := aac.NewEncoder(buf, opts)
if err != nil {
panic(err)
}
err = enc.Encode(wreader)
if err != nil {
panic(err)
}
err = enc.Close()
if err != nil {
panic(err)
}
err = ioutil.WriteFile("test.aac", buf.Bytes(), 0644)
if err != nil {
panic(err)
}
}
```
## More
For H.264 encoder see [x264-go](https://github.com/gen2brain/x264-go).