Golang Transcoding Library
Features
- Ease use
- Implement your own business logic around easy interfaces
- Transcoding progress
- Obtain progress events generated by transcoding application process
Download from Github
go get github.com/floostack/transcoder
Example
package main
import (
"log"
ffmpeg "github.com/floostack/transcoder/ffmpeg"
)
func main() {
format := "mp4"
overwrite := true
opts := ffmpeg.Options{
OutputFormat: &format,
Overwrite: &overwrite,
}
ffmpegConf := &ffmpeg.Config{
FfmpegBinPath: "/usr/local/bin/ffmpeg",
FfprobeBinPath: "/usr/local/bin/ffprobe",
ProgressEnabled: true,
}
progress, err := ffmpeg.
New(ffmpegConf).
Input("/tmp/avi").
Output("/tmp/mp4").
WithOptions(opts).
Start(opts)
if err != nil {
log.Fatal(err)
}
for msg := range progress {
log.Printf("%+v", msg)
}
}