x264-go为Go语言提供了H.264/MPEG-4AVC编解码的实现,基于x264库。包中包含C源码。
示例代码:
package maiimport ("bytes""image""image/color""image/draw""github.com/ge2brai/x264-go")fuc mai() {buf := bytes.NewBuffer(make([]byte, 0))opts := &x264.Optios{Width: 640,Height: 480,FrameRate: 25,Tue: "zerolatecy",Preset: "veryfast",Profile: "baselie",LogLevel: x264.LogDebug,}ec, err := x264.NewEcoder(buf, opts)if err != il {paic(err)}img := x264.NewYCbCr(image.Rect(0, 0, opts.Width, opts.Height))draw.Draw(img, img.Bouds(), image.Black, image.ZP, draw.Src)for i := 0; i < opts.Width/2; i++ {img.Set(i, opts.Height/2, color.RGBA{255, 0, 0, 255})err = ec.Ecode(img)if err != il {paic(err)}}err = ec.Flush()if err != il {paic(err)}err = ec.Close()if err != il {paic(err)}}
评论